From 40ca28af9882b8667df499586f41dbd08a1f4e55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tapani=20P=C3=A4lli?= Date: Mon, 21 Oct 2024 13:01:27 +0300 Subject: [PATCH] anv: implement VF_STATISTICS emit for Wa_16012775297 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Emit dummy VF_STATISTICS state before each VF state. Cc: mesa-stable Signed-off-by: Tapani Pälli Reviewed-by: Lionel Landwerlin Part-of: (cherry picked from commit dddd7655531557dcd1f46058561c6213ee5377a6) --- .pick_status.json | 2 +- src/intel/vulkan/genX_gfx_state.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index c5a78f37b06..ae3981d1731 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -74,7 +74,7 @@ "description": "anv: implement VF_STATISTICS emit for Wa_16012775297", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/intel/vulkan/genX_gfx_state.c b/src/intel/vulkan/genX_gfx_state.c index f7ad460f8ac..58dbd8c0b36 100644 --- a/src/intel/vulkan/genX_gfx_state.c +++ b/src/intel/vulkan/genX_gfx_state.c @@ -2311,6 +2311,13 @@ genX(cmd_buffer_flush_gfx_hw_state)(struct anv_cmd_buffer *cmd_buffer) * because of another one is changing. */ + /* Wa_16012775297 - Emit dummy VF statistics before each 3DSTATE_VF. */ +#if INTEL_WA_16012775297_GFX_VER + if (intel_needs_workaround(device->info, 16012775297) && + BITSET_TEST(hw_state->dirty, ANV_GFX_STATE_VF)) + BITSET_SET(hw_state->dirty, ANV_GFX_STATE_VF_STATISTICS); +#endif + /* Since Wa_16011773973 will disable 3DSTATE_STREAMOUT, we need to reemit * it after. */