radv, ac/nir/ngg: Fix up NGG VS primitive ID export again.
There are several issues addressed here with regards to primitive ID export in NGG VS:
- Late primitive export used an ugly hack to make primitive ID export work, which depends on an ACO specific hack. Let's remove this until we can actually solve this without a hack later.
- There was an
s_barrier
in divergent control flow (with no counterpart on the else branch) which can potentially cause hangs. This is fixed by moving the barrier outside of divergent CF. - RADV/LLVM requires an output variable for stored outputs, which we didn't have. Let's create this variable now.