diff options
author | Marek Olšák <[email protected]> | 2014-09-23 19:42:28 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2014-10-04 15:16:15 +0200 |
commit | 1f6c0b55df9f3553b18062ad2c7e2dc021d4c731 (patch) | |
tree | 0623f221ca34fc4cf9b4a8a69ea1c7a94783b5b6 /src/gallium/drivers/radeonsi/si_shader.h | |
parent | 68d36c0bb532987db27a596408e0326f20ca0365 (diff) |
radeonsi: set number of userdata SGPRs of GS copy shader to 4
It only needs the constant buffer with clip planes and read-write resources
for the GS->VS ring and streamout. That's 2 pointers.
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.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.h b/src/gallium/drivers/radeonsi/si_shader.h index c0e5cf40534..11e5ae0334a 100644 --- a/src/gallium/drivers/radeonsi/si_shader.h +++ b/src/gallium/drivers/radeonsi/si_shader.h @@ -33,10 +33,10 @@ #include "tgsi/tgsi_scan.h" #include "si_state.h" -#define SI_SGPR_CONST 0 -#define SI_SGPR_SAMPLER 2 -#define SI_SGPR_RESOURCE 4 -#define SI_SGPR_RW_BUFFERS 6 /* rings (& stream-out, VS only) */ +#define SI_SGPR_RW_BUFFERS 0 /* rings (& stream-out, VS only) */ +#define SI_SGPR_CONST 2 +#define SI_SGPR_SAMPLER 4 +#define SI_SGPR_RESOURCE 6 #define SI_SGPR_VERTEX_BUFFER 8 /* VS only */ #define SI_SGPR_BASE_VERTEX 10 /* VS only */ #define SI_SGPR_START_INSTANCE 11 /* VS only */ @@ -44,13 +44,14 @@ #define SI_VS_NUM_USER_SGPR 12 #define SI_GS_NUM_USER_SGPR 8 +#define SI_GSCOPY_NUM_USER_SGPR 4 #define SI_PS_NUM_USER_SGPR 9 /* LLVM function parameter indices */ -#define SI_PARAM_CONST 0 -#define SI_PARAM_SAMPLER 1 -#define SI_PARAM_RESOURCE 2 -#define SI_PARAM_RW_BUFFERS 3 +#define SI_PARAM_RW_BUFFERS 0 +#define SI_PARAM_CONST 1 +#define SI_PARAM_SAMPLER 2 +#define SI_PARAM_RESOURCE 3 /* VS only parameters */ #define SI_PARAM_VERTEX_BUFFER 4 @@ -183,6 +184,7 @@ struct si_shader { bool vs_out_layer; unsigned nr_pos_exports; unsigned clip_dist_write; + bool is_gs_copy_shader; }; static inline struct si_shader* si_get_vs_state(struct si_context *sctx) |