mesa: add EXT_dsa EnableVertexArrayAttribEXT / DisableVertexArrayAttribEXT

Reviewed-by: default avatarMarek Olšák <marek.olsak@amd.com>
parent f793a866
......@@ -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" />
......
......@@ -1610,6 +1610,8 @@ offsets = {
"VertexArrayVertexAttribIOffsetEXT": 1574,
"EnableVertexArrayEXT": 1575,
"DisableVertexArrayEXT": 1576,
"EnableVertexArrayAttribEXT": 1577,
"DisableVertexArrayAttribEXT": 1578,
}
functions = [
......
......@@ -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 },
......
......@@ -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)
......
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment