mesa: add EXT_dsa EnableVertexArrayAttribEXT / DisableVertexArrayAttribEXT

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Pierre-Eric Pelloux-Prayer
2019-10-25 16:11:21 +02:00
parent f793a8663d
commit 5adeff8033
5 changed files with 50 additions and 2 deletions
@@ -1160,6 +1160,16 @@
<param name="array" type="GLenum" />
</function>
<function name="EnableVertexArrayAttribEXT">
<param name="vaobj" type="GLuint" />
<param name="index" type="GLuint" />
</function>
<function name="DisableVertexArrayAttribEXT">
<param name="vaobj" type="GLuint" />
<param name="index" type="GLuint" />
</function>
<!-- ARB_vertex_program -->
<function name="NamedProgramStringEXT">
<param name="program" type="GLuint" />
+2
View File
@@ -1610,6 +1610,8 @@ offsets = {
"VertexArrayVertexAttribIOffsetEXT": 1574,
"EnableVertexArrayEXT": 1575,
"DisableVertexArrayEXT": 1576,
"EnableVertexArrayAttribEXT": 1577,
"DisableVertexArrayAttribEXT": 1578,
}
functions = [
+2 -2
View File
@@ -1182,8 +1182,8 @@ const struct function common_desktop_functions_possible[] = {
{ "glVertexArrayVertexAttribIOffsetEXT", 30, -1 },
{ "glEnableVertexArrayEXT", 30, -1 },
{ "glDisableVertexArrayEXT", 30, -1 },
//{ "glEnableVertexArrayAttribEXT", 30, -1 },
//{ "glDisableVertexArrayAttribEXT", 30, -1 },
{ "glEnableVertexArrayAttribEXT", 30, -1 },
{ "glDisableVertexArrayAttribEXT", 30, -1 },
//{ "glGetVertexArrayIntegervEXT", 30, -1 },
//{ "glGetVertexArrayPointervEXT", 30, -1 },
//{ "glGetVertexArrayIntegeri_vEXT", 30, -1 },
+32
View File
@@ -1612,6 +1612,19 @@ _mesa_EnableVertexArrayAttrib(GLuint vaobj, GLuint index)
enable_vertex_array_attrib(ctx, vao, index, "glEnableVertexArrayAttrib");
}
void GLAPIENTRY
_mesa_EnableVertexArrayAttribEXT(GLuint vaobj, GLuint index)
{
GET_CURRENT_CONTEXT(ctx);
struct gl_vertex_array_object* vao = _mesa_lookup_vao_err(ctx, vaobj,
true,
"glEnableVertexArrayAttribEXT");
if (!vao)
return;
enable_vertex_array_attrib(ctx, vao, index, "glEnableVertexArrayAttribEXT");
}
void GLAPIENTRY
_mesa_EnableVertexArrayAttrib_no_error(GLuint vaobj, GLuint index)
@@ -1694,6 +1707,25 @@ _mesa_DisableVertexArrayAttrib(GLuint vaobj, GLuint index)
_mesa_disable_vertex_array_attrib(ctx, vao, attrib);
}
void GLAPIENTRY
_mesa_DisableVertexArrayAttribEXT(GLuint vaobj, GLuint index)
{
GET_CURRENT_CONTEXT(ctx);
struct gl_vertex_array_object* vao = _mesa_lookup_vao_err(ctx, vaobj,
true,
"glEnableVertexArrayAttribEXT");
if (!vao)
return;
if (index >= ctx->Const.Program[MESA_SHADER_VERTEX].MaxAttribs) {
_mesa_error(ctx, GL_INVALID_VALUE, "glDisableVertexArrayAttrib(index)");
return;
}
const gl_vert_attrib attrib = VERT_ATTRIB_GENERIC(index);
_mesa_disable_vertex_array_attrib(ctx, vao, attrib);
}
void GLAPIENTRY
_mesa_DisableVertexArrayAttrib_no_error(GLuint vaobj, GLuint index)
+4
View File
@@ -238,6 +238,8 @@ _mesa_EnableVertexArrayAttrib(GLuint vaobj, GLuint index);
extern void GLAPIENTRY
_mesa_EnableVertexArrayAttrib_no_error(GLuint vaobj, GLuint index);
extern void GLAPIENTRY
_mesa_EnableVertexArrayAttribEXT( GLuint vaobj, GLuint index );
extern void GLAPIENTRY
@@ -253,6 +255,8 @@ _mesa_DisableVertexArrayAttrib(GLuint vaobj, GLuint index);
extern void GLAPIENTRY
_mesa_DisableVertexArrayAttrib_no_error(GLuint vaobj, GLuint index);
extern void GLAPIENTRY
_mesa_DisableVertexArrayAttribEXT( GLuint vaobj, GLuint index );
extern void GLAPIENTRY
_mesa_GetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);