mesa/src
Ian Romanick 338273dedd brw/reg_allocate: Optimize spill offset calculation using integer MAD
Gfx12.5 and later allow the use of two 16-bit immediate values in
integer MAD. Gfx11 and Gfx12 allow a single immediate for integer MAD,
but that is not helpful where.

v2: brw_reg_alloc::build_lane_offsets is only used on Gfx12.5+, so the
check around using integer MAD is unnecessary.

No shader-db or fossil-db changes on any pre-Gfx12.5 platforms.

shader-db:

Lunar Lake, Meteor Lake, and DG2 had similar results. (Lunar Lake shown)
total instructions in shared programs: 17119962 -> 17118441 (<.01%)
instructions in affected programs: 65398 -> 63877 (-2.33%)
helped: 32 / HURT: 0

total cycles in shared programs: 895433316 -> 895425578 (<.01%)
cycles in affected programs: 13437376 -> 13429638 (-0.06%)
helped: 30 / HURT: 2

fossil-db:

Lunar Lake, Meteor Lake, and DG2 had similar results. (Lunar Lake shown)
Totals:
Instrs: 210052706 -> 209550074 (-0.24%)
Cycle count: 31486266412 -> 31436238696 (-0.16%); split: -0.16%, +0.00%

Totals from 7081 (1.00% of 707082) affected shaders:
Instrs: 16864614 -> 16361982 (-2.98%)
Cycle count: 6323185782 -> 6273158066 (-0.79%); split: -0.79%, +0.00%

Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34886>
2025-05-09 21:31:09 +00:00
..
amd radeonsi/vcn: add drm keyblob for cenc 2025-05-09 17:54:14 +00:00
android_stub
asahi hk: Implement VK_EXT_map_memory_placed 2025-05-06 18:41:08 +00:00
broadcom ci: Remove EXTERNAL_KERNEL_TAG variable 2025-05-09 07:18:53 +00:00
c11 c11: use SPDX-License-Identifier header 2025-01-08 20:37:51 +00:00
compiler nir/opt_vectorize_io: fix a failure when vectorizing different bit sizes 2025-05-09 20:50:57 +00:00
drm-shim
egl egl: fix sw fallback rejection in non-sw EGL_PLATFORM=device 2025-04-30 19:09:44 +00:00
etnaviv ci: rename all the .b2c- jobs into .ci-tron- 2025-05-07 21:02:16 +00:00
freedreno ir3: allow asm roundtrip testing of compiled shader variants 2025-05-08 09:44:31 +00:00
gallium util/cpu: Remove util_cpu_caps_t::family 2025-05-09 20:10:10 +00:00
gbm meson: support building with system libgbm 2025-04-09 12:15:33 +00:00
getopt
gfxstream gfxstream: make sure by default descriptor is negative 2025-05-08 18:29:03 +00:00
glx Get rid of 5 remaining references to glapitable.h 2025-04-23 20:18:25 +00:00
gtest
imagination treewide: Switch to nir_progress 2025-02-26 15:19:53 +00:00
imgui
intel brw/reg_allocate: Optimize spill offset calculation using integer MAD 2025-05-09 21:31:09 +00:00
loader loader: Use RTLD_LOCAL not RTLD_GLOBAL 2025-04-18 07:14:56 +00:00
mapi Get rid of 5 remaining references to glapitable.h 2025-04-23 20:18:25 +00:00
mesa mesa: fix color material tracking 2025-05-08 00:31:29 +00:00
microsoft d3d12: Do not build microsoft/compiler when graphics, gl or vk disabled 2025-05-08 14:17:22 +00:00
nouveau nvk/ci: tighten job timeouts a little bit 2025-05-09 19:19:31 +00:00
panfrost pan/util,midgard: Remove pan_block 2025-05-09 09:33:38 +00:00
tool perfetto/android: align datasource names with tooling expectations 2025-04-08 18:29:10 +00:00
util util/cpu: Teach the Linux code about getauxval() 2025-05-09 20:10:10 +00:00
virtio ci/crosvm: Use structured tagging for crosvm 2025-05-07 12:13:24 +00:00
vulkan vulkan: Add helpers for creating bvh build pipelines/layouts 2025-05-09 09:55:32 +00:00
x11 glx/egl/x11: fix x11_dri3_check_multibuffer 2025-02-17 02:50:15 +00:00
.clang-format radv: Add radv_foreach_stage to ForEachMacros again. 2025-04-11 18:01:47 +00:00
meson.build meson: support building with system libgbm 2025-04-09 12:15:33 +00:00