From f25b500af46cdcd4555645229d0e90a4f1b1cab9 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Thu, 22 Aug 2024 21:22:06 +0300 Subject: [PATCH] anv: move conditional render predicate after gfx_flush_state Following up on f8c0a99d52 ("anv: emit conditional after gfx state flushing"), this should have been applied everywhere. Signed-off-by: Lionel Landwerlin Fixes: 0147908a89 ("anv: predicate emission of STATE_BASE_ADDRESS") Reviewed-by: Rohan Garg Part-of: --- src/intel/vulkan/genX_cmd_draw_generated_indirect.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/intel/vulkan/genX_cmd_draw_generated_indirect.h b/src/intel/vulkan/genX_cmd_draw_generated_indirect.h index bd403166aed..1448ee5aab5 100644 --- a/src/intel/vulkan/genX_cmd_draw_generated_indirect.h +++ b/src/intel/vulkan/genX_cmd_draw_generated_indirect.h @@ -290,12 +290,12 @@ genX(cmd_buffer_emit_indirect_generated_draws_inplace)(struct anv_cmd_buffer *cm if (start_generation_batch) genX(cmd_buffer_emit_indirect_generated_draws_init)(cmd_buffer); - if (cmd_buffer->state.conditional_render_enabled) - genX(cmd_emit_conditional_render_predicate)(cmd_buffer); - /* Emit the 3D state in the main batch. */ genX(cmd_buffer_flush_gfx_state)(cmd_buffer); + if (cmd_buffer->state.conditional_render_enabled) + genX(cmd_emit_conditional_render_predicate)(cmd_buffer); + const uint32_t draw_cmd_stride = genX(cmd_buffer_get_generated_draw_stride)(cmd_buffer); @@ -524,12 +524,12 @@ genX(cmd_buffer_emit_indirect_generated_draws_inring)(struct anv_cmd_buffer *cmd trace_intel_end_generate_draws(&cmd_buffer->trace); - if (cmd_buffer->state.conditional_render_enabled) - genX(cmd_emit_conditional_render_predicate)(cmd_buffer); - /* Emit the 3D state in the main batch. */ genX(cmd_buffer_flush_gfx_state)(cmd_buffer); + if (cmd_buffer->state.conditional_render_enabled) + genX(cmd_emit_conditional_render_predicate)(cmd_buffer); + if (max_draw_count > 0) { #if GFX_VER >= 12 /* Prior to Gfx12 we cannot disable the CS prefetch but it doesn't matter