summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/eg_sq.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/r600/eg_sq.h')
-rw-r--r--src/gallium/drivers/r600/eg_sq.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/eg_sq.h b/src/gallium/drivers/r600/eg_sq.h
index 3074cfe97d2..c118d3a007f 100644
--- a/src/gallium/drivers/r600/eg_sq.h
+++ b/src/gallium/drivers/r600/eg_sq.h
@@ -535,6 +535,45 @@
#define S_SQ_MEM_GDS_WORD2_DST_SEL_Z(x) (((x) & 0x7) << 6)
#define S_SQ_MEM_GDS_WORD2_DST_SEL_W(x) (((x) & 0x7) << 9)
+/* LDS IDX redefines the neg bits on op3 */
+#define S_SQ_ALU_WORD0_LDS_IDX_OP_IDX_OFFSET_4(x) (((x) & 0x1) << 12)
+#define S_SQ_ALU_WORD0_LDS_IDX_OP_IDX_OFFSET_5(x) (((x) & 0x1) << 25)
+
+/* src2 neg */
+#define S_SQ_ALU_WORD1_LDS_IDX_OP_IDX_OFFSET_1(x) (((x) & 0x1) << 12)
+
+/* this was dst gpr */
+#define S_SQ_ALU_WORD1_LDS_IDX_OP_LDS_OP(x) (((x) & 0x3f) << 21)
+#define S_SQ_ALU_WORD1_LDS_IDX_OP_IDX_OFFSET_0(x) (((x) & 0x1) << 27)
+
+/* this was dst rel */
+#define S_SQ_ALU_WORD1_LDS_IDX_OP_IDX_OFFSET_2(x) (((x) & 0x1) << 28)
+/* this was clamp */
+#define S_SQ_ALU_WORD1_LDS_IDX_OP_IDX_OFFSET_3(x) (((x) & 0x1) << 31)
+
+#define V_SQ_LDS_INST_ADD 0x00
+#define V_SQ_LDS_INST_SUB 0x01
+#define V_SQ_LDS_INST_RSUB 0x02
+
+#define V_SQ_LDS_INST_INC 0x03
+#define V_SQ_LDS_INST_DEC 0x04
+#define V_SQ_LDS_INST_MIN_INT 0x05
+#define V_SQ_LDS_INST_MAX_INT 0x06
+#define V_SQ_LDS_INST_MIN_UINT 0x07
+#define V_SQ_LDS_INST_MAX_UINT 0x08
+#define V_SQ_LDS_INST_AND 0x09
+#define V_SQ_LDS_INST_OR 0x0a
+#define V_SQ_LDS_INST_XOR 0x0b
+#define V_SQ_LDS_INST_MSKOR 0x0c
+#define V_SQ_LDS_INST_WRITE 0x0d
+#define V_SQ_LDS_INST_WRITE_REL 0x0e
+#define V_SQ_LDS_INST_WRITE2 0x0f
+
+#define V_SQ_LDS_INST_READ_RET 0x32
+#define V_SQ_LDS_INST_READ_REL_RET 0x33
+#define V_SQ_LDS_INST_READ2_RET 0x34
+#define V_SQ_LDS_INST_READWRITE_RET 0x35
+
#define V_SQ_CF_COND_ACTIVE 0x00
#define V_SQ_CF_COND_FALSE 0x01
#define V_SQ_CF_COND_BOOL 0x02