aco: explicitly mark end blocks for exports
authorRhys Perry <pendingchaos02@gmail.com>
Fri, 15 Nov 2019 11:43:19 +0000 (11:43 +0000)
committerMarge Bot <eric+marge@anholt.net>
Fri, 24 Jan 2020 13:35:07 +0000 (13:35 +0000)
commite192e268deb4ad27baa4bdcbaa0f4fe23086ae2e
tree6da46f33227201b4fc7547b4d2d3709b89f931da
parentd46a54ecff0534a0fcebbb1226e028f8b3fe9110
aco: explicitly mark end blocks for exports

For GS copy shaders, whether we want to do exports is conditional. By
explicitly marking the end blocks, we can mark an IF's then branch as an
export block and ensure that's where the assembler inserts null exports.

v6: only fixup exports in the end block, like before
v8: simplify some code

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2421>
src/amd/compiler/aco_assembler.cpp
src/amd/compiler/aco_instruction_selection.cpp
src/amd/compiler/aco_ir.h