[Mesa-dev] [PATCH 06/15] radv: call nir_lower_cross_thread_to_scalar()

Connor Abbott connora at valvesoftware.com
Tue Aug 8 01:32:32 UTC 2017

From: Connor Abbott <cwabbott0 at gmail.com>

We didn't need this for read_invocation, since the SPIR-V version of
shader_ballot explicitly says that ReadInvocation and
ReadFirstInvocation can only be used with scalars, but this isn't true
for some of the SPV_AMD_shader_ballot intrinsics.
 src/amd/vulkan/radv_pipeline.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c
index fd86519..3ed0df7 100644
--- a/src/amd/vulkan/radv_pipeline.c
+++ b/src/amd/vulkan/radv_pipeline.c
@@ -155,6 +155,7 @@ radv_optimize_nir(struct nir_shader *shader)
                 NIR_PASS_V(shader, nir_lower_vars_to_ssa);
 		NIR_PASS_V(shader, nir_lower_64bit_pack);
                 NIR_PASS_V(shader, nir_lower_alu_to_scalar);
+		NIR_PASS_V(shader, nir_lower_cross_thread_to_scalar);
                 NIR_PASS_V(shader, nir_lower_phis_to_scalar);
 		NIR_PASS_V(shader, nir_opt_intrinsics);

More information about the mesa-dev mailing list