From bb2513918abcba892bade05008a9c79c5a304af6 Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Thu, 18 Jul 2024 19:26:42 -0700 Subject: [PATCH] intel/dev: Add devinfo flag for TBIMR push constant workaround. Reviewed-by: Lionel Landwerlin Part-of: --- src/intel/dev/intel_device_info.c | 2 ++ src/intel/dev/intel_device_info.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/src/intel/dev/intel_device_info.c b/src/intel/dev/intel_device_info.c index 1733a4352ae..f8eca0cca85 100644 --- a/src/intel/dev/intel_device_info.c +++ b/src/intel/dev/intel_device_info.c @@ -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, \ diff --git a/src/intel/dev/intel_device_info.py b/src/intel/dev/intel_device_info.py index 4f5ca265e17..39d42edb9c7 100644 --- a/src/intel/dev/intel_device_info.py +++ b/src/intel/dev/intel_device_info.py @@ -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",