From c1a44e8d4317e2288bdc620458783149ddfeb8d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tapani=20P=C3=A4lli?= Date: Tue, 30 Jul 2024 11:25:53 +0300 Subject: [PATCH] anv: force StackIDControl value for Wa_14021821874 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is also encouraged by another wa, Wa_14018813551. Both workarounds state that StackIDControlOverride_RTGlobals should always be set to 0 (i.e. 2k). Signed-off-by: Tapani Pälli Reviewed-by: Lionel Landwerlin Part-of: --- src/intel/vulkan/genX_cmd_compute.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/intel/vulkan/genX_cmd_compute.c b/src/intel/vulkan/genX_cmd_compute.c index b6737c7e673..bbad639b320 100644 --- a/src/intel/vulkan/genX_cmd_compute.c +++ b/src/intel/vulkan/genX_cmd_compute.c @@ -74,6 +74,16 @@ genX(cmd_buffer_ensure_cfe_state)(struct anv_cmd_buffer *cmd_buffer, case 2048: cfe.StackIDControl = StackIDs2048; break; default: unreachable("invalid stack_ids value"); } + +#if INTEL_WA_14021821874_GFX_VER + /* Wa_14021821874: "StackIDControlOverride_RTGlobals = 0 (i.e. 2k)". We + * already set stack size per ray to 64 in brw_nir_lower_rt_intrinsics + * as the workaround also requires. + */ + if (intel_needs_workaround(cmd_buffer->device->info, 14021821874)) + cfe.StackIDControl = StackIDs2048; +#endif + #endif cfe.OverDispatchControl = 2; /* 50% overdispatch */