anv: force StackIDControl value for Wa_14021821874

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 <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30937>
This commit is contained in:
Tapani Pälli 2024-07-30 11:25:53 +03:00
parent 9b51cb05d2
commit c1a44e8d43

View file

@ -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 */