radv: declare and emit NGG_QUERY_BUF_VA on GFX11-GFX11.5

This user SGPR is used to pass the query buffer VA for emulated queries.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35017>
This commit is contained in:
Samuel Pitoiset 2025-05-16 08:36:15 +02:00
parent 439baafe5e
commit 2812efd7ad
3 changed files with 5 additions and 5 deletions

View file

@ -10541,7 +10541,7 @@ radv_emit_ngg_state(struct radv_cmd_buffer *cmd_buffer)
radeon_begin(cmd_buffer->cs);
radeon_set_sh_reg(ngg_state_offset, ngg_state);
if (pdev->info.gfx_level >= GFX12) {
if (pdev->info.gfx_level >= GFX11) {
const uint32_t ngg_query_buf_va_offset = radv_get_user_sgpr_loc(last_vgt_shader, AC_UD_NGG_QUERY_BUF_VA);
if (ngg_query_buf_va_offset)
radeon_set_sh_reg(ngg_query_buf_va_offset, cmd_buffer->state.shader_query_buf_va);

View file

@ -453,7 +453,7 @@ declare_unmerged_vs_tes_gs_args(const enum amd_gfx_level gfx_level, const struct
if (info->is_ngg) {
add_ud_arg(args, 1, AC_ARG_INT, &args->ngg_state, AC_UD_NGG_STATE);
if (gfx_level >= GFX12)
if (gfx_level >= GFX11)
add_ud_arg(args, 1, AC_ARG_INT, &args->ngg_query_buf_va, AC_UD_NGG_QUERY_BUF_VA);
}
add_ud_arg(args, 1, AC_ARG_INT, &args->vgt_esgs_ring_itemsize, AC_UD_VGT_ESGS_RING_ITEMSIZE);
@ -498,7 +498,7 @@ declare_unmerged_vs_tes_gs_args(const enum amd_gfx_level gfx_level, const struct
ac_add_preserved(&args->ac, &args->tcs_offchip_layout);
if (info->is_ngg) {
ac_add_preserved(&args->ac, &args->ngg_state);
if (gfx_level >= GFX12)
if (gfx_level >= GFX11)
ac_add_preserved(&args->ac, &args->ngg_query_buf_va);
}
ac_add_preserved(&args->ac, &args->vgt_esgs_ring_itemsize);
@ -790,7 +790,7 @@ declare_shader_args(const struct radv_device *device, const struct radv_graphics
declare_ngg_sgprs(info, args, ngg_needs_state_sgpr);
if (pdev->info.gfx_level >= GFX12 && has_shader_query)
if (pdev->info.gfx_level >= GFX11 && has_shader_query)
add_ud_arg(args, 1, AC_ARG_INT, &args->ngg_query_buf_va, AC_UD_NGG_QUERY_BUF_VA);
}

View file

@ -87,7 +87,7 @@ struct radv_shader_args {
/* NGG */
struct ac_arg ngg_state;
struct ac_arg ngg_lds_layout;
struct ac_arg ngg_query_buf_va; /* GFX12+ */
struct ac_arg ngg_query_buf_va; /* GFX11+ */
/* NGG GS */
struct ac_arg ngg_culling_settings;