Module: Mesa Branch: staging/23.3 Commit: 572e3a1bfae941d2b6ad2c37aa0ffa7c47df4bd3 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=572e3a1bfae941d2b6ad2c37aa0ffa7c47df4bd3
Author: Lionel Landwerlin <lionel.g.landwer...@intel.com> Date: Thu Jan 11 17:40:39 2024 +0200 anv: fix disabled Wa_14017076903/18022508906 Signed-off-by: Lionel Landwerlin <lionel.g.landwer...@intel.com> Fixes: d0669f3ede ("intel/dev: switch defect identifiers to use lineage numbers") Reviewed-by: José Roberto de Souza <jose.so...@intel.com> Reviewed-by: Tapani Pälli <tapani.pa...@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27008> (cherry picked from commit 695b4a299250ee7ff5da5f7eda70c6b245dd0f78) --- .pick_status.json | 2 +- src/intel/vulkan/anv_private.h | 1 + src/intel/vulkan/genX_gfx_state.c | 10 ++++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 998541abb8a..9a8f56ce3b3 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -574,7 +574,7 @@ "description": "anv: fix disabled Wa_14017076903/18022508906", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "d0669f3ede53cccc245efaf27e32b68f6150549a", "notes": null diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index fe5544addd5..436ead9b38f 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -1342,6 +1342,7 @@ struct anv_gfx_dynamic_state { bool RenderingDisable; uint32_t RenderStreamSelect; uint32_t ReorderMode; + uint32_t ForceRendering; } so; /* 3DSTATE_SAMPLE_MASK */ diff --git a/src/intel/vulkan/genX_gfx_state.c b/src/intel/vulkan/genX_gfx_state.c index 7d3c63705e9..9f9ffde4e09 100644 --- a/src/intel/vulkan/genX_gfx_state.c +++ b/src/intel/vulkan/genX_gfx_state.c @@ -354,8 +354,8 @@ genX(cmd_buffer_flush_gfx_runtime_state)(struct anv_cmd_buffer *cmd_buffer) SET(STREAMOUT, so.RenderingDisable, dyn->rs.rasterizer_discard_enable); SET(STREAMOUT, so.RenderStreamSelect, dyn->rs.rasterization_stream); -#if INTEL_NEEDS_WA_14017076903 - /* Wa_14017076903 : +#if INTEL_NEEDS_WA_18022508906 + /* Wa_18022508906 : * * SKL PRMs, Volume 7: 3D-Media-GPGPU, Stream Output Logic (SOL) Stage: * @@ -383,8 +383,9 @@ genX(cmd_buffer_flush_gfx_runtime_state)(struct anv_cmd_buffer *cmd_buffer) * Here we force rendering to get SOL_INT::Render_Enable when occlusion * queries are active. */ - if (!GET(so.RenderingDisable) && gfx->n_occlusion_queries > 0) - SET(STREAMOUT, so.ForceRendering, Force_on); + SET(STREAMOUT, so.ForceRendering, + (!GET(so.RenderingDisable) && gfx->n_occlusion_queries > 0) ? + Force_on : 0); #endif switch (dyn->rs.provoking_vertex) { @@ -1304,6 +1305,7 @@ genX(cmd_buffer_flush_gfx_hw_state)(struct anv_cmd_buffer *cmd_buffer) SET(so, so, RenderingDisable); SET(so, so, RenderStreamSelect); SET(so, so, ReorderMode); + SET(so, so, ForceRendering); } }