summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_codegen.h
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2009-06-26 17:07:07 -0600
committerBrian Paul <brianp@vmware.com>2009-06-26 17:07:07 -0600
commita18e209edb5348eb167e9d7184597031bbbbe622 (patch)
tree60fcd288119f335cccdc2f15981c9b315d332e64 /src/mesa/shader/slang/slang_codegen.h
parent4fdc6ad41b843109febbe9596dde87f676a8b0e9 (diff)
parent418987ff05f892d3c33ed4ddbe856c496b05ea14 (diff)
Merge branch 'mesa_7_5_branch'
Conflicts: Makefile src/gallium/drivers/softpipe/sp_screen.c src/mesa/main/version.h
Diffstat (limited to 'src/mesa/shader/slang/slang_codegen.h')
-rw-r--r--src/mesa/shader/slang/slang_codegen.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/mesa/shader/slang/slang_codegen.h b/src/mesa/shader/slang/slang_codegen.h
index d80013ad34..ee3be55a45 100644
--- a/src/mesa/shader/slang/slang_codegen.h
+++ b/src/mesa/shader/slang/slang_codegen.h
@@ -31,6 +31,9 @@
#include "slang_compile.h"
+#define MAX_LOOP_DEPTH 30
+
+
typedef struct slang_assemble_ctx_
{
slang_atom_pool *atoms;
@@ -39,11 +42,19 @@ typedef struct slang_assemble_ctx_
struct gl_sl_pragmas *pragmas;
slang_var_table *vartable;
slang_info_log *log;
- struct slang_label_ *curFuncEndLabel;
- struct slang_ir_node_ *CurLoop;
+
+ /* current loop stack */
+ const slang_operation *LoopOperStack[MAX_LOOP_DEPTH];
+ struct slang_ir_node_ *LoopIRStack[MAX_LOOP_DEPTH];
+ GLuint LoopDepth;
+
+ /* current function */
struct slang_function_ *CurFunction;
- GLuint UnrollLoop;
+ struct slang_label_ *curFuncEndLabel;
+ GLboolean UseReturnFlag;
+
GLboolean UnresolvedRefs;
+ GLboolean EmitContReturn;
} slang_assemble_ctx;