From aa18d52728cf1a7e3adebc67615a31aad357f16c Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Thu, 5 Jan 2023 19:38:22 +0200 Subject: [PATCH] anv: make sure mi_memcpy lands before push constant loads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lionel Landwerlin Fixes: e2dc32d755 ("anv: move functions around to plan for generated draws") Reviewed-by: Tapani Pälli Reviewed-by: Ivan Briano Part-of: --- src/intel/vulkan/genX_cmd_draw_generated_indirect.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/intel/vulkan/genX_cmd_draw_generated_indirect.h b/src/intel/vulkan/genX_cmd_draw_generated_indirect.h index 86c7489abec..54992108832 100644 --- a/src/intel/vulkan/genX_cmd_draw_generated_indirect.h +++ b/src/intel/vulkan/genX_cmd_draw_generated_indirect.h @@ -588,6 +588,12 @@ genX(cmd_buffer_emit_generate_draws_count)(struct anv_cmd_buffer *cmd_buffer, }, offsetof(struct anv_generate_indirect_params, draw_count.draw_count)), count_addr, 4); + /* Make sure the memcpy landed for the generating draw call to pick up the + * value. + */ + anv_batch_emit(batch, GENX(PIPE_CONTROL), pc) { + pc.CommandStreamerStallEnable = true; + } /* Only emit the data after the memcpy above. */ genX(cmd_buffer_emit_generated_push_data)(cmd_buffer, push_data_state);