mesa: add EXT_dsa glGetMultiTexParameteriv/fvEXT

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Pierre-Eric Pelloux-Prayer 2019-04-30 15:15:04 +02:00 committed by Marek Olšák
parent 989c375852
commit f28d9ab1a3
5 changed files with 65 additions and 3 deletions

View file

@ -411,6 +411,20 @@
<param name="param" type="const GLfloat*" />
</function>
<function name="GetMultiTexParameterivEXT">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
<param name="params" type="GLint*" />
</function>
<function name="GetMultiTexParameterfvEXT">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
<param name="params" type="GLfloat*" />
</function>
<function name="GetMultiTexImageEXT">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />

View file

@ -1534,6 +1534,8 @@ offsets = {
"MultiTexSubImage1DEXT": 1498,
"MultiTexSubImage2DEXT": 1499,
"MultiTexSubImage3DEXT": 1500,
"GetMultiTexParameterivEXT": 1501,
"GetMultiTexParameterfvEXT": 1502,
}
functions = [

View file

@ -1085,8 +1085,8 @@ const struct function common_desktop_functions_possible[] = {
//{ "glCopyMultiTexSubImage1DEXT", 12, -1 },
//{ "glCopyMultiTexSubImage2DEXT", 12, -1 },
{ "glGetMultiTexImageEXT", 12, -1 },
//{ "glGetMultiTexParameterfvEXT", 12, -1 },
//{ "glGetMultiTexParameterivEXT", 12, -1 },
{ "glGetMultiTexParameterfvEXT", 12, -1 },
{ "glGetMultiTexParameterivEXT", 12, -1 },
//{ "glGetMultiTexLevelParameterfvEXT", 12, -1 },
//{ "glGetMultiTexLevelParameterivEXT", 12, -1 },
{ "glMultiTexImage3DEXT", 12, -1 },

View file

@ -2597,6 +2597,26 @@ _mesa_GetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfl
get_tex_parameterfv(ctx, texObj, pname, params, true);
}
void GLAPIENTRY
_mesa_GetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, 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,
"glGetMultiTexParameterfvEXT");
if (!texObj)
return;
if (!is_texparameteri_target_valid(texObj->Target)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetMultiTexParameterfvEXT");
return;
}
get_tex_parameterfv(ctx, texObj, pname, params, true);
}
void GLAPIENTRY
_mesa_GetTextureParameterfv(GLuint texture, GLenum pname, GLfloat *params)
{
@ -2626,7 +2646,27 @@ _mesa_GetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLin
return;
}
get_tex_parameteriv(ctx, texObj, pname, params, true);
}
}
void GLAPIENTRY
_mesa_GetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, 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,
"glGetMultiTexParameterivEXT");
if (!texObj)
return;
if (!is_texparameteri_target_valid(texObj->Target)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetMultiTexParameterivEXT");
return;
}
get_tex_parameteriv(ctx, texObj, pname, params, true);
}
void GLAPIENTRY
_mesa_GetTextureParameteriv(GLuint texture, GLenum pname, GLint *params)

View file

@ -197,4 +197,10 @@ _mesa_MultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint p
extern void GLAPIENTRY
_mesa_MultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params);
extern void GLAPIENTRY
_mesa_GetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
extern void GLAPIENTRY
_mesa_GetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);
#endif /* TEXPARAM_H */