mesa/src
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
..
amd amd: use a valid size for ac_pm4_state allocation 2024-07-22 10:09:34 +00:00
android_stub vulkan/android: Add helper to probe AHB support 2024-05-14 14:53:44 +00:00
asahi format: Generate endian-independent format aliases 2024-07-19 13:50:42 +00:00
broadcom v3d/ci: mark spec@amd_performance_monitor@vc4 tests as flaky 2024-07-22 10:56:09 +02:00
c11 build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
compiler nir/instr_set: hash tex sources commutatively 2024-07-22 11:04:01 +00:00
drm-shim drm-shim: stub synobj_timeline_wait and query ioctl 2024-07-16 11:17:59 +02:00
egl egl,gbm,glx: fix log message spam 2024-07-22 10:09:34 +00:00
etnaviv etnaviv: isa: left shift is 3 bit long 2024-07-22 07:12:28 +00:00
freedreno tu/kgsl: Remove unused variable 2024-07-22 14:53:14 +00:00
gallium radeonsi: consider DBG(NO_TILING) when filtering modifiers 2024-07-22 10:09:34 +00:00
gbm egl,gbm,glx: fix log message spam 2024-07-22 10:09:34 +00:00
getopt build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
glx egl,gbm,glx: fix log message spam 2024-07-22 10:09:34 +00:00
gtest build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
imagination build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
imgui
intel intel/brw: Add a maximum scratch size restriction 2024-07-22 18:17:38 +00:00
loader loader: gc loader_get_extensions_name() and __DRI_DRIVER_{GET_,}EXTENSIONS defines 2024-07-19 20:38:19 +00:00
mapi mesa_interface: Move out of GL/internal/ 2024-07-17 23:47:05 +00:00
mesa mesa: Drop some version checking around ValidateEGLImage 2024-07-18 14:16:51 +00:00
microsoft format: Generate endian-independent format aliases 2024-07-19 13:50:42 +00:00
nouveau nak: fix meson typo 2024-07-21 17:58:53 +02:00
panfrost format: Generate endian-independent format aliases 2024-07-19 13:50:42 +00:00
tool build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
util u_format: Reword introduction 2024-07-19 13:50:42 +00:00
virtio venus: initialize bitset in CreateDescriptorPool() 2024-07-21 17:44:05 +00:00
vulkan format: Generate endian-independent format aliases 2024-07-19 13:50:42 +00:00
.clang-format asahi: add agx_ppp_push_merged helper 2024-05-14 04:57:27 +00:00
meson.build gbm: link directly with libgallium 2024-07-18 20:30:43 +00:00