mesa/src/intel
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
..
blorp intel/blorp: Ambiguate after CCS resolves on gfx7-8 2023-07-24 22:29:01 +00:00
ci ci/tgl: Improve the info for ANGLE's MSAA regression on TGL. 2023-07-24 16:07:28 +00:00
common intel/common: Only set op mask on instructions in decoder 2023-07-24 22:56:59 +00:00
compiler intel/fs: add more UNDEFs around SEND messages 2023-07-26 08:48:33 +00:00
dev intel/dev/xe: Add support for small-bar setups 2023-07-25 19:33:15 +00:00
ds intel/ds: Track CCS cache flush bit 2023-06-26 16:08:20 -07:00
genxml intel/genxml: set a default value for "Pixel Position Offset Enable" in genxml 2023-07-18 22:25:38 +00:00
isl intel/isl: Add a score for DG2_RC_CCS 2023-07-20 20:53:27 +00:00
nullhw-layer vulkan/layers: Use PUBLIC instead of VK_LAYER_EXPORT 2023-02-17 03:42:34 +00:00
perf intel/perf: add perf query support for Intel Raptorlake 2023-07-17 13:56:02 +00:00
tools intel/aubinator_error_decode: add ccs support 2023-06-27 19:59:06 +00:00
vulkan anv: Request Xe KMD to place BOs to CPU visible VRAM when required 2023-07-25 19:33:16 +00:00
vulkan_hasvk anv,hasvk,iris: sampler_prog_key::swizzles is only used on crocus 2023-07-24 15:40:40 +00:00
meson.build blorp: add dependency on idep_intel_dev 2023-03-03 13:04:23 +00:00