intel/dev: Add devinfo flag for TBIMR push constant workaround.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30031>
This commit is contained in:
Francisco Jerez 2024-07-18 19:26:42 -07:00 committed by Marge Bot
parent faee9426ab
commit bb2513918a
2 changed files with 9 additions and 0 deletions

View file

@ -1093,6 +1093,7 @@ static const struct intel_device_info intel_device_info_sg1 = {
#define XEHP_FEATURES(_gt, _slices, _l3) \
GFX8_FEATURES, \
.needs_null_push_constant_tbimr_workaround = true, \
.has_64bit_float = false, \
.has_64bit_int = false, \
.has_integer_dword_mul = false, \
@ -1221,6 +1222,7 @@ static const struct intel_device_info intel_device_info_arl_h = {
.verx10 = 200, \
.num_subslices = dual_subslices(1), \
.grf_size = 64, \
.needs_null_push_constant_tbimr_workaround = false, \
.has_64bit_float = true, \
.has_64bit_int = true, \
.has_integer_dword_mul = false, \

View file

@ -322,6 +322,13 @@ Struct("intel_device_info",
non-centroid interpolation for unlit pixels, at the expense of two extra
fragment shader instructions.""")),
Member("bool", "needs_null_push_constant_tbimr_workaround",
comment=dedent("""\
Whether the platform needs an undocumented workaround for a hardware bug
that affects draw calls with a pixel shader that has 0 push constant cycles
when TBIMR is enabled, which has been seen to lead to hangs. To avoid the
issue we simply pad the push constant payload to be at least 1 register.""")),
Member("bool", "is_adl_n", comment="We need this for ADL-N specific Wa_14014966230."),
Member("unsigned", "num_slices",