diff options
author | Michel Dänzer <[email protected]> | 2014-01-28 15:39:30 +0900 |
---|---|---|
committer | Michel Dänzer <[email protected]> | 2014-01-29 11:09:26 +0900 |
commit | f8e16010e51eef19ed7030ac7248438f729ae511 (patch) | |
tree | 2674d7e39e78bcc5b6696105829c6bb84acc2d3e /src/gallium/drivers/radeonsi/si_shader.h | |
parent | d7c68e2dc1e08350ce5eb35bc0b20258a50f0dfb (diff) |
radeonsi: Put GS ring buffer descriptors with streamout buffer descriptors
And mark the constant buffers as read only for the GPU again.
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_shader.h')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_shader.h | 72 |
1 files changed, 37 insertions, 35 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.h b/src/gallium/drivers/radeonsi/si_shader.h index 63c19ecaeef..d667baf402d 100644 --- a/src/gallium/drivers/radeonsi/si_shader.h +++ b/src/gallium/drivers/radeonsi/si_shader.h @@ -34,23 +34,23 @@ #define SI_SGPR_CONST 0 #define SI_SGPR_SAMPLER 2 #define SI_SGPR_RESOURCE 4 -#define SI_SGPR_VERTEX_BUFFER 6 /* VS only */ -#define SI_SGPR_SO_BUFFER 8 /* VS only, stream-out */ +#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_ALPHA_REF 6 /* PS only */ +#define SI_SGPR_ALPHA_REF 8 /* PS only */ #define SI_VS_NUM_USER_SGPR 11 -#define SI_GS_NUM_USER_SGPR 6 -#define SI_PS_NUM_USER_SGPR 7 +#define SI_GS_NUM_USER_SGPR 8 +#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 /* VS only parameters */ -#define SI_PARAM_VERTEX_BUFFER 3 -#define SI_PARAM_SO_BUFFER 4 +#define SI_PARAM_VERTEX_BUFFER 4 #define SI_PARAM_START_INSTANCE 5 /* the other VS parameters are assigned dynamically */ @@ -58,36 +58,38 @@ #define SI_PARAM_ES2GS_OFFSET 6 /* GS only parameters */ -#define SI_PARAM_GS2VS_OFFSET 3 -#define SI_PARAM_GS_WAVE_ID 4 -#define SI_PARAM_VTX0_OFFSET 5 -#define SI_PARAM_VTX1_OFFSET 6 -#define SI_PARAM_PRIMITIVE_ID 7 -#define SI_PARAM_VTX2_OFFSET 8 -#define SI_PARAM_VTX3_OFFSET 9 -#define SI_PARAM_VTX4_OFFSET 10 -#define SI_PARAM_VTX5_OFFSET 11 -#define SI_PARAM_GS_INSTANCE_ID 12 +#define SI_PARAM_GS2VS_OFFSET 4 +#define SI_PARAM_GS_WAVE_ID 5 +#define SI_PARAM_VTX0_OFFSET 6 +#define SI_PARAM_VTX1_OFFSET 7 +#define SI_PARAM_PRIMITIVE_ID 8 +#define SI_PARAM_VTX2_OFFSET 9 +#define SI_PARAM_VTX3_OFFSET 10 +#define SI_PARAM_VTX4_OFFSET 11 +#define SI_PARAM_VTX5_OFFSET 12 +#define SI_PARAM_GS_INSTANCE_ID 13 /* PS only parameters */ -#define SI_PARAM_ALPHA_REF 3 -#define SI_PARAM_PRIM_MASK 4 -#define SI_PARAM_PERSP_SAMPLE 5 -#define SI_PARAM_PERSP_CENTER 6 -#define SI_PARAM_PERSP_CENTROID 7 -#define SI_PARAM_PERSP_PULL_MODEL 8 -#define SI_PARAM_LINEAR_SAMPLE 9 -#define SI_PARAM_LINEAR_CENTER 10 -#define SI_PARAM_LINEAR_CENTROID 11 -#define SI_PARAM_LINE_STIPPLE_TEX 12 -#define SI_PARAM_POS_X_FLOAT 13 -#define SI_PARAM_POS_Y_FLOAT 14 -#define SI_PARAM_POS_Z_FLOAT 15 -#define SI_PARAM_POS_W_FLOAT 16 -#define SI_PARAM_FRONT_FACE 17 -#define SI_PARAM_ANCILLARY 18 -#define SI_PARAM_SAMPLE_COVERAGE 19 -#define SI_PARAM_POS_FIXED_PT 20 +#define SI_PARAM_ALPHA_REF 4 +#define SI_PARAM_PRIM_MASK 5 +#define SI_PARAM_PERSP_SAMPLE 6 +#define SI_PARAM_PERSP_CENTER 7 +#define SI_PARAM_PERSP_CENTROID 8 +#define SI_PARAM_PERSP_PULL_MODEL 9 +#define SI_PARAM_LINEAR_SAMPLE 10 +#define SI_PARAM_LINEAR_CENTER 11 +#define SI_PARAM_LINEAR_CENTROID 12 +#define SI_PARAM_LINE_STIPPLE_TEX 13 +#define SI_PARAM_POS_X_FLOAT 14 +#define SI_PARAM_POS_Y_FLOAT 15 +#define SI_PARAM_POS_Z_FLOAT 16 +#define SI_PARAM_POS_W_FLOAT 17 +#define SI_PARAM_FRONT_FACE 18 +#define SI_PARAM_ANCILLARY 19 +#define SI_PARAM_SAMPLE_COVERAGE 20 +#define SI_PARAM_POS_FIXED_PT 21 + +#define SI_NUM_PARAMS (SI_PARAM_POS_FIXED_PT + 1) struct si_shader_input { unsigned name; |