mesa/src
Konstantin 4d09cd7fa5 nir/lower_non_uniform_access: Group accesses using the same resource
Avoids emitting the waterfall loop for every access if they use the same
resource:

waterfall_loop {
   access
}
waterfall_loop {
   access
}

->

waterfall_loop {
   access
   access
}

Totals from 276 (0.33% of 84770) affected shaders:
MaxWaves: 3360 -> 3356 (-0.12%)
Instrs: 3759927 -> 3730650 (-0.78%)
CodeSize: 21125784 -> 20899580 (-1.07%)
VGPRs: 23096 -> 23104 (+0.03%)
Latency: 35593716 -> 35315455 (-0.78%); split: -0.78%, +0.00%
InvThroughput: 7353071 -> 7297309 (-0.76%); split: -0.76%, +0.00%
VClause: 120983 -> 118579 (-1.99%)
SClause: 113073 -> 110671 (-2.12%)
Copies: 358272 -> 348686 (-2.68%)
Branches: 166706 -> 159500 (-4.32%)
PreSGPRs: 18598 -> 18596 (-0.01%)
PreVGPRs: 21417 -> 21424 (+0.03%); split: -0.01%, +0.04%
VALU: 2354862 -> 2350053 (-0.20%)
SALU: 582291 -> 567638 (-2.52%)
SMEM: 139875 -> 137473 (-1.72%)

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30509>
2024-11-11 07:53:13 +00:00
..
amd radv: Lower non-uniform access after vectorization 2024-11-11 07:53:13 +00:00
android_stub vulkan/android: Add helper to probe AHB support 2024-05-14 14:53:44 +00:00
asahi agx: rewrite address mode lowering 2024-11-08 21:15:42 -04:00
broadcom broadcom/ci: add flakes seen recently 2024-11-08 22:49:21 +00:00
c11 build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
compiler nir/lower_non_uniform_access: Group accesses using the same resource 2024-11-11 07:53:13 +00:00
drm-shim drm-shim: stub synobj_timeline_wait and query ioctl 2024-07-16 11:17:59 +02:00
egl vulkan/wsi/wayland: Pace frames with commit-timing-v1 2024-11-07 00:03:23 +00:00
etnaviv etnaviv: isa: Add img_store instruction 2024-10-23 07:58:04 +00:00
freedreno freedreno/ci: add prefix for a630-vk-asan tests 2024-11-09 08:15:36 +00:00
gallium zink/ci: document new-ish vangogh flakes 2024-11-10 07:21:41 +02:00
gbm gbm/dri: Fix color format for big endian. 2024-10-25 14:18:24 +00:00
getopt build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
gfxstream gfxstream: use vulkan_lite_runtime 2024-11-08 08:10:09 -08:00
glx glx: Fix the GLX_EXT_swap_control_tear drawable attributes 2024-10-23 19:55:53 +00:00
gtest build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
imagination pvr: Make Vulkan driver depend only on nir headers, not library 2024-10-23 16:47:34 +00:00
imgui
intel anv,hasvk,genxml: Rename genxml files using verx10 2024-11-09 00:04:47 +00:00
loader loader: Fix typo in __DRI_IMAGE_FORMAT_XBGR16161616 definition 2024-10-25 14:18:24 +00:00
mapi meson: remove selinux option 2024-10-21 01:14:35 +00:00
mesa st/mesa: implement key->persample_shading for lowered IO 2024-11-06 15:51:51 +00:00
microsoft dzn: Clean up dri options cache 2024-11-06 20:53:13 +00:00
nouveau nv/codegen: Do not use a zero immediate for tex instructions 2024-11-08 09:18:54 +00:00
panfrost panvk: ensure res table is restored after meta 2024-11-09 00:48:47 +00:00
tool perfetto: Add Panfrost data sources to system.cfg 2024-08-22 18:33:45 +00:00
util util: Fix some brackets in util_dynarray_.*_ptr 2024-11-11 07:53:13 +00:00
virtio virgl: Propagate the GL_MAX_stage_SHADER_STORAGE_BLOCKS for each stage 2024-11-08 12:26:06 +00:00
vulkan vulkan/runtime: return same cmdbuf level from the command pool freelist 2024-11-08 17:20:43 +00:00
x11 meson: require dri3 modifiers 2024-09-06 17:34:17 +00:00
.clang-format panfrost: Move ForEachMacros into panfrost 2024-09-12 20:04:58 +00:00
meson.build mesa: add gfxstream-experimental to -Dvulkan-drivers 2024-09-19 20:06:04 +00:00