summaryrefslogtreecommitdiff
path: root/src/mesa/main/texparam.c
diff options
context:
space:
mode:
authorPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>2019-04-30 13:44:57 +0200
committerMarek Olšák <marek.olsak@amd.com>2019-08-06 17:03:12 -0400
commitd9e26c3483396cc2ab5f9b9bdaf347969a5205d1 (patch)
tree7e1a492134ffd9154ea05916e34a9517c23a8c79 /src/mesa/main/texparam.c
parente04f95057fc6fdf5815815044556a5902211dac5 (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.c87
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)
{