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 --- .../glapi/gen/ARB_direct_state_access.xml | 2 +- .../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 bd94e8e42c5..6226aa0b9d2 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 101c23c53b5..d1f8db90a11 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 a02dbb2fda8..74d96b3212f 100644 --- a/src/mesa/main/varray.c +++ b/src/mesa/main/varray.c @@ -2575,6 +2575,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) { @@ -2598,6 +2608,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) { diff --git a/src/mesa/main/varray.h b/src/mesa/main/varray.h index 8525fcc181e..1dbdbdb5059 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.30.2