mesa/src
Ian Romanick 2594fcadd4 brw: Split virtual GRFs again at the end of optimizations
Logical sends and load_payload can have large VGRFs that cannot be
split. Once all of the lowering passes and optimization passes that
might eliminate any of those instructions have completed, try to split
larger VGRFs one last time.

Register allocation can only handle VGRFs up to a certain size, so this
is the last opportunity to prevent later failures due to VGRFs that are
too large.

Closes: #13239

shader-db:

Lunar Lake, Meteor Lake, DG2, and Tiger Lake had similar results. (Lunar Lake shown)
total instructions in shared programs: 17114494 -> 17114496 (<.01%)
instructions in affected programs: 2790 -> 2792 (0.07%)
helped: 2 / HURT: 4

total cycles in shared programs: 886617364 -> 886315282 (-0.03%)
cycles in affected programs: 4067540 -> 3765458 (-7.43%)
helped: 48 / HURT: 9

Ice Lake and Skylake had similar restuls. (Ice Lake shown)
total instructions in shared programs: 20799801 -> 20799691 (<.01%)
instructions in affected programs: 1210 -> 1100 (-9.09%)
helped: 1 / HURT: 0

total cycles in shared programs: 865495386 -> 865498990 (<.01%)
cycles in affected programs: 60132 -> 63736 (5.99%)
helped: 2 / HURT: 1

total spills in shared programs: 3987 -> 3981 (-0.15%)
spills in affected programs: 24 -> 18 (-25.00%)
helped: 1 / HURT: 0

total fills in shared programs: 3535 -> 3519 (-0.45%)
fills in affected programs: 36 -> 20 (-44.44%)
helped: 1 / HURT: 0

fossil-db:

All Intel platforms had similar results. (Lunar Lake shown)
Totals:
Instrs: 208647246 -> 208646499 (-0.00%); split: -0.00%, +0.00%
Cycle count: 31257819536 -> 31263957016 (+0.02%); split: -0.02%, +0.04%
Max live registers: 66160877 -> 66155728 (-0.01%)

Totals from 34703 (4.91% of 707053) affected shaders:
Instrs: 13766639 -> 13765892 (-0.01%); split: -0.02%, +0.01%
Cycle count: 3693572086 -> 3699709566 (+0.17%); split: -0.15%, +0.32%
Max live registers: 4843852 -> 4838703 (-0.11%)

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36202>
2025-07-18 19:04:01 +00:00
..
amd radeonsi/vcn: vcn5 av1 decoding context buffer fix 2025-07-18 16:45:42 +00:00
android_stub
asahi treewide: use nir_mov_scalar 2025-07-16 18:59:16 +00:00
broadcom v3dv: Make use of hash table helpers 2025-07-18 12:16:36 +00:00
c11
compiler vtn/opencl: set exact on all ffmas and mads 2025-07-17 16:47:23 +00:00
drm-shim
egl dri: Get rid of __DRIbackgroundCallableExtension 2025-07-16 01:32:56 +00:00
etnaviv etnaviv/ci: document fixed tests 2025-07-15 22:27:40 +00:00
freedreno Uprev Piglit to 0980079dcfb5adbad873d88e00181268f55cb8ef 2025-07-18 15:33:14 +00:00
gallium lima: ppir: index SSA nodes the same way as we index registers 2025-07-18 17:13:05 +00:00
gbm gbm: Add more formats 2025-07-15 12:37:10 +00:00
getopt
gfxstream gfxstream: Remove all "Yoda conditions" in gfxstream_vk_device.cpp 2025-07-18 18:49:37 +00:00
glx dri: Get rid of __DRIbackgroundCallableExtension 2025-07-16 01:32:56 +00:00
gtest
imagination nir/opt_vectorize_io: optionally vectorize loads with holes 2025-07-15 16:29:30 +00:00
imgui
intel brw: Split virtual GRFs again at the end of optimizations 2025-07-18 19:04:01 +00:00
loader dri: Add additional 16/32b float/int formats 2025-07-15 12:37:10 +00:00
mapi mesa: support NV_timeline_semaphore 2025-07-07 21:18:29 +00:00
mesa mesa: Include mask value in glStencilMask VERBOSE_API debug output 2025-07-16 00:32:13 +00:00
microsoft dozen: adopt wsi_common_get_memory 2025-07-09 23:45:04 +00:00
nouveau nak: disable imma 8x8x16 on Blackwell+ 2025-07-16 14:53:50 +00:00
panfrost Uprev Piglit to 0980079dcfb5adbad873d88e00181268f55cb8ef 2025-07-18 15:33:14 +00:00
tool pps: Generate libgpudataprofiling.so from pps-producer sources for Android CTS 2025-07-15 20:29:57 +00:00
util mesa: subprojects: remove linux-raw-sys backend and use libc 2025-07-14 10:23:47 -07:00
virtio venus: clean up post vk_android_get_ahb_image_properties adoption 2025-07-17 20:12:23 +00:00
vulkan vulkan/android: improve AHB image format check logging 2025-07-18 16:20:12 +00:00
x11 x11: Add an x11_xlib_display_is_thread_safe() helper 2025-07-16 01:32:56 +00:00
.clang-format libagx: port pre-GS to CL 2025-06-27 15:31:49 +00:00
meson.build meson: Only build src/x11 if with_platform_x11 2025-07-16 01:32:55 +00:00