From b6a9ed48c9a4acb94e99458d93ee9e7bdc2dadfa Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 16 Jul 2025 17:37:32 +0200 Subject: [PATCH] radv: validate dynamic states earlier This will be needed to emit the GFX12 alternative HIZ wa. Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index ac367a46845..d291354b70f 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -11362,6 +11362,10 @@ radv_emit_all_graphics_states(struct radv_cmd_buffer *cmd_buffer, const struct r } } + const uint64_t dynamic_states = cmd_buffer->state.dirty_dynamic & radv_get_needed_dynamic_states(cmd_buffer); + if (dynamic_states) + radv_validate_dynamic_states(cmd_buffer, dynamic_states); + /* Determine whether GFX9 late scissor workaround should be applied based on: * 1. radv_need_late_scissor_emission * 2. any dirty dynamic flags that may cause context rolls @@ -11422,13 +11426,9 @@ radv_emit_all_graphics_states(struct radv_cmd_buffer *cmd_buffer, const struct r if (cmd_buffer->state.dirty & RADV_CMD_DIRTY_STREAMOUT_ENABLE) radv_emit_streamout_enable_state(cmd_buffer); - const uint64_t dynamic_states = cmd_buffer->state.dirty_dynamic & radv_get_needed_dynamic_states(cmd_buffer); - if (dynamic_states) { radv_cmd_buffer_flush_dynamic_state(cmd_buffer, dynamic_states); - radv_validate_dynamic_states(cmd_buffer, dynamic_states); - if (cmd_buffer->state.dirty & RADV_CMD_DIRTY_CLIP_RECTS_STATE) radv_emit_clip_rects_state(cmd_buffer);