mesa/src/intel/dev
José Roberto de Souza de5d767f9a intel/brw: Add a maximum scratch size restriction
Gfx 12.5 moved scratch to a surface and SURFTYPE_SCRATCH has this pitch
restriction:

RENDER_SURFACE_STATE::Surface Pitch
   For surfaces of type SURFTYPE_SCRATCH, valid range of pitch is:
   [63,262143] -> [64B, 256KB]

The pitch of the surface is the scratch size per thread and the surface
should be large enough to accommodate every physical thread.

So here adding a new field to intel_device_info, setting it in
intel_device_info_init_common() so even offline tools can have it set.
And finally adding a check to fail shader compilation if needed
scratch is larger than supported.

This issue can be reproduced in debug builds when running
dEQP-VK.protected_memory.stack.stacksize_1024 on Gfx 12.5 or newer
platforms.

Ref: BSpec 43862 (r52666)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30271>
2024-07-22 18:17:38 +00:00
..
i915 intel/i915: ARL also supports the set-PAT uapi 2024-02-06 21:23:19 +00:00
xe intel/dev: Use topology variables to calculate strides in Xe KMD 2024-05-30 16:46:16 +00:00
gen_wa_helpers.py intel/dev: Add INTEL_PLATFORM_BMG enum, BMG WA info 2024-05-30 00:32:44 +00:00
intel_debug.c intel/debug: allow silencing CL warnings 2024-07-19 00:24:29 +00:00
intel_debug.h intel/debug: allow silencing CL warnings 2024-07-19 00:24:29 +00:00
intel_device_info.c intel/brw: Add a maximum scratch size restriction 2024-07-22 18:17:38 +00:00
intel_device_info.h intel/dev: Drop coherency from intel_device_info_pat_entry 2024-07-17 17:41:32 +00:00
intel_device_info.py intel/brw: Add a maximum scratch size restriction 2024-07-22 18:17:38 +00:00
intel_device_info_gen_h.py intel: Remove circular dependency between intel/dev and intel/common 2024-02-14 17:29:54 +00:00
intel_device_info_override_test.c intel: Skip ioctls for querying device info when hardware is unsupported 2024-01-25 09:57:24 +00:00
intel_device_info_serialize.h intel/dev: implement json serialization for intel_device_info 2024-02-13 19:38:36 +00:00
intel_device_info_serialize_gen_c.py intel/dev: implement json serialization for intel_device_info 2024-02-13 19:38:36 +00:00
intel_device_info_test.c intel/dev: Support INTEL_FORCE_PROBE env-var 2024-05-28 18:45:49 +00:00
intel_device_info_test.h intel/dev: Adjust prefetch_size values for MTL engines 2022-09-22 02:14:47 +00:00
intel_hwconfig.c intel/dev: Replace intel_device_info::apply_hwconfig by a gfx version check 2024-07-03 22:17:37 +00:00
intel_hwconfig.h intel/dev: Port intel_dev_info tool to Xe KMD 2023-07-28 15:36:52 +00:00
intel_hwconfig_types.h intel/dev: Add intel_hwconfig_types.h from random post on the internet 2022-01-19 00:29:35 +00:00
intel_kmd.c intel: Enable Xe KMD support by default 2024-03-12 22:22:50 +00:00
intel_kmd.h intel/dev: Add INTEL_KMD_TYPE_XE 2023-03-03 05:25:35 +00:00
mesa_defs.json intel/dev: Add INTEL_PLATFORM_BMG enum, BMG WA info 2024-05-30 00:32:44 +00:00
meson.build format: Generate endian-independent format aliases 2024-07-19 13:50:42 +00:00