Mesa (master): mesa: GLES specifies restrictions on uniform matrix transpose.

Oliver McFadden omcfadde at kemper.freedesktop.org
Mon May 14 16:14:18 UTC 2012


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

Author: Oliver McFadden <oliver.mcfadden at linux.intel.com>
Date:   Mon May  7 14:15:53 2012 +0300

mesa: GLES specifies restrictions on uniform matrix transpose.

GL_INVALID_VALUE is generated if transpose is not GL_FALSE.

http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform.xml

Signed-off-by: Oliver McFadden <oliver.mcfadden at linux.intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/mesa/main/uniform_query.cpp |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp
index da41ee8..08d330a 100644
--- a/src/mesa/main/uniform_query.cpp
+++ b/src/mesa/main/uniform_query.cpp
@@ -782,6 +782,16 @@ _mesa_uniform_matrix(struct gl_context *ctx, struct gl_shader_program *shProg,
       return;
    }
 
+   /* GL_INVALID_VALUE is generated if `transpose' is not GL_FALSE.
+    * http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform.xml */
+   if (ctx->API == API_OPENGLES || ctx->API == API_OPENGLES2) {
+      if (transpose) {
+	 _mesa_error(ctx, GL_INVALID_VALUE,
+		     "glUniformMatrix(matrix transpose is not GL_FALSE)");
+	 return;
+      }
+   }
+
    if (ctx->Shader.Flags & GLSL_UNIFORMS) {
       log_uniform(values, GLSL_TYPE_FLOAT, components, vectors, count,
 		  bool(transpose), shProg, location, uni);




More information about the mesa-commit mailing list