mesa: Branch 'glsl-compiler-1' - 3 commits

Brian Paul brianp at kemper.freedesktop.org
Wed Mar 7 23:40:31 UTC 2007


 src/mesa/shader/slang/slang_builtin.c |   35 ++++++++++++++++++++++++++++++----
 src/mesa/shader/slang/slang_emit.c    |    1 
 2 files changed, 31 insertions(+), 5 deletions(-)

New commits:
diff-tree 0aec2bb8f218b7e419806149a2c50f598cd07a6a (from da899d190e6835c46dc09e401098c660886e0c4c)
Author: Brian <brian at yutani.localnet.net>
Date:   Wed Mar 7 16:13:33 2007 -0700

    remove unneeded return stmt

diff --git a/src/mesa/shader/slang/slang_emit.c b/src/mesa/shader/slang/slang_emit.c
index 55338d6..df53c01 100644
--- a/src/mesa/shader/slang/slang_emit.c
+++ b/src/mesa/shader/slang/slang_emit.c
@@ -1381,7 +1381,6 @@ emit_struct_field(slang_emit_info *emitI
 {
    if (n->Store->File == PROGRAM_STATE_VAR) {
       n->Store->Index = _slang_alloc_statevar(n, emitInfo->prog->Parameters);
-      return NULL;
    }
    else {
       _mesa_problem(NULL, "structs/fields not supported yet");
diff-tree da899d190e6835c46dc09e401098c660886e0c4c (from 29bc4b8974c163507be06b4991a23368e69b177a)
Author: Brian <brian at yutani.localnet.net>
Date:   Wed Mar 7 16:13:22 2007 -0700

    add missing gl_Point state, fix IR storage bug

diff --git a/src/mesa/shader/slang/slang_builtin.c b/src/mesa/shader/slang/slang_builtin.c
index 2db7b79..8b5434c 100644
--- a/src/mesa/shader/slang/slang_builtin.c
+++ b/src/mesa/shader/slang/slang_builtin.c
@@ -104,7 +104,33 @@ lookup_statevar(const char *var, GLint i
          tokens[0] = STATE_POINT_SIZE;
          *swizzleOut = SWIZZLE_XXXX;
       }
-         /* XXX finish */
+      else if (strcmp(field, "sizeMin") == 0) {
+         tokens[0] = STATE_POINT_SIZE;
+         *swizzleOut = SWIZZLE_YYYY;
+      }
+      else if (strcmp(field, "sizeMax") == 0) {
+         tokens[0] = STATE_POINT_SIZE;
+         *swizzleOut = SWIZZLE_ZZZZ;
+      }
+      else if (strcmp(field, "fadeThresholdSize") == 0) {
+         tokens[0] = STATE_POINT_SIZE;
+         *swizzleOut = SWIZZLE_WWWW;
+      }
+      else if (strcmp(field, "distanceConstantAttenuation") == 0) {
+         tokens[0] = STATE_POINT_ATTENUATION;
+         *swizzleOut = SWIZZLE_XXXX;
+      }
+      else if (strcmp(field, "distanceLinearAttenuation") == 0) {
+         tokens[0] = STATE_POINT_ATTENUATION;
+         *swizzleOut = SWIZZLE_YYYY;
+      }
+      else if (strcmp(field, "distanceQuadraticAttenuation") == 0) {
+         tokens[0] = STATE_POINT_ATTENUATION;
+         *swizzleOut = SWIZZLE_ZZZZ;
+      }
+      else {
+         return -1;
+      }
    }
    else if (strcmp(var, "gl_FrontMaterial") == 0 ||
             strcmp(var, "gl_BackMaterial") == 0) {
@@ -343,6 +369,7 @@ GLint
 _slang_alloc_statevar(slang_ir_node *n,
                       struct gl_program_parameter_list *paramList)
 {
+   slang_ir_node *n0 = n;
    const char *field = NULL, *var;
    GLint index1 = -1, index2 = -1, pos;
    GLuint swizzle;
@@ -372,8 +399,8 @@ _slang_alloc_statevar(slang_ir_node *n,
    pos = lookup_statevar(var, index1, index2, field, &swizzle, paramList);
    assert(pos >= 0);
    if (pos >= 0) {
-      n->Store->Index = pos;
-      n->Store->Swizzle = swizzle;
+      n0->Store->Index = pos;
+      n0->Store->Swizzle = swizzle;
    }
    return pos;
 }
diff-tree 29bc4b8974c163507be06b4991a23368e69b177a (from c3412e9a082a0c23b865b58c8bfab64adf404946)
Author: Brian <brian at yutani.localnet.net>
Date:   Wed Mar 7 13:35:49 2007 -0700

    s/diffuset/diffuse/

diff --git a/src/mesa/shader/slang/slang_builtin.c b/src/mesa/shader/slang/slang_builtin.c
index b01b74d..2db7b79 100644
--- a/src/mesa/shader/slang/slang_builtin.c
+++ b/src/mesa/shader/slang/slang_builtin.c
@@ -221,7 +221,7 @@ lookup_statevar(const char *var, GLint i
       if (strcmp(field, "ambient") == 0) {
          tokens[3] = STATE_AMBIENT;
       }
-      else if (strcmp(field, "diffuset") == 0) {
+      else if (strcmp(field, "diffuse") == 0) {
          tokens[3] = STATE_DIFFUSE;
       }
       else if (strcmp(field, "specular") == 0) {



More information about the mesa-commit mailing list