summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/tgsi/exec/tgsi_exec.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/tgsi/exec/tgsi_exec.h')
-rw-r--r--src/mesa/pipe/tgsi/exec/tgsi_exec.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/mesa/pipe/tgsi/exec/tgsi_exec.h b/src/mesa/pipe/tgsi/exec/tgsi_exec.h
index d50f786029..f87d6e8862 100644
--- a/src/mesa/pipe/tgsi/exec/tgsi_exec.h
+++ b/src/mesa/pipe/tgsi/exec/tgsi_exec.h
@@ -120,6 +120,10 @@ struct tgsi_exec_cond_stack
unsigned Index; /* into States[] */
};
+
+#define TGSI_EXEC_MAX_COND_NESTING 10
+
+
struct tgsi_exec_machine
{
/*
@@ -152,9 +156,15 @@ struct tgsi_exec_machine
/* FRAGMENT processor only. */
const struct tgsi_interp_coef *InterpCoefs;
- struct tgsi_exec_cond_stack CondStack;
+ /* Conditional execution mask */
+ uint CondMask;
+
+ /* Condition mask stack (for nested conditionals) */
+ uint condStack[TGSI_EXEC_MAX_COND_NESTING];
+ int CondStackTop;
};
+
void
tgsi_exec_machine_init(
struct tgsi_exec_machine *mach,