mesa/src
Timur Kristóf 836204da25 aco: Better phi lowering for merge block when else-side is const.
Add a new special case for binary merge blocks to boolean
phi lowerig. This special case benefits shaders that
have divergent branches with an empty else block,
for example all NGG culling shaders.

Fossil DB stats on Rembrandt (NGG culling enabled):

Totals from 61778 (45.79% of 134913) affected shaders:
SpillVGPRs: 2268 -> 2284 (+0.71%); split: -1.10%, +1.81%
CodeSize: 164317952 -> 162962772 (-0.82%); split: -0.83%, +0.00%
Instrs: 31249824 -> 30910686 (-1.09%); split: -1.09%, +0.00%
Latency: 154948555 -> 154781097 (-0.11%); split: -0.12%, +0.02%
InvThroughput: 30397664 -> 30370872 (-0.09%); split: -0.13%, +0.04%
VClause: 529239 -> 529229 (-0.00%); split: -0.00%, +0.00%
SClause: 783417 -> 783430 (+0.00%)
Copies: 2627570 -> 2595161 (-1.23%); split: -1.25%, +0.02%
Branches: 976506 -> 976508 (+0.00%); split: -0.00%, +0.00%

Fossil DB stats on GFX11 (NGG culling disabled):

Totals from 895 (0.66% of 134913) affected shaders:
SpillVGPRs: 2258 -> 2322 (+2.83%); split: -0.44%, +3.28%
CodeSize: 6229152 -> 6215880 (-0.21%); split: -0.37%, +0.16%
Scratch: 216576 -> 215808 (-0.35%); split: -0.47%, +0.12%
Instrs: 1202077 -> 1198396 (-0.31%); split: -0.43%, +0.13%
Latency: 15921336 -> 16000561 (+0.50%); split: -0.74%, +1.24%
InvThroughput: 7425765 -> 7474891 (+0.66%); split: -0.67%, +1.33%
VClause: 22976 -> 23008 (+0.14%); split: -0.03%, +0.17%
SClause: 38269 -> 38271 (+0.01%)
Copies: 123244 -> 123896 (+0.53%); split: -0.30%, +0.83%
Branches: 47570 -> 47574 (+0.01%); split: -0.00%, +0.01%

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21493>
2023-04-03 14:36:07 +00:00
..
amd aco: Better phi lowering for merge block when else-side is const. 2023-04-03 14:36:07 +00:00
android_stub util/log: improve logger_android 2023-02-22 17:55:40 +00:00
asahi asahi: Convert to SPDX headers 2023-03-28 05:14:00 +00:00
broadcom ci/broadcom: slightly increase coverage of vk tests 2023-03-30 08:21:23 +00:00
c11
compiler nir: track existence of variable shared memory 2023-03-31 20:29:00 +00:00
drm-shim drm-shim: Use hide_drm_device_path() to hide other drm devices 2022-12-30 15:51:11 -08:00
egl dri2/android: Bypass throttling 2023-03-30 18:46:04 +00:00
etnaviv ci/etnaviv: Polish the gc2000 xfails a bit. 2023-03-29 07:52:45 +00:00
freedreno freedreno: Fix or/and'ing two BitmaskEnums 2023-04-01 13:53:31 +00:00
gallium ac/llvm,radeonsi: remove abi->load_inputs implementation 2023-04-03 01:35:06 +00:00
gbm gbm: drop unnecessary vulkan dependency 2023-02-23 18:31:22 +00:00
getopt
glx glx: fix memory leak related to __glXCloseDisplay() 2023-03-20 21:12:54 +00:00
gtest
imagination pvr: Mark all normalized formats as supporting with_packed_usc_channel 2023-03-29 13:00:37 +00:00
imgui
intel anv: Bump VkDeviceMemory objects limit to 4GB 2023-04-03 06:18:52 +00:00
loader loader: Use libdrm shim 2023-03-05 16:31:51 +00:00
mapi mapi: add InternalInvalidateFramebufferAncillaryMESA 2023-03-30 05:06:47 +00:00
mesa mesa: Add a few more function traces 2023-03-30 19:42:01 +00:00
microsoft microsoft/clc: Add shader model / validator to compiler API 2023-03-31 00:37:19 +00:00
nouveau nouveau: Make getSize return unsigned int 2023-03-17 16:08:33 +00:00
panfrost panfrost: move max_thread_count and take reg_count into account 2023-03-31 20:29:00 +00:00
tool pps: Fix build errors. 2023-03-13 01:22:46 +00:00
util perfetto: Move intel's cmdbuf/queue annotation code to the shared util. 2023-03-30 02:19:35 +00:00
virtio venus/ci: Only run one crosvm instance 2023-03-31 12:39:49 +00:00
vulkan vulkan: Add a vk_device_memory base struct 2023-03-31 14:57:03 +00:00
meson.build hgl: remove 2023-02-18 00:44:43 +00:00