radv: make sure to re-emit shader query state when a task shader is bound

This doesn't change anything in practice because if we have a task
shader, we also have a mesh shader and the state was already re-emitted.

Though, this will prevent a regression from the upcoming patches because
the user SGPR layout will change.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31160>
This commit is contained in:
Samuel Pitoiset 2024-09-13 09:19:56 +02:00 committed by Marge Bot
parent 16341f41e1
commit 3022282ba3

View file

@ -7904,6 +7904,11 @@ radv_bind_task_shader(struct radv_cmd_buffer *cmd_buffer, const struct radv_shad
if (!radv_gang_init(cmd_buffer))
return;
if (radv_get_user_sgpr_info(ts, AC_UD_SHADER_QUERY_STATE)->sgpr_idx != -1) {
/* Re-emit shader query state when SGPR exists but location potentially changed. */
cmd_buffer->state.dirty |= RADV_CMD_DIRTY_SHADER_QUERY;
}
cmd_buffer->task_rings_needed = true;
}