Mesa (master): mesa: add KHR_no_error support for glBindFragDataLocation*( )

Timothy Arceri tarceri at kemper.freedesktop.org
Wed Jun 28 22:54:33 UTC 2017


Module: Mesa
Branch: master
Commit: 87bc32166afc00dedd1e95b1e11ceef26a994fe0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=87bc32166afc00dedd1e95b1e11ceef26a994fe0

Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Wed Jun 28 14:46:06 2017 +1000

mesa: add KHR_no_error support for glBindFragDataLocation*()

Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>

---

 src/mapi/glapi/gen/ARB_blend_func_extended.xml |  2 +-
 src/mapi/glapi/gen/GL3x.xml                    |  2 +-
 src/mesa/main/shader_query.cpp                 | 30 ++++++++++++++++++++++++++
 src/mesa/main/shaderapi.h                      |  8 +++++++
 4 files changed, 40 insertions(+), 2 deletions(-)

diff --git a/src/mapi/glapi/gen/ARB_blend_func_extended.xml b/src/mapi/glapi/gen/ARB_blend_func_extended.xml
index 406140f7dd..10d85a7662 100644
--- a/src/mapi/glapi/gen/ARB_blend_func_extended.xml
+++ b/src/mapi/glapi/gen/ARB_blend_func_extended.xml
@@ -8,7 +8,7 @@
 
 <category name="GL_ARB_blend_func_extended" number="78">
 
-    <function name="BindFragDataLocationIndexed">
+    <function name="BindFragDataLocationIndexed" no_error="true">
         <param name="program" type="GLuint"/>
         <param name="colorNumber" type="GLuint"/>
         <param name="index" type="GLuint"/>
diff --git a/src/mapi/glapi/gen/GL3x.xml b/src/mapi/glapi/gen/GL3x.xml
index f488ba36ae..24490da7e3 100644
--- a/src/mapi/glapi/gen/GL3x.xml
+++ b/src/mapi/glapi/gen/GL3x.xml
@@ -200,7 +200,7 @@
       <return type="GLint"/>
   </function>
 
-  <function name="BindFragDataLocation">
+  <function name="BindFragDataLocation" no_error="true">
     <param name="program" type="GLuint"/>
     <param name="colorNumber" type="GLuint"/>
     <param name="name" type="const GLchar *"/>
diff --git a/src/mesa/main/shader_query.cpp b/src/mesa/main/shader_query.cpp
index 6e373ef641..f2bdcaab12 100644
--- a/src/mesa/main/shader_query.cpp
+++ b/src/mesa/main/shader_query.cpp
@@ -280,6 +280,21 @@ _mesa_BindFragDataLocation(GLuint program, GLuint colorNumber,
 }
 
 void GLAPIENTRY
+_mesa_BindFragDataLocation_no_error(GLuint program, GLuint colorNumber,
+                                    const GLchar *name)
+{
+   GET_CURRENT_CONTEXT(ctx);
+
+   if (!name)
+      return;
+
+   struct gl_shader_program *const shProg =
+      _mesa_lookup_shader_program(ctx, program);
+
+   bind_frag_data_location(shProg, name, colorNumber, 0);
+}
+
+void GLAPIENTRY
 _mesa_BindFragDataLocationIndexed(GLuint program, GLuint colorNumber,
                                   GLuint index, const GLchar *name)
 {
@@ -316,6 +331,21 @@ _mesa_BindFragDataLocationIndexed(GLuint program, GLuint colorNumber,
    bind_frag_data_location(shProg, name, colorNumber, index);
 }
 
+void GLAPIENTRY
+_mesa_BindFragDataLocationIndexed_no_error(GLuint program, GLuint colorNumber,
+                                           GLuint index, const GLchar *name)
+{
+   GET_CURRENT_CONTEXT(ctx);
+
+   if (!name)
+      return;
+
+   struct gl_shader_program *const shProg =
+      _mesa_lookup_shader_program(ctx, program);
+
+   bind_frag_data_location(shProg, name, colorNumber, index);
+}
+
 GLint GLAPIENTRY
 _mesa_GetFragDataIndex(GLuint program, const GLchar *name)
 {
diff --git a/src/mesa/main/shaderapi.h b/src/mesa/main/shaderapi.h
index b2229f7ced..b7ba7ab84a 100644
--- a/src/mesa/main/shaderapi.h
+++ b/src/mesa/main/shaderapi.h
@@ -158,6 +158,14 @@ _mesa_BindFragDataLocationIndexed(GLuint program, GLuint colorNumber,
                                   GLuint index, const GLchar *name);
 
 extern void GLAPIENTRY
+_mesa_BindFragDataLocation_no_error(GLuint program, GLuint colorNumber,
+                                    const GLchar *name);
+
+extern void GLAPIENTRY
+_mesa_BindFragDataLocationIndexed_no_error(GLuint program, GLuint colorNumber,
+                                           GLuint index, const GLchar *name);
+
+extern void GLAPIENTRY
 _mesa_GetActiveAttrib(GLuint, GLuint, GLsizei, GLsizei *, GLint *,
                          GLenum *, GLchar *);
 




More information about the mesa-commit mailing list