diff options
Diffstat (limited to 'src/mesa/main')
-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 |
3 files changed, 38 insertions, 2 deletions
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); |