aco: When LS and HS invocations are the same, pass LS outputs in temps.
authorTimur Kristóf <timur.kristof@gmail.com>
Thu, 26 Mar 2020 16:45:55 +0000 (17:45 +0100)
committerMarge Bot <eric+marge@anholt.net>
Mon, 30 Mar 2020 13:09:08 +0000 (13:09 +0000)
commit798dd98d6e530afc5dab2f973785fbbd4e598dee
tree24193bbb1f745dfd4d91942a1283d61bcb897419
parent0a91c086b8649a65befa3fdf3ef8460761bb87aa
aco: When LS and HS invocations are the same, pass LS outputs in temps.

We know that in this case, the LS and HS invocations are working
on the exact same vertex, so it's safe to skip the LDS.

Totals:
VGPRS: 3960744 -> 3961844 (0.03 %)
Code Size: 254824300 -> 254764624 (-0.02 %) bytes
Max Waves: 1053748 -> 1053574 (-0.02 %)

Totals from affected shaders:
VGPRS: 26152 -> 27252 (4.21 %)
Code Size: 1496600 -> 1436924 (-3.99 %) bytes
Max Waves: 4860 -> 4686 (-3.58 %)

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4165>
src/amd/compiler/aco_instruction_selection.cpp