diff --git a/src/amd/compiler/aco_assembler.cpp b/src/amd/compiler/aco_assembler.cpp index 8e89568a58b..aa6402c93b4 100644 --- a/src/amd/compiler/aco_assembler.cpp +++ b/src/amd/compiler/aco_assembler.cpp @@ -659,7 +659,7 @@ void fix_exports(asm_context& ctx, std::vector& out, Program* program) { if ((*it)->format == Format::EXP) { Export_instruction* exp = static_cast((*it).get()); - if (program->stage & hw_vs) { + if (program->stage & (hw_vs | hw_ngg_gs)) { if (exp->dest >= V_008DFC_SQ_EXP_POS && exp->dest <= (V_008DFC_SQ_EXP_POS + 3)) { exp->done = true; exported = true; @@ -749,7 +749,7 @@ unsigned emit_program(Program* program, { asm_context ctx(program); - if (program->stage & (hw_vs | hw_fs)) + if (program->stage & (hw_vs | hw_fs | hw_ngg_gs)) fix_exports(ctx, code, program); for (Block& block : program->blocks) {