summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/tgsi/core/tgsi_exec.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/tgsi/core/tgsi_exec.h')
-rw-r--r--src/mesa/pipe/tgsi/core/tgsi_exec.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/mesa/pipe/tgsi/core/tgsi_exec.h b/src/mesa/pipe/tgsi/core/tgsi_exec.h
index d2ff40cabb..b92d1b5918 100644
--- a/src/mesa/pipe/tgsi/core/tgsi_exec.h
+++ b/src/mesa/pipe/tgsi/core/tgsi_exec.h
@@ -85,6 +85,29 @@ struct tgsi_exec_labels
#define TGSI_EXEC_NUM_TEMPS (32 + 4)
#define TGSI_EXEC_NUM_ADDRS 1
+/* XXX: This is temporary */
+struct tgsi_exec_cond_regs
+{
+ struct tgsi_exec_vector TempsAddrs[TGSI_EXEC_NUM_TEMPS + TGSI_EXEC_NUM_ADDRS];
+ struct tgsi_exec_vector Outputs[2]; /* XXX: That's just enough for fragment shader only! */
+};
+
+/* XXX: This is temporary */
+struct tgsi_exec_cond_state
+{
+ struct tgsi_exec_cond_regs IfPortion;
+ struct tgsi_exec_cond_regs ElsePortion;
+ GLuint Condition;
+ GLboolean WasElse;
+};
+
+/* XXX: This is temporary */
+struct tgsi_exec_cond_stack
+{
+ struct tgsi_exec_cond_state States[8];
+ GLuint Index; /* into States[] */
+};
+
struct tgsi_exec_machine
{
/*
@@ -112,6 +135,8 @@ struct tgsi_exec_machine
GLuint Processor;
GLuint *Primitives;
+
+ struct tgsi_exec_cond_stack CondStack;
#if XXX_SSE
struct x86_function Function;
#endif