Skip to content

intel/fs: improve rematerialization of sampler/surface handles

What does this MR do and why?

This MR helps better rematerializing of sampler & surface handles.

Good results on 2 apps :

Cyberpunk 2077 :

Totals from 7262 (68.88% of 10543) affected shaders:
Instrs: 6366132 -> 6088588 (-4.36%); split: -4.39%, +0.03%
Cycles: 131444597 -> 128815922 (-2.00%); split: -2.67%, +0.67%
Subgroup size: 90368 -> 90432 (+0.07%)
Spill count: 62 -> 50 (-19.35%)
Fill count: 56 -> 42 (-25.00%)
Max live registers: 425523 -> 417706 (-1.84%); split: -1.87%, +0.04%
Max dispatch width: 64400 -> 64472 (+0.11%); split: +0.93%, -0.82%

Gaining 60 SIMD16/SIMD32 shaders, loosing 33

Strange Brigade :

Totals from 2137 (53.13% of 4022) affected shaders:
Instrs: 1543474 -> 1460956 (-5.35%); split: -5.35%, +0.00%
Cycles: 22266236 -> 21899786 (-1.65%); split: -2.32%, +0.68%
Subgroup size: 25328 -> 25344 (+0.06%)
Max live registers: 121071 -> 119135 (-1.60%); split: -1.72%, +0.12%
Max dispatch width: 17232 -> 17936 (+4.09%); split: +4.46%, -0.37%

Gaining 138 SIMD16/SIMD32 shaders, loosing 4

On app slightly negatively affected :

Dota2 :

Totals from 232 (15.42% of 1505) affected shaders:
Instrs: 30029 -> 28194 (-6.11%)
Cycles: 385155 -> 371422 (-3.57%); split: -3.59%, +0.02%
Max live registers: 8131 -> 8119 (-0.15%)
Max dispatch width: 2256 -> 2160 (-4.26%)

Loosing 6 SIMD32 shaders

Edited by Lionel Landwerlin

Merge request reports