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