mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 07:20:10 +01:00
radeonsi: add radeon_emit_alt_hiz_packets for mesh shader
Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37932>
This commit is contained in:
parent
644061fdbc
commit
a7bccad3f2
2 changed files with 15 additions and 12 deletions
|
|
@ -498,18 +498,15 @@
|
||||||
#define radeon_event_write(event_type) \
|
#define radeon_event_write(event_type) \
|
||||||
ac_cmdbuf_event_write(event_type)
|
ac_cmdbuf_event_write(event_type)
|
||||||
|
|
||||||
#define radeon_emit_alt_hiz_logic() do { \
|
#define radeon_emit_alt_hiz_packets() do { \
|
||||||
static_assert(GFX_VERSION == GFX12 || !ALT_HIZ_LOGIC, ""); \
|
radeon_emit(PKT3(PKT3_RELEASE_MEM, 6, 0)); \
|
||||||
if (GFX_VERSION == GFX12 && ALT_HIZ_LOGIC) { \
|
radeon_emit(S_490_EVENT_TYPE(V_028A90_BOTTOM_OF_PIPE_TS) | S_490_EVENT_INDEX(5)); \
|
||||||
radeon_emit(PKT3(PKT3_RELEASE_MEM, 6, 0)); \
|
radeon_emit(0); /* DST_SEL, INT_SEL = no write confirm, DATA_SEL = no data */ \
|
||||||
radeon_emit(S_490_EVENT_TYPE(V_028A90_BOTTOM_OF_PIPE_TS) | S_490_EVENT_INDEX(5)); \
|
radeon_emit(0); /* ADDRESS_LO */ \
|
||||||
radeon_emit(0); /* DST_SEL, INT_SEL = no write confirm, DATA_SEL = no data */ \
|
radeon_emit(0); /* ADDRESS_HI */ \
|
||||||
radeon_emit(0); /* ADDRESS_LO */ \
|
radeon_emit(0); /* DATA_LO */ \
|
||||||
radeon_emit(0); /* ADDRESS_HI */ \
|
radeon_emit(0); /* DATA_HI */ \
|
||||||
radeon_emit(0); /* DATA_LO */ \
|
radeon_emit(0); /* INT_CTXID */ \
|
||||||
radeon_emit(0); /* DATA_HI */ \
|
|
||||||
radeon_emit(0); /* INT_CTXID */ \
|
|
||||||
} \
|
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* This should be evaluated at compile time if all parameters are constants. */
|
/* This should be evaluated at compile time if all parameters are constants. */
|
||||||
|
|
|
||||||
|
|
@ -1290,6 +1290,12 @@ void si_emit_buffered_gfx_sh_regs_for_mesh(struct si_context *sctx)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define radeon_emit_alt_hiz_logic() do { \
|
||||||
|
static_assert(GFX_VERSION == GFX12 || !ALT_HIZ_LOGIC, ""); \
|
||||||
|
if (GFX_VERSION == GFX12 && ALT_HIZ_LOGIC) \
|
||||||
|
radeon_emit_alt_hiz_packets(); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
template <amd_gfx_level GFX_VERSION, si_has_tess HAS_TESS, si_has_gs HAS_GS, si_has_ngg NGG,
|
template <amd_gfx_level GFX_VERSION, si_has_tess HAS_TESS, si_has_gs HAS_GS, si_has_ngg NGG,
|
||||||
si_is_draw_vertex_state IS_DRAW_VERTEX_STATE, si_has_sh_pairs_packed HAS_SH_PAIRS_PACKED,
|
si_is_draw_vertex_state IS_DRAW_VERTEX_STATE, si_has_sh_pairs_packed HAS_SH_PAIRS_PACKED,
|
||||||
si_alt_hiz_logic ALT_HIZ_LOGIC> ALWAYS_INLINE
|
si_alt_hiz_logic ALT_HIZ_LOGIC> ALWAYS_INLINE
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue