[Mesa-dev] [PATCH 35/42] mesa: add KHR_no_error support for glShaderStorageBlockBinding()

Samuel Pitoiset samuel.pitoiset at gmail.com
Tue Jun 27 11:20:38 UTC 2017


Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/mapi/glapi/gen/ARB_shader_storage_buffer_object.xml |  2 +-
 src/mesa/main/uniforms.c                                | 12 ++++++++++++
 src/mesa/main/uniforms.h                                |  6 ++++++
 3 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/src/mapi/glapi/gen/ARB_shader_storage_buffer_object.xml b/src/mapi/glapi/gen/ARB_shader_storage_buffer_object.xml
index 6901bdf6d0e..4d228822793 100644
--- a/src/mapi/glapi/gen/ARB_shader_storage_buffer_object.xml
+++ b/src/mapi/glapi/gen/ARB_shader_storage_buffer_object.xml
@@ -25,7 +25,7 @@
 <!-- Duplicated with GL3x.xml: BindBufferRange, BindBufferBase,
      GetIntegeri_v -->
 
-<function name="ShaderStorageBlockBinding">
+<function name="ShaderStorageBlockBinding" no_error="true">
     <param name="program" type="GLuint" />
     <param name="shaderStorageBlockIndex" type="GLuint" />
     <param name="shaderStorageBlockBinding" type="GLuint" />
diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c
index 28f530c4f68..194f64a3b2c 100644
--- a/src/mesa/main/uniforms.c
+++ b/src/mesa/main/uniforms.c
@@ -1163,6 +1163,18 @@ shader_storage_block_binding(struct gl_context *ctx,
 }
 
 void GLAPIENTRY
+_mesa_ShaderStorageBlockBinding_no_error(GLuint program,
+                                         GLuint shaderStorageBlockIndex,
+                                         GLuint shaderStorageBlockBinding)
+{
+   GET_CURRENT_CONTEXT(ctx);
+
+   struct gl_shader_program *shProg = _mesa_lookup_shader_program(ctx, program);
+   shader_storage_block_binding(ctx, shProg, shaderStorageBlockIndex,
+                                shaderStorageBlockBinding);
+}
+
+void GLAPIENTRY
 _mesa_ShaderStorageBlockBinding(GLuint program,
 			        GLuint shaderStorageBlockIndex,
 			        GLuint shaderStorageBlockBinding)
diff --git a/src/mesa/main/uniforms.h b/src/mesa/main/uniforms.h
index 098b5d40c0d..1cee90d2a77 100644
--- a/src/mesa/main/uniforms.h
+++ b/src/mesa/main/uniforms.h
@@ -241,6 +241,12 @@ void GLAPIENTRY
 _mesa_UniformBlockBinding(GLuint program,
 			  GLuint uniformBlockIndex,
 			  GLuint uniformBlockBinding);
+
+void GLAPIENTRY
+_mesa_ShaderStorageBlockBinding_no_error(GLuint program,
+                                         GLuint shaderStorageBlockIndex,
+                                         GLuint shaderStorageBlockBinding);
+
 void GLAPIENTRY
 _mesa_ShaderStorageBlockBinding(GLuint program,
                                 GLuint shaderStorageBlockIndex,
-- 
2.13.2



More information about the mesa-dev mailing list