mesa/src
Kenneth Graunke 0b99c88337
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
nir, brw: lower scratch in NIR
This will let us share a common scratch swizzling between brw and jay.

Changes by Ken:
- Use an immediate SIMD width when known so we don't need to re-lower
- Switch to load_simd_width_intel because it may not match
  info->api_subgroup_size on Vulkan without VK_EXT_subgroup_size_control
- Stop using DWord Scattered Write messages for scratch.  These take an
  offset in DWords, and our offsets are now always in bytes.  This also
  means that we no longer create MEMORY_OPCODE_* IR with inconsistent
  units of either bytes or dwords.  Yikes.  We use byte scattered
  messages now.

fossil-db stats on Battlemage:

   Instrs: 500477504 -> 500450056 (-0.01%); split: -0.01%, +0.00%
   CodeSize: 7807432368 -> 7806786192 (-0.01%); split: -0.01%, +0.00%
   Cycle count: 62404008370 -> 62398437734 (-0.01%); split: -0.01%, +0.00%
   Fill count: 546690 -> 546695 (+0.00%); split: -0.00%, +0.00%
   Max live registers: 141257956 -> 141258100 (+0.00%); split: -0.00%, +0.00%
   Non SSA regs after NIR: 72350283 -> 72336544 (-0.02%)

   Totals from 99 (0.01% of 1581969) affected shaders:
   Instrs: 366593 -> 339145 (-7.49%); split: -7.58%, +0.09%
   CodeSize: 6425936 -> 5779760 (-10.06%); split: -10.06%, +0.00%
   Cycle count: 2412009876 -> 2406439240 (-0.23%); split: -0.26%, +0.03%
   Fill count: 19675 -> 19680 (+0.03%); split: -0.02%, +0.04%
   Max live registers: 17600 -> 17744 (+0.82%); split: -0.09%, +0.91%
   Non SSA regs after NIR: 37894 -> 24155 (-36.26%)

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40843>
2026-04-09 21:02:16 +00:00
..
amd radv: replace remaining occurrences of VK_ACCESS_xxx 2026-04-09 15:58:06 +00:00
android_stub android_stub: fix missing prototypes issues 2025-12-02 20:03:02 +00:00
asahi hk: Increase maxFragmentCombinedOutputResources to HK_MAX_DESCRIPTORS 2026-04-09 12:35:40 +00:00
broadcom broadcom/cle: parse once the XML spec 2026-04-06 09:17:15 +00:00
c11 c11/threads: fix build on c23 2025-11-10 07:01:50 +10:00
compiler nir, brw: lower scratch in NIR 2026-04-09 21:02:16 +00:00
drm-shim drm-shim: handle DRM_CAP_ADDFB2_MODIFIERS 2025-11-24 12:34:08 +00:00
egl meson: Add support for buidling zink + Turnip/KGSL 2026-03-31 15:00:29 +00:00
etnaviv etnaviv/ml: Skip all synthetic tests as we now have several real models 2026-03-23 12:57:09 +00:00
freedreno tu: Enable multiviewGeometryShader 2026-04-09 20:34:58 +00:00
gallium freedreno: Name GS/DS ViewID register fields 2026-04-09 20:34:58 +00:00
gbm gbm: Make documentation for gbm_bo_map more explicit 2025-12-29 10:05:38 +00:00
getopt
gfxstream gfxstream: fix goldfish guards on fence functions 2026-04-08 00:21:15 +00:00
glx meson: Add support for buidling zink + Turnip/KGSL 2026-03-31 15:00:29 +00:00
gtest
imagination pvr: set has_usc_alu_roundingmode_rne for all B-series Rogue cores 2026-04-09 12:18:59 +00:00
imgui
intel nir, brw: lower scratch in NIR 2026-04-09 21:02:16 +00:00
kosmickrisp kk: Demote events, query availabilities and queue writes to 32 bits 2026-04-08 13:37:53 +00:00
loader kmsro: wire Zink up as a fallback 2026-03-13 18:54:26 +00:00
mesa st/bitmap: release the temporary bitmap sampler view 2026-04-02 08:34:54 +00:00
microsoft nir,treewide: add nir_image_intrinsic_type 2026-03-31 09:10:27 +00:00
nouveau nir: add and use block predecessor helpers 2026-04-08 15:06:32 +00:00
panfrost panvk/csf: enable allow_merging_workgroups when possible 2026-04-09 17:53:46 +00:00
poly panvk/csf: implement VK_EXT_primitives_generated_query primitive restart 2026-01-21 09:03:34 +00:00
tool intel: Include available counter descriptions in the perfetto counter spec 2026-03-06 08:47:16 +00:00
util util: fix UBSan error with _mesa_bfloat16_bits_to_float 2026-04-08 07:10:26 +00:00
virtio venus/ci: Move android-angle-venus-tu-a618 to sc7180-trogdor-kingoftown 2026-04-03 09:25:14 +00:00
vulkan vulkan: stop emitting global_addr_to_descriptor 2026-04-08 09:46:01 +00:00
x11 meson: Add support for buidling zink + Turnip/KGSL 2026-03-31 15:00:29 +00:00
.clang-format nir: add and use block predecessor helpers 2026-04-08 15:06:32 +00:00
meson.build gallium/dril: Don't use gbm if there is no gbm configured 2026-02-17 08:24:02 +00:00