summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/slang/slang_ir.h
diff options
context:
space:
mode:
authorBrian <[email protected]>2007-01-31 16:34:54 -0700
committerBrian <[email protected]>2007-01-31 16:34:54 -0700
commitb63c100677c76bb20a1871ea15298ca708acd04f (patch)
tree531db5e2db8f313a6273548f766db850a37b9548 /src/mesa/shader/slang/slang_ir.h
parent309d5b665051179b7e135d7329da1ea45bfeb8e5 (diff)
Overhaul handling of writemasks/swizzling. This fixes two problem cases:
vec2 v; v.x = v.y = 1.0; // chained assignment vec4 v; v.zx = vec2(a,b); // swizzled writemask
Diffstat (limited to 'src/mesa/shader/slang/slang_ir.h')
-rw-r--r--src/mesa/shader/slang/slang_ir.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mesa/shader/slang/slang_ir.h b/src/mesa/shader/slang/slang_ir.h
index 4b696c5c137..5fd72be36a0 100644
--- a/src/mesa/shader/slang/slang_ir.h
+++ b/src/mesa/shader/slang/slang_ir.h
@@ -121,17 +121,17 @@ typedef struct _slang_ir_storage slang_ir_storage;
/**
* Intermediate Representation (IR) tree node
- * Basically a binary tree, but IR_LRP has three children.
+ * Basically a binary tree, but IR_LRP and IR_CLAMP have three children.
*/
typedef struct slang_ir_node_
{
slang_ir_opcode Opcode;
struct slang_ir_node_ *Children[3];
const char *Comment;
- const char *Target;
+ const char *Target; /**< Branch target string */
GLuint Writemask; /**< If Opcode == IR_MOVE */
GLfloat Value[4]; /**< If Opcode == IR_FLOAT */
- slang_variable *Var;
+ slang_variable *Var; /**< If Opcode == IR_VAR or IR_VAR_DECL */
slang_ir_storage *Store; /**< location of result of this operation */
} slang_ir_node;