radv/llvm: prevent emitting streamout outputs for NGG
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 25 Oct 2022 10:03:18 +0000 (12:03 +0200)
committerMarge Bot <emma+marge@anholt.net>
Mon, 31 Oct 2022 13:48:39 +0000 (13:48 +0000)
They are directly emitted from NIR.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19317>

src/amd/vulkan/radv_nir_to_llvm.c

index a7b9334..1433e16 100644 (file)
@@ -1001,7 +1001,8 @@ handle_vs_outputs_post(struct radv_shader_context *ctx)
    struct radv_shader_output_values *outputs;
    unsigned noutput = 0;
 
-   if (ctx->shader_info->so.num_outputs && !ctx->args->is_gs_copy_shader && ctx->stage != MESA_SHADER_GEOMETRY) {
+   if (ctx->shader_info->so.num_outputs && !ctx->args->is_gs_copy_shader &&
+       ctx->stage != MESA_SHADER_GEOMETRY && !ctx->shader_info->is_ngg) {
       /* The GS copy shader emission already emits streamout. */
       radv_emit_streamout(ctx, 0);
    }