summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_ir.h
diff options
context:
space:
mode:
authorBrian <brian@yutani.localnet.net>2007-02-23 09:38:17 -0700
committerBrian <brian@yutani.localnet.net>2007-02-23 09:38:17 -0700
commitafbf7c7e6b7613d8d219807adaf7d17971ac2e6d (patch)
treecc11a86f7d0f831f80b2f507f507a0832b55142a /src/mesa/shader/slang/slang_ir.h
parentd8d07b2a8aa5cf9c5ce877b20351983b1aa8d01d (diff)
Re-implement branching with slang_labels.
This eliminates the NOP instructions that had been used as placeholders for branch targets. Also, fix "return" statement bug.
Diffstat (limited to 'src/mesa/shader/slang/slang_ir.h')
-rw-r--r--src/mesa/shader/slang/slang_ir.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/shader/slang/slang_ir.h b/src/mesa/shader/slang/slang_ir.h
index 0c827d9cd8..ba8b613112 100644
--- a/src/mesa/shader/slang/slang_ir.h
+++ b/src/mesa/shader/slang/slang_ir.h
@@ -35,6 +35,7 @@
#include "imports.h"
#include "slang_compile.h"
+#include "slang_label.h"
#include "mtypes.h"
@@ -153,7 +154,8 @@ typedef struct slang_ir_node_
slang_variable *Var; /**< If Opcode == IR_VAR or IR_VAR_DECL */
slang_ir_storage *Store; /**< location of result of this operation */
GLint InstLocation; /**< Location of instruction emitted for this node */
- struct slang_ir_node_ *BranchNode; /**< Used for branch instructions */
+ struct slang_ir_node_ *BranchNode; /**< Used for branching instructions */
+ slang_label *Label; /**< Used for branches */
} slang_ir_node;