radv: call nir_lower_io_to_temporaries for VS, GS, TES and FS
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 23 May 2018 12:31:56 +0000 (14:31 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 24 May 2018 07:18:57 +0000 (09:18 +0200)
commit38a8c5903be787b203ec6586e6ce5f9cc8a5a6cf
treeb61b6e6a9f98d7110104d187b167e78896d70cc3
parentded150958740e47cb7bc4ba868289b88268f666c
radv: call nir_lower_io_to_temporaries for VS, GS, TES and FS

Do not lower FS inputs because this moves all load_var
instructions at beginning of shaders and because
interp_var_at_sample (and friends) seem broken. That might
be eventually enabled later on if we really want to preload
all FS inputs at beginning.

Polaris10:
Totals from affected shaders:
SGPRS: 54072 -> 54264 (0.36 %)
VGPRS: 38580 -> 38124 (-1.18 %)
Spilled SGPRs: 652 -> 652 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Code Size: 2128116 -> 2127380 (-0.03 %) bytes
Max Waves: 8048 -> 8086 (0.47 %)

Vega10:
Totals from affected shaders:
SGPRS: 52616 -> 52656 (0.08 %)
VGPRS: 37536 -> 37116 (-1.12 %)
Spilled SGPRs: 828 -> 828 (0.00 %)
Code Size: 2043756 -> 2042672 (-0.05 %) bytes
Max Waves: 9176 -> 9254 (0.85 %)

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_shader.c