mesa/src/asahi
Alyssa Rosenzweig 31ecf16428 asahi: inline UVS indices
this lets us optimize VS for linked shaders (across APIs). less indirection,
less ALU in the VS, less loads in the preamble (Vulkan) / USC uniform pushes
(OpenGL). not the most critical thing, this was already optimized to make
unlinked shaders fast, but it can't hurt ;)

also optimizing linked shaders is less objectionable from an ESO
perspective than optimizing static state.

GL:

   total instrs in shared programs: 2866067 -> 2778519 (-3.05%)
   instrs in affected programs: 1041399 -> 953851 (-8.41%)

   total threads in shared programs: 27802944 -> 27803648 (<.01%)
threads in affected programs: 1984 -> 2688 (35.48%)

   total uniforms in shared programs: 2064008 -> 2036112 (-1.35%)
uniforms in affected programs: 978997 -> 951101 (-2.85%)

Vulkan:

   Totals from 20408 (37.78% of 54019) affected shaders:
   MaxWaves: 20342464 -> 20342976 (+0.00%)
   Instrs: 7262316 -> 6958468 (-4.18%); split: -4.18%, +0.00%
   CodeSize: 53744780 -> 51480354 (-4.21%); split: -4.22%, +0.00%
   ALU: 5691626 -> 5385049 (-5.39%); split: -5.39%, +0.00%
   FSCIB: 5691626 -> 5385049 (-5.39%); split: -5.39%, +0.00%
   IC: 1210560 -> 1210512 (-0.00%)
   GPRs: 1231162 -> 1252219 (+1.71%); split: -0.58%, +2.29%
   Uniforms: 3854892 -> 3759804 (-2.47%); split: -2.47%, +0.00%
   Preamble instrs: 3390251 -> 3238677 (-4.47%); split: -4.47%, +0.00%

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36501>
2025-08-03 21:57:26 +00:00
..
clc asahi/clc: promote bindless textures 2025-07-10 14:55:18 -04:00
compiler asahi: use NIR gathered interpolation 2025-08-03 21:57:26 +00:00
drm-shim asahi: port to stable uAPI 2025-04-09 20:25:49 +00:00
genxml asahi: rename compressed 1 to just compressed 2025-08-03 14:40:53 -04:00
isa agx: fix simd reduce forcing no cache bit 2025-08-03 14:40:54 -04:00
layout build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
lib asahi: inline UVS indices 2025-08-03 21:57:26 +00:00
libagx libagx: port reset query helper to libagx 2025-08-03 14:41:11 -04:00
vulkan asahi: use NIR gathered interpolation 2025-08-03 21:57:26 +00:00
.clang-format clang-format: Disable formatting by default 2023-08-13 16:48:49 +02:00
.editorconfig asahi: Add .editorconfig for CL files 2024-01-10 08:44:37 -04:00
meson.build agx: add XML-based disassembler 2025-06-05 18:57:42 +00:00