diff --git a/src/intel/vulkan/genX_cmd_draw.c b/src/intel/vulkan/genX_cmd_draw.c index bc0b0d23d9d..361a50ded44 100644 --- a/src/intel/vulkan/genX_cmd_draw.c +++ b/src/intel/vulkan/genX_cmd_draw.c @@ -960,9 +960,6 @@ void genX(CmdDraw)( */ genX(flush_pipeline_select_3d)(cmd_buffer); - if (cmd_buffer->state.conditional_render_enabled) - genX(cmd_emit_conditional_render_predicate)(cmd_buffer); - #if GFX_VER < 11 cmd_buffer_emit_vertex_constants_and_flush(cmd_buffer, get_vs_prog_data(pipeline), @@ -973,6 +970,9 @@ void genX(CmdDraw)( genX(cmd_buffer_flush_gfx_state)(cmd_buffer); genX(emit_ds)(cmd_buffer); + if (cmd_buffer->state.conditional_render_enabled) + genX(cmd_emit_conditional_render_predicate)(cmd_buffer); + genX(emit_breakpoint)(&cmd_buffer->batch, cmd_buffer->device, true); anv_batch_emit(&cmd_buffer->batch, _3DPRIMITIVE_DIRECT, prim) { @@ -1141,9 +1141,6 @@ void genX(CmdDrawIndexed)( */ genX(flush_pipeline_select_3d)(cmd_buffer); - if (cmd_buffer->state.conditional_render_enabled) - genX(cmd_emit_conditional_render_predicate)(cmd_buffer); - #if GFX_VER < 11 const struct brw_vs_prog_data *vs_prog_data = get_vs_prog_data(pipeline); cmd_buffer_emit_vertex_constants_and_flush(cmd_buffer, vs_prog_data, @@ -1152,6 +1149,10 @@ void genX(CmdDrawIndexed)( #endif genX(cmd_buffer_flush_gfx_state)(cmd_buffer); + + if (cmd_buffer->state.conditional_render_enabled) + genX(cmd_emit_conditional_render_predicate)(cmd_buffer); + genX(emit_breakpoint)(&cmd_buffer->batch, cmd_buffer->device, true); anv_batch_emit(&cmd_buffer->batch, _3DPRIMITIVE_DIRECT, prim) { @@ -1448,9 +1449,6 @@ void genX(CmdDrawIndirectByteCountEXT)( */ genX(flush_pipeline_select_3d)(cmd_buffer); - if (cmd_buffer->state.conditional_render_enabled) - genX(cmd_emit_conditional_render_predicate)(cmd_buffer); - #if GFX_VER < 11 const struct brw_vs_prog_data *vs_prog_data = get_vs_prog_data(pipeline); if (vs_prog_data->uses_firstvertex || @@ -1462,6 +1460,9 @@ void genX(CmdDrawIndirectByteCountEXT)( genX(cmd_buffer_flush_gfx_state)(cmd_buffer); + if (cmd_buffer->state.conditional_render_enabled) + genX(cmd_emit_conditional_render_predicate)(cmd_buffer); + struct mi_builder b; mi_builder_init(&b, cmd_buffer->device->info, &cmd_buffer->batch); const uint32_t mocs = anv_mocs_for_address(cmd_buffer->device, &counter_buffer->address);