mesa/src
Kenneth Graunke bb83fd7ac0
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
brw: Don't assert about MAX_VGRF_SIZE in brw_opt_split_virtual_grfs()
This allows us to create temporary VGRFs that are larger than
MAX_VGRF_SIZE(devinfo), which will be split eventually.  They may not
be split on the initial pass, because we may need LOAD_PAYLOAD lowering,
copy propagation, and so on to occur first.  So we allow registers to
exceed that size initially.

The "Register allocation relies on split_virtual_grfs()" assertion in
brw_reg_allocate.cpp still asserts that all VGRFs which reach the
register allocator have been properly split.

One case where this is useful is for vectorizing convergent block loads.
We create temporaries to splat the SIMD1 values out to SIMD(N), which
can lead to some very large temporaries.  However, copy propagation and
so on ultimately eliminate these and they'll get split down to proper
sizes or elided entirely in the end.

(Note: both this and the prior commits from this merge request are
 needed to close the linked issue.)

Cc: mesa-stable
Reviewed-by: Matt Turner <mattst88@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12324
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34461>
(cherry picked from commit eb1ec9cf8e)
2025-04-16 15:37:06 +02:00
..
amd radv/video: Fix encode session info for VCN3+ 2025-04-16 15:37:03 +02:00
android_stub
asahi [25.0-only] hk: comment out dead variable 2025-02-04 20:47:26 +01:00
broadcom v3dv: avoid TFU reading unmapped pages beyond the end of the buffers 2025-04-16 15:37:04 +02:00
c11 c11: use SPDX-License-Identifier header 2025-01-08 20:37:51 +00:00
compiler nir/lower_tex: use texture_mask instead of shifting on use 2025-04-16 15:37:04 +02:00
drm-shim
egl egl/surfaceless: Only choose drivers that expose the graphics capability 2025-04-02 11:04:10 +02:00
etnaviv etnaviv: always clamp shadow sampler comparison reference value 2025-01-28 00:01:07 +00:00
freedreno tu/vdrm: Fix userspace fence cmds 2025-04-10 17:12:25 +02:00
gallium radeonsi: add ACO-specific main shader parts 2025-04-16 15:37:05 +02:00
gbm gbm: fix get_back_bo() failure with gbm_surface and implicit modifiers 2025-02-15 00:03:01 +01:00
getopt
gfxstream gfxstream: Use proper log format for 32-bit Vulkan 2025-04-10 17:12:23 +02:00
glx glapi: rename exported symbols so as not to conflict with old libglapi 2025-01-23 00:49:05 +00:00
gtest
imagination pvr: use vk_descriptor_type_is_dynamic 2024-12-19 15:12:58 +00:00
imgui
intel brw: Don't assert about MAX_VGRF_SIZE in brw_opt_split_virtual_grfs() 2025-04-16 15:37:06 +02:00
loader kmsro: look for graphics capable screen as renderonly device 2025-04-02 11:04:10 +02:00
mapi mesa/main: wire up glapi bits for EXT_multi_draw_indirect 2025-02-21 17:07:26 +01:00
mesa mesa: various fixes for ClearTexImage/ClearTexSubImage 2025-04-16 15:37:02 +02:00
microsoft ci: fix the artifact name 2025-02-05 16:05:42 +01:00
nouveau nil: Multiply by array_stride_B instead of adding 2025-04-16 15:37:04 +02:00
panfrost panvk: claim official conformance on v10 2025-04-16 15:37:05 +02:00
tool panvk: add u_trace perfetto support 2024-12-17 23:14:26 +00:00
util anv,driconf: Add sampler coordinate precision workaround for EVE Online 2025-04-02 11:04:13 +02:00
virtio venus: fix maint4 multi-planar memory requirements 2025-04-02 11:04:10 +02:00
vulkan vk/sync: Fix execution only barriers 2025-04-16 15:37:03 +02:00
x11 meson: require dri3 modifiers 2024-09-06 17:34:17 +00:00
.clang-format freedreno: move ForEachMacros into freedreno 2025-01-24 12:15:31 +00:00
meson.build dri: put shared-glapi into libgallium.*.so 2025-01-23 00:49:05 +00:00