diff options
author | Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> | 2019-04-30 13:44:57 +0200 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2019-08-06 17:03:12 -0400 |
commit | d9e26c3483396cc2ab5f9b9bdaf347969a5205d1 (patch) | |
tree | 7e1a492134ffd9154ea05916e34a9517c23a8c79 /src/mesa/main/texparam.c | |
parent | e04f95057fc6fdf5815815044556a5902211dac5 (diff) |
mesa: add EXT_dsa glMultiTexParameter* functions
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Diffstat (limited to 'src/mesa/main/texparam.c')
-rw-r--r-- | src/mesa/main/texparam.c | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c index 78888b660fa..a61bd57d7d2 100644 --- a/src/mesa/main/texparam.c +++ b/src/mesa/main/texparam.c @@ -1196,6 +1196,27 @@ _mesa_TextureParameterfv(GLuint texture, GLenum pname, const GLfloat *params) } void GLAPIENTRY +_mesa_MultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params) +{ + struct gl_texture_object *texObj; + GET_CURRENT_CONTEXT(ctx); + + texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target, + texunit - GL_TEXTURE0, + false, + "glMultiTexParameterfvEXT"); + if (!texObj) + return; + + if (!is_texparameteri_target_valid(texObj->Target)) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glMultiTexParameterifvEXT(target)"); + return; + } + + _mesa_texture_parameterfv(ctx, texObj, pname, params, true); +} + +void GLAPIENTRY _mesa_TextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param) { struct gl_texture_object *texObj; @@ -1215,6 +1236,28 @@ _mesa_TextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat } void GLAPIENTRY +_mesa_MultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, + GLfloat param) +{ + struct gl_texture_object *texObj; + GET_CURRENT_CONTEXT(ctx); + + texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target, + texunit - GL_TEXTURE0, + false, + "glMultiTexParameterfEXT"); + if (!texObj) + return; + + if (!is_texparameteri_target_valid(texObj->Target)) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glMultiTexParameterfEXT"); + return; + } + + _mesa_texture_parameterf(ctx, texObj, pname, param, true); +} + +void GLAPIENTRY _mesa_TextureParameterf(GLuint texture, GLenum pname, GLfloat param) { struct gl_texture_object *texObj; @@ -1247,6 +1290,28 @@ _mesa_TextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint pa } void GLAPIENTRY +_mesa_MultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, + GLint param) +{ + struct gl_texture_object *texObj; + GET_CURRENT_CONTEXT(ctx); + + texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target, + texunit - GL_TEXTURE0, + false, + "glMultiTexParameteriEXT"); + if (!texObj) + return; + + if (!is_texparameteri_target_valid(texObj->Target)) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glMultiTexParameteriEXT(target)"); + return; + } + + _mesa_texture_parameteri(ctx, texObj, pname, param, true); +} + +void GLAPIENTRY _mesa_TextureParameteri(GLuint texture, GLenum pname, GLint param) { struct gl_texture_object *texObj; @@ -1280,6 +1345,28 @@ _mesa_TextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, } void GLAPIENTRY +_mesa_MultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, + const GLint *params) +{ + struct gl_texture_object *texObj; + GET_CURRENT_CONTEXT(ctx); + + texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target, + texunit - GL_TEXTURE0, + false, + "glMultiTexParameterivEXT"); + if (!texObj) + return; + + if (!is_texparameteri_target_valid(texObj->Target)) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glMultiTexParameterivEXT(target)"); + return; + } + + _mesa_texture_parameteriv(ctx, texObj, pname, params, true); +} + +void GLAPIENTRY _mesa_TextureParameteriv(GLuint texture, GLenum pname, const GLint *params) { |