turnip: Execute ir3_nir_lower_gs pass again
authorBrian Ho <brian@brkho.com>
Mon, 4 May 2020 20:55:06 +0000 (13:55 -0700)
committerBrian Ho <brian@brkho.com>
Tue, 12 May 2020 20:42:55 +0000 (13:42 -0700)
commita43e9740646a42e3c2d914ad7e0eb20f4113d153
tree20865f8ae8997f69bf8588bcc4ba59372cd03aeb
parent1bd38746d5a2d21a2f77e2bf1c6fec17ca5eb6ac
turnip: Execute ir3_nir_lower_gs pass again

This commit fixes a GS regression introduced in !4562 where
ir3's GS lowering pass was moved from common code (ir3_nir) to
freedreno-specific code (ir3_shader). For GS support in turnip, we
need to add the GS lowering pass back in, this time in tu_shader.

As for the nir_gather_info change, the GS lowering pass has always
introduced a discard_if intrinsic into the GS. Previously, we simply
ran nir_shader_gather_info before GS lowering, but now since we lower
the GS before we need to remove the assertion that only a FS can use
the discard_if intrinsic.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4892>
src/compiler/nir/nir_gather_info.c
src/freedreno/vulkan/tu_shader.c