Module: Mesa Branch: main Commit: a77ea9555aa00cc12f3d1c440252e940ff552500 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a77ea9555aa00cc12f3d1c440252e940ff552500
Author: Rohan Garg <rohan.g...@intel.com> Date: Thu Oct 26 17:35:58 2023 +0200 blorp: WA 16014538804 for DG2, MTL A0 Send empty/dummy PIPE_CONTROL after every third 3DPRIMITIVE command. Signed-off-by: Rohan Garg <rohan.g...@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwer...@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25039> --- src/gallium/drivers/iris/iris_blorp.c | 3 +++ src/intel/vulkan/genX_blorp_exec.c | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/src/gallium/drivers/iris/iris_blorp.c b/src/gallium/drivers/iris/iris_blorp.c index 0612da4826e..63f212976ca 100644 --- a/src/gallium/drivers/iris/iris_blorp.c +++ b/src/gallium/drivers/iris/iris_blorp.c @@ -515,6 +515,9 @@ static void blorp_emit_post_draw(struct blorp_batch *blorp_batch, const struct blorp_params *params) { struct iris_batch *batch = blorp_batch->driver_batch; + + // A _3DPRIM_RECTLIST is a MESA_PRIM_QUAD_STRIP with a implied vertex + genX(emit_3dprimitive_was)(batch, NULL, MESA_PRIM_QUAD_STRIP, 3); genX(maybe_emit_breakpoint)(batch, false); blorp_measure_end(blorp_batch, params); } diff --git a/src/intel/vulkan/genX_blorp_exec.c b/src/intel/vulkan/genX_blorp_exec.c index 7bc3488b2ca..9f3bb5b0282 100644 --- a/src/intel/vulkan/genX_blorp_exec.c +++ b/src/intel/vulkan/genX_blorp_exec.c @@ -469,6 +469,12 @@ static void blorp_emit_post_draw(struct blorp_batch *batch, const struct blorp_params *params) { struct anv_cmd_buffer *cmd_buffer = batch->driver_batch; + + genX(batch_emit_post_3dprimitive_was)(&cmd_buffer->batch, + cmd_buffer->device, + _3DPRIM_RECTLIST, + 3); + genX(emit_breakpoint)(&cmd_buffer->batch, cmd_buffer->device, false); blorp_measure_end(batch, params); }