Mesa (glsl2): glsl2: Store the gl_type of the array' s element type in the array.

Eric Anholt anholt at kemper.freedesktop.org
Mon Jul 12 21:08:07 UTC 2010


Module: Mesa
Branch: glsl2
Commit: 288733f6001a2148d6689587d9a05e6909e88a61
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=288733f6001a2148d6689587d9a05e6909e88a61

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Jul 12 14:02:59 2010 -0700

glsl2: Store the gl_type of the array's element type in the array.

Fixes glsl-fs-uniform-array-1, glsl-vs-uniform-array-1, and the -2
tests on software.

---

 src/glsl/glsl_types.cpp |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/glsl/glsl_types.cpp b/src/glsl/glsl_types.cpp
index 806b714..d6799cf 100644
--- a/src/glsl/glsl_types.cpp
+++ b/src/glsl/glsl_types.cpp
@@ -285,6 +285,11 @@ glsl_type::glsl_type(void *ctx, const glsl_type *array, unsigned length) :
    name(NULL), length(length)
 {
    this->fields.array = array;
+   /* Inherit the gl type of the base. The GL type is used for
+    * uniform/statevar handling in Mesa and the arrayness of the type
+    * is represented by the size rather than the type.
+    */
+   this->gl_type = array->gl_type;
 
    /* Allow a maximum of 10 characters for the array size.  This is enough
     * for 32-bits of ~0.  The extra 3 are for the '[', ']', and terminating




More information about the mesa-commit mailing list