From 89bc3ed7a3c78d7cacb6ea486b708a3a3374fcd8 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 26 Jun 2017 15:50:48 +0200 Subject: [PATCH] mesa: add KHR_no_error support for glVertex*AttribBinding() Signed-off-by: Samuel Pitoiset Reviewed-by: Timothy Arceri --- src/mapi/glapi/gen/ARB_direct_state_access.xml | 2 +- src/mapi/glapi/gen/ARB_vertex_attrib_binding.xml | 2 +- src/mesa/main/varray.c | 23 +++++++++++++++++++++++ src/mesa/main/varray.h | 7 +++++++ 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/mapi/glapi/gen/ARB_direct_state_access.xml b/src/mapi/glapi/gen/ARB_direct_state_access.xml index bd94e8e..6226aa0 100644 --- a/src/mapi/glapi/gen/ARB_direct_state_access.xml +++ b/src/mapi/glapi/gen/ARB_direct_state_access.xml @@ -641,7 +641,7 @@ - + diff --git a/src/mapi/glapi/gen/ARB_vertex_attrib_binding.xml b/src/mapi/glapi/gen/ARB_vertex_attrib_binding.xml index 101c23c..d1f8db9 100644 --- a/src/mapi/glapi/gen/ARB_vertex_attrib_binding.xml +++ b/src/mapi/glapi/gen/ARB_vertex_attrib_binding.xml @@ -36,7 +36,7 @@ - + diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c index a02dbb2..74d96b3 100644 --- a/src/mesa/main/varray.c +++ b/src/mesa/main/varray.c @@ -2576,6 +2576,16 @@ vertex_array_attrib_binding(struct gl_context *ctx, void GLAPIENTRY +_mesa_VertexAttribBinding_no_error(GLuint attribIndex, GLuint bindingIndex) +{ + GET_CURRENT_CONTEXT(ctx); + vertex_attrib_binding(ctx, ctx->Array.VAO, + VERT_ATTRIB_GENERIC(attribIndex), + VERT_ATTRIB_GENERIC(bindingIndex)); +} + + +void GLAPIENTRY _mesa_VertexAttribBinding(GLuint attribIndex, GLuint bindingIndex) { GET_CURRENT_CONTEXT(ctx); @@ -2599,6 +2609,19 @@ _mesa_VertexAttribBinding(GLuint attribIndex, GLuint bindingIndex) void GLAPIENTRY +_mesa_VertexArrayAttribBinding_no_error(GLuint vaobj, GLuint attribIndex, + GLuint bindingIndex) +{ + GET_CURRENT_CONTEXT(ctx); + + struct gl_vertex_array_object *vao = _mesa_lookup_vao(ctx, vaobj); + vertex_attrib_binding(ctx, vao, + VERT_ATTRIB_GENERIC(attribIndex), + VERT_ATTRIB_GENERIC(bindingIndex)); +} + + +void GLAPIENTRY _mesa_VertexArrayAttribBinding(GLuint vaobj, GLuint attribIndex, GLuint bindingIndex) { GET_CURRENT_CONTEXT(ctx); diff --git a/src/mesa/main/varray.h b/src/mesa/main/varray.h index 8525fcc..1dbdbdb 100644 --- a/src/mesa/main/varray.h +++ b/src/mesa/main/varray.h @@ -425,9 +425,16 @@ _mesa_VertexArrayAttribLFormat(GLuint vaobj, GLuint attribIndex, GLint size, GLenum type, GLuint relativeOffset); +void GLAPIENTRY +_mesa_VertexAttribBinding_no_error(GLuint attribIndex, GLuint bindingIndex); + extern void GLAPIENTRY _mesa_VertexAttribBinding(GLuint attribIndex, GLuint bindingIndex); +void GLAPIENTRY +_mesa_VertexArrayAttribBinding_no_error(GLuint vaobj, GLuint attribIndex, + GLuint bindingIndex); + extern void GLAPIENTRY _mesa_VertexArrayAttribBinding(GLuint vaobj, GLuint attribIndex, GLuint bindingIndex); -- 2.7.4