mesa/src/compiler
Rhys Perry 91d555c2cb radv: lower indirect derefs after linking
Scratch access isn't very optimizable, so more stores are optimized away
if we lower indirect derefs after both linking and radv_optimize_nir.

fossil-db (navi21):
Totals from 1264 (0.62% of 202427) affected shaders:
Instrs: 1504703 -> 1504708 (+0.00%); split: -0.02%, +0.02%
CodeSize: 8031388 -> 8031020 (-0.00%); split: -0.02%, +0.02%
SpillSGPRs: 1865 -> 1869 (+0.21%)
Latency: 12106362 -> 12106464 (+0.00%); split: -0.01%, +0.01%
InvThroughput: 4056269 -> 4056044 (-0.01%); split: -0.01%, +0.00%
VClause: 13927 -> 13940 (+0.09%)
SClause: 32382 -> 32396 (+0.04%); split: -0.03%, +0.08%
Copies: 188004 -> 187897 (-0.06%); split: -0.17%, +0.11%
Branches: 39045 -> 39052 (+0.02%); split: -0.01%, +0.03%
PreSGPRs: 79885 -> 79814 (-0.09%); split: -0.11%, +0.02%
VALU: 1072639 -> 1072532 (-0.01%); split: -0.01%, +0.00%
SALU: 187317 -> 187375 (+0.03%); split: -0.11%, +0.14%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31265>
2026-04-24 11:01:03 +00:00
..
clc spirv,treewide: rework specialization constant 2026-04-22 06:57:55 +00:00
glsl glsl_to_nir: set nir_loop::do_while 2026-04-22 10:34:58 +00:00
isaspec isaspec: Use %g format for float display to ensure round-trip fidelity 2026-03-04 22:42:27 +00:00
libcl libcl_vk: Add VkCopyMemoryIndirectCommandKHR 2026-02-13 20:53:47 +00:00
nir radv: lower indirect derefs after linking 2026-04-24 11:01:03 +00:00
rust nir: add nvidias shared memory non unform address shift 2026-02-11 03:41:23 +01:00
spirv spirv: add support for SPV_KHR_constant_data 2026-04-23 11:12:06 +00:00
builtin_types.py compiler: add float8 glsl types 2025-06-23 07:59:24 +00:00
builtin_types_c.py
builtin_types_h.py compiler: Generate files with newline at end 2025-06-24 14:01:04 +00:00
glsl_types.c compiler: Add FP8 types to GLSL type decoder 2025-12-19 00:09:53 +00:00
glsl_types.h spirv: Fix spec constant to handle Select for non-native floats 2026-03-04 22:04:45 +00:00
list.h nir: remove unused stuff from list.h 2025-07-31 20:23:04 +00:00
meson.build nir, glsl: Add support for softfloat32 2025-11-14 19:31:17 +00:00
shader_enums.c compiler: Add missing MESA_SHADER_KERNEL case for SPIR-V dump 2026-04-23 20:36:55 +00:00
shader_enums.h nir: add back color0/1 system values and VARYING_SLOT_PARAM_GEN_AMD 2026-04-15 18:12:07 +00:00
shader_info.h nir: Add tex sources for descriptor heaps 2026-03-30 06:51:22 +00:00