diff --git a/src/amd/compiler/aco_scheduler.cpp b/src/amd/compiler/aco_scheduler.cpp index d7cf90be189..d07b4e381ab 100644 --- a/src/amd/compiler/aco_scheduler.cpp +++ b/src/amd/compiler/aco_scheduler.cpp @@ -843,7 +843,7 @@ void schedule_block(sched_ctx& ctx, Program *program, Block* block, live& live_v } } - if ((program->stage & hw_vs) && block->index == program->blocks.size() - 1) { + if ((program->stage & (hw_vs | hw_ngg_gs)) && (block->kind & block_kind_export_end)) { /* Try to move position exports as far up as possible, to reduce register * usage and because ISA reference guides say so. */ for (unsigned idx = 0; idx < block->instructions.size(); idx++) {