diff options
-rw-r--r-- | src/mapi/glapi/gen/EXT_direct_state_access.xml | 10 | ||||
-rw-r--r-- | src/mapi/glapi/gen/static_data.py | 2 | ||||
-rw-r--r-- | src/mesa/main/tests/dispatch_sanity.cpp | 4 | ||||
-rw-r--r-- | src/mesa/main/varray.c | 32 | ||||
-rw-r--r-- | src/mesa/main/varray.h | 4 |
5 files changed, 50 insertions, 2 deletions
diff --git a/src/mapi/glapi/gen/EXT_direct_state_access.xml b/src/mapi/glapi/gen/EXT_direct_state_access.xml index 145d3b92c8e..6c2dcedd645 100644 --- a/src/mapi/glapi/gen/EXT_direct_state_access.xml +++ b/src/mapi/glapi/gen/EXT_direct_state_access.xml @@ -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" /> diff --git a/src/mapi/glapi/gen/static_data.py b/src/mapi/glapi/gen/static_data.py index 28ef42c12aa..0bf2377f739 100644 --- a/src/mapi/glapi/gen/static_data.py +++ b/src/mapi/glapi/gen/static_data.py @@ -1610,6 +1610,8 @@ offsets = { "VertexArrayVertexAttribIOffsetEXT": 1574, "EnableVertexArrayEXT": 1575, "DisableVertexArrayEXT": 1576, + "EnableVertexArrayAttribEXT": 1577, + "DisableVertexArrayAttribEXT": 1578, } functions = [ diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp index c58c2943563..b7629bb1a96 100644 --- a/src/mesa/main/tests/dispatch_sanity.cpp +++ b/src/mesa/main/tests/dispatch_sanity.cpp @@ -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 }, diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c index 1696e7e953e..4b197dba826 100644 --- a/src/mesa/main/varray.c +++ b/src/mesa/main/varray.c @@ -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) diff --git a/src/mesa/main/varray.h b/src/mesa/main/varray.h index 89fc6690330..2955e8bd03f 100644 --- a/src/mesa/main/varray.h +++ b/src/mesa/main/varray.h @@ -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); |