diff options
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_pm4.h')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_pm4.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_pm4.h b/src/gallium/drivers/radeonsi/si_pm4.h index 020da7a3903..b2db236c495 100644 --- a/src/gallium/drivers/radeonsi/si_pm4.h +++ b/src/gallium/drivers/radeonsi/si_pm4.h @@ -33,6 +33,13 @@ // forward defines struct si_context; +/* State atoms are callbacks which write a sequence of packets into a GPU + * command buffer (AKA indirect buffer, AKA IB, AKA command stream, AKA CS). + */ +struct si_atom { + void (*emit)(struct si_context *ctx); +}; + struct si_pm4_state { /* optional indirect buffer */ @@ -52,6 +59,10 @@ struct si_pm4_state struct r600_resource *bo[SI_PM4_MAX_BO]; enum radeon_bo_usage bo_usage[SI_PM4_MAX_BO]; enum radeon_bo_priority bo_priority[SI_PM4_MAX_BO]; + + /* For shader states only */ + struct si_shader *shader; + struct si_atom atom; }; void si_pm4_cmd_begin(struct si_pm4_state *state, unsigned opcode); |