mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 22:40:09 +01:00
asahi: Add sysval tables for each shader stage
So we can model the descriptors of each shader stage independently, as required for merged shaders. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24847>
This commit is contained in:
parent
5189bae50c
commit
31afce2fa5
1 changed files with 21 additions and 0 deletions
|
|
@ -92,9 +92,30 @@ struct agx_streamout {
|
|||
enum agx_sysval_table {
|
||||
AGX_SYSVAL_TABLE_ROOT,
|
||||
AGX_SYSVAL_TABLE_GRID,
|
||||
AGX_SYSVAL_TABLE_VS,
|
||||
AGX_SYSVAL_TABLE_TCS,
|
||||
AGX_SYSVAL_TABLE_TES,
|
||||
AGX_SYSVAL_TABLE_GS,
|
||||
AGX_SYSVAL_TABLE_FS,
|
||||
AGX_SYSVAL_TABLE_CS,
|
||||
AGX_NUM_SYSVAL_TABLES
|
||||
};
|
||||
|
||||
#define AGX_SYSVAL_STAGE(stage) (AGX_SYSVAL_TABLE_VS + (stage))
|
||||
|
||||
static_assert(AGX_SYSVAL_STAGE(PIPE_SHADER_VERTEX) == AGX_SYSVAL_TABLE_VS,
|
||||
"fixed enum orderings");
|
||||
static_assert(AGX_SYSVAL_STAGE(PIPE_SHADER_TESS_CTRL) == AGX_SYSVAL_TABLE_TCS,
|
||||
"fixed enum orderings");
|
||||
static_assert(AGX_SYSVAL_STAGE(PIPE_SHADER_TESS_EVAL) == AGX_SYSVAL_TABLE_TES,
|
||||
"fixed enum orderings");
|
||||
static_assert(AGX_SYSVAL_STAGE(PIPE_SHADER_GEOMETRY) == AGX_SYSVAL_TABLE_GS,
|
||||
"fixed enum orderings");
|
||||
static_assert(AGX_SYSVAL_STAGE(PIPE_SHADER_FRAGMENT) == AGX_SYSVAL_TABLE_FS,
|
||||
"fixed enum orderings");
|
||||
static_assert(AGX_SYSVAL_STAGE(PIPE_SHADER_COMPUTE) == AGX_SYSVAL_TABLE_CS,
|
||||
"fixed enum orderings");
|
||||
|
||||
/* Root system value table */
|
||||
struct PACKED agx_draw_uniforms {
|
||||
/* Pointer to binding table for texture descriptor, or 0 if none. This must
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue