summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2017-06-26 15:35:10 +0200
committerSamuel Pitoiset <[email protected]>2017-06-28 10:25:13 +0200
commit401fa6913283abd313b40fecc47995f6d986f5ad (patch)
tree46aeb77378c73cab60474dcedd131960f39e2b18
parentedd50828618ed2efe799013c2723d67c407d86b4 (diff)
mesa: add KHR_no_error support for glShaderStorageBlockBinding()
Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
-rw-r--r--src/mapi/glapi/gen/ARB_shader_storage_buffer_object.xml2
-rw-r--r--src/mesa/main/uniforms.c12
-rw-r--r--src/mesa/main/uniforms.h6
3 files changed, 19 insertions, 1 deletions
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,