summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_sq.h
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2011-01-04 15:37:12 -0500
committerAlex Deucher <alexdeucher@gmail.com>2011-01-04 15:37:12 -0500
commitf28bb6bdd1e98be11bbcaef545575a22db638d5a (patch)
tree4c675cb9b48efbd00ecfede5bbabfda3c67cc895 /src/gallium/drivers/r600/r600_sq.h
parente96e86d07be86ce12628d750ff686d6aea919fff (diff)
r600g: support up to 64 shader constants
From the r600 ISA: Each ALU clause can lock up to four sets of constants into the constant cache. Each set (one cache line) is 16 128-bit constants. These are split into two groups. Each group can be from a different constant buffer (out of 16 buffers). Each group of two constants consists of either [Line] and [Line+1] or [line + loop_ctr] and [line + loop_ctr +1]. For supporting more than 64 constants, we need to break the code into multiple ALU clauses based on what sets of constants are needed in that clause. Note: This is a candidate for the 7.10 branch. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Diffstat (limited to 'src/gallium/drivers/r600/r600_sq.h')
-rw-r--r--src/gallium/drivers/r600/r600_sq.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_sq.h b/src/gallium/drivers/r600/r600_sq.h
index 0573e63dc8..d812bfd1fe 100644
--- a/src/gallium/drivers/r600/r600_sq.h
+++ b/src/gallium/drivers/r600/r600_sq.h
@@ -74,6 +74,10 @@
#define S_SQ_CF_ALU_WORD0_KCACHE_MODE0(x) (((x) & 0x3) << 30)
#define G_SQ_CF_ALU_WORD0_KCACHE_MODE0(x) (((x) >> 30) & 0x3)
#define C_SQ_CF_ALU_WORD0_KCACHE_MODE0 0x3FFFFFFF
+#define V_SQ_CF_KCACHE_NOP 0x00000000
+#define V_SQ_CF_KCACHE_LOCK_1 0x00000001
+#define V_SQ_CF_KCACHE_LOCK_2 0x00000002
+#define V_SQ_CF_KCACHE_LOCK_LOOP_INDEX 0x00000003
#define P_SQ_CF_ALU_WORD1
#define S_SQ_CF_ALU_WORD1_KCACHE_MODE1(x) (((x) & 0x3) << 0)
#define G_SQ_CF_ALU_WORD1_KCACHE_MODE1(x) (((x) >> 0) & 0x3)