ac: don't call emit_outputs() for compute
authorTimothy Arceri <tarceri@itsqueeze.com>
Thu, 1 Feb 2018 23:24:16 +0000 (10:24 +1100)
committerTimothy Arceri <tarceri@itsqueeze.com>
Tue, 6 Feb 2018 21:43:08 +0000 (08:43 +1100)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/amd/common/ac_nir_to_llvm.c

index dcfeae85665fec65c6889e68115a4a5069171f3e..ae569d4c7fcba289026671dcabc3a139a817b8ed 100644 (file)
@@ -6749,8 +6749,9 @@ void ac_nir_translate(struct ac_llvm_context *ac, struct ac_shader_abi *abi,
        visit_cf_list(&ctx, &func->impl->body);
        phi_post_pass(&ctx);
 
-       ctx.abi->emit_outputs(ctx.abi, RADEON_LLVM_MAX_OUTPUTS,
-                             ctx.outputs);
+       if (nir->info.stage != MESA_SHADER_COMPUTE)
+               ctx.abi->emit_outputs(ctx.abi, RADEON_LLVM_MAX_OUTPUTS,
+                                     ctx.outputs);
 
        free(ctx.locals);
        ralloc_free(ctx.defs);