Module: Mesa Branch: staging/23.0 Commit: 940212130f897ebb1dfe66b51bc200e841b9ab12 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=940212130f897ebb1dfe66b51bc200e841b9ab12
Author: Lionel Landwerlin <[email protected]> Date: Thu Jan 5 19:38:22 2023 +0200 anv: make sure mi_memcpy lands before push constant loads Signed-off-by: Lionel Landwerlin <[email protected]> Fixes: e2dc32d755 ("anv: move functions around to plan for generated draws") Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Ivan Briano <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20497> (cherry picked from commit aa18d52728cf1a7e3adebc67615a31aad357f16c) --- .pick_status.json | 2 +- src/intel/vulkan/genX_cmd_draw_generated_indirect.h | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index b1d022362b0..7e83611f525 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4774,7 +4774,7 @@ "description": "anv: make sure mi_memcpy lands before push constant loads", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "e2dc32d755b15697765719acec1d23f12f9c938c" }, diff --git a/src/intel/vulkan/genX_cmd_draw_generated_indirect.h b/src/intel/vulkan/genX_cmd_draw_generated_indirect.h index 696f43ff115..a1ce0687fac 100644 --- a/src/intel/vulkan/genX_cmd_draw_generated_indirect.h +++ b/src/intel/vulkan/genX_cmd_draw_generated_indirect.h @@ -581,6 +581,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);
