summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_shader.h
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2014-04-23 16:15:36 +0200
committerMarek Olšák <[email protected]>2014-07-18 01:58:58 +0200
commit09056b352d6de42d24decafdcd6819ad70dc98f1 (patch)
treea01e2e6d914a09447e5106891d1164d994ce9a24 /src/gallium/drivers/radeonsi/si_shader.h
parenta66d9341393b9a82aa197e8bab942c6de1ecf02e (diff)
radeonsi: use an SGPR instead of VGT_INDX_OFFSET
The draw indirect packets cannot set VGT_INDX_OFFSET, they can only set user data SGPRs. This is the only way to support start/index_bias with indirect drawing. Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_shader.h')
-rw-r--r--src/gallium/drivers/radeonsi/si_shader.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.h b/src/gallium/drivers/radeonsi/si_shader.h
index 81997c0b586..6891604db6c 100644
--- a/src/gallium/drivers/radeonsi/si_shader.h
+++ b/src/gallium/drivers/radeonsi/si_shader.h
@@ -36,10 +36,11 @@
#define SI_SGPR_RESOURCE 4
#define SI_SGPR_RW_BUFFERS 6 /* rings (& stream-out, VS only) */
#define SI_SGPR_VERTEX_BUFFER 8 /* VS only */
-#define SI_SGPR_START_INSTANCE 10 /* VS only */
+#define SI_SGPR_BASE_VERTEX 10 /* VS only */
+#define SI_SGPR_START_INSTANCE 11 /* VS only */
#define SI_SGPR_ALPHA_REF 8 /* PS only */
-#define SI_VS_NUM_USER_SGPR 11
+#define SI_VS_NUM_USER_SGPR 12
#define SI_GS_NUM_USER_SGPR 8
#define SI_PS_NUM_USER_SGPR 9
@@ -51,11 +52,12 @@
/* VS only parameters */
#define SI_PARAM_VERTEX_BUFFER 4
-#define SI_PARAM_START_INSTANCE 5
+#define SI_PARAM_BASE_VERTEX 5
+#define SI_PARAM_START_INSTANCE 6
/* the other VS parameters are assigned dynamically */
/* ES only parameters */
-#define SI_PARAM_ES2GS_OFFSET 6
+#define SI_PARAM_ES2GS_OFFSET 7
/* GS only parameters */
#define SI_PARAM_GS2VS_OFFSET 4