radv: Disallow indirect outputs for GS on GFX9 as well.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sun, 22 Oct 2017 16:43:14 +0000 (18:43 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sun, 22 Oct 2017 22:27:44 +0000 (00:27 +0200)
Since it also uses the output vector before writing to memory.

Fixes: e38685cc62e 'Revert "radv: disable support for VEGA for now."'
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/amd/vulkan/radv_shader.c

index 07e68d6032beedae3962bcec0d3f9b503ead68c6..6176a2e590d5b42c857b8f39e093a2440dbc6ca3 100644 (file)
@@ -265,9 +265,7 @@ radv_shader_compile_to_nir(struct radv_device *device,
                indirect_mask |= nir_var_shader_in;
        }
        if (!llvm_has_working_vgpr_indexing &&
-           (nir->info.stage == MESA_SHADER_VERTEX ||
-            nir->info.stage == MESA_SHADER_TESS_EVAL ||
-            nir->info.stage == MESA_SHADER_FRAGMENT))
+           nir->info.stage != MESA_SHADER_TESS_CTRL)
                indirect_mask |= nir_var_shader_out;
 
        /* TODO: We shouldn't need to do this, however LLVM isn't currently