mesa/src
Lionel Landwerlin d099e47de0 intel/fs: add more UNDEFs around SEND messages
lower_find_live_channel() in particular is used a lot in control flow
to find the live channel for the surface/sampler handle. Adding UNDEFs
on the temporary registers used for finding the live channels helps
reduce the liveness of those temporary registers, especially in loops.

Some titles affected :

Rise Of The Tomb Raider:
Totals from 2780 (22.58% of 12311) affected shaders:
Instrs: 1294455 -> 1294592 (+0.01%); split: -0.15%, +0.16%
Cycles: 1473136441 -> 1471302617 (-0.12%); split: -1.52%, +1.40%
Max live registers: 144282 -> 143595 (-0.48%)
Max dispatch width: 22200 -> 22232 (+0.14%)

Red Dead Redemption 2:
Totals from 435 (7.28% of 5972) affected shaders:
Instrs: 488472 -> 487594 (-0.18%); split: -0.31%, +0.14%
Cycles: 11354732 -> 11384928 (+0.27%); split: -0.44%, +0.71%
Spill count: 1217 -> 1172 (-3.70%)
Fill count: 3521 -> 3447 (-2.10%)
Scratch Memory Size: 64512 -> 62464 (-3.17%)
Max live registers: 35997 -> 35798 (-0.55%)

Fallout 4:
Totals from 8 (0.49% of 1638) affected shaders:
Instrs: 41908 -> 40509 (-3.34%)
Cycles: 3638464 -> 3555680 (-2.28%); split: -2.67%, +0.39%
Spill count: 717 -> 665 (-7.25%)
Fill count: 2542 -> 2438 (-4.09%)
Scratch Memory Size: 32768 -> 16384 (-50.00%)
Max live registers: 567 -> 534 (-5.82%)

Cyberpunk 2077:
Totals from 2984 (28.97% of 10301) affected shaders:
Instrs: 3888874 -> 3891600 (+0.07%); split: -0.20%, +0.27%
Cycles: 67906489 -> 67767721 (-0.20%); split: -0.68%, +0.47%
Spill count: 200 -> 98 (-51.00%)
Fill count: 237 -> 90 (-62.03%)
Scratch Memory Size: 10240 -> 8192 (-20.00%)
Max live registers: 215715 -> 212727 (-1.39%)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24282>
2023-07-26 08:48:33 +00:00
..
amd radv: rename radv_pipeline_stage to radv_shader_stage 2023-07-26 07:44:49 +00:00
android_stub util/log: improve logger_android 2023-02-22 17:55:40 +00:00
asahi asahi: Don't depend on glibc to decode 2023-07-22 12:42:58 -04:00
broadcom broadcom/compiler: Convert to new-style NIR registers 2023-07-25 15:36:52 +00:00
c11 treewide: Replace the usage of TRUE/FALSE with true/false 2023-06-27 18:18:28 +08:00
compiler nir/lower_blend: Optimize out PIPE_LOGICOP_NOOP 2023-07-25 18:03:57 +00:00
drm-shim drm-shim: Avoid assertion fail if someone does close(-1). 2023-06-01 01:50:41 +00:00
egl egl/wayland: wait for compositor to release shm buffers 2023-07-19 15:11:46 +00:00
etnaviv ci/etnaviv: update ci expectations 2023-07-22 04:16:32 +00:00
freedreno ci/a5xx: Add another GPU hanging piglit test to the skips. 2023-07-25 21:29:33 +00:00
gallium radeonsi: Convert to use nir_foreach_function_impl 2023-07-26 03:43:40 +00:00
gbm gbm: drop unnecessary vulkan dependency 2023-02-23 18:31:22 +00:00
getopt
glx glx: fix dead code when gc var cannot be null due to earlier check 2023-07-25 08:55:56 +00:00
gtest gtest: Update to 1.13.0 2023-05-14 11:09:02 +00:00
imagination pvr: Fix writing query availability write out 2023-07-19 12:22:30 +00:00
imgui
intel intel/fs: add more UNDEFs around SEND messages 2023-07-26 08:48:33 +00:00
loader dri3: only invalidate drawables on geometry change if geometry has changed 2023-06-15 12:22:24 +00:00
mapi mapi: Remove dead struct _glapi_function in glapi/glapi_getproc.c 2023-06-29 01:36:09 +00:00
mesa state_tracker: fix dereference before null check 2023-07-25 08:55:56 +00:00
microsoft microsoft/clc/compiler: Convert to use nir_foreach_function_impl when possible 2023-07-26 03:43:40 +00:00
nouveau gm107/ir: fix SULDP for loads without a known format 2023-07-25 23:15:41 +00:00
panfrost pan/bi: Remove leftover include 2023-07-25 15:36:52 +00:00
tool meson: remove needless c++17-overrides 2023-05-19 12:45:31 +00:00
util util/u_queue: always enable UTIL_QUEUE_INIT_SCALE_THREADS, remove the flag 2023-07-18 11:11:12 -04:00
virtio venus: use in_render_pass to skip present_src counting 2023-07-22 01:49:43 +00:00
vulkan vulkan/runtime: Add helper functions for VK_EXT_host_image_copy 2023-07-25 23:34:02 +00:00
.clang-format clang-format: add wayland foreach macros 2023-07-07 23:00:06 +00:00
meson.build lavapipe: Include llvmpipe 2023-06-30 12:56:35 +00:00