From c0f1689e117f3bc9920b0a2dd560543e6f1607a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Thu, 19 Mar 2026 07:30:34 -0700 Subject: [PATCH] anv: Fix invalid resource barrier signal stage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Simulator is crashing when receiving GPGPU + Pixel as resource barrier signal stage, what according to spec is invalid. So here replacing the pixel stage by color, over synchronizing it a bit but keeping it functional. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14641 Reviewed-by: Lionel Landwerlin Suggested-by: Lionel Landwerlin Signed-off-by: José Roberto de Souza Part-of: --- src/intel/vulkan/genX_cmd_buffer.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 11db28c0005..89afd0878c6 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -1817,6 +1817,15 @@ resource_barrier_signal_stage(enum intel_engine_class engine_class, (hw_stages & RESOURCE_BARRIER_STAGE_COLOR)) hw_stages &= ~RESOURCE_BARRIER_STAGE_GEOM; + /* GPGPU + Pixel is not a valid resource barrier stage, so lets over + * synchronize a bit. + */ + if ((hw_stages & RESOURCE_BARRIER_STAGE_GPGPU) && + (hw_stages & RESOURCE_BARRIER_STAGE_PIXEL)) { + hw_stages &= ~RESOURCE_BARRIER_STAGE_PIXEL; + hw_stages |= RESOURCE_BARRIER_STAGE_COLOR; + } + return hw_stages; }