diff --git a/src/amd/compiler/aco_assembler.cpp b/src/amd/compiler/aco_assembler.cpp index a50d4b95e44..39533d65523 100644 --- a/src/amd/compiler/aco_assembler.cpp +++ b/src/amd/compiler/aco_assembler.cpp @@ -1017,6 +1017,13 @@ fix_exports(asm_context& ctx, std::vector& out, Program* program) * exports MRTZ (if present) and the epilog exports colors. */ exported |= program->stage.hw == AC_HW_PIXEL_SHADER && program->info.has_epilog; + + /* Do not abort for VS/TES as NGG if they are non-monolithic shaders + * because a jump would be emitted. + */ + exported |= (program->stage.sw == SWStage::VS || program->stage.sw == SWStage::TES) && + program->stage.hw == AC_HW_NEXT_GEN_GEOMETRY_SHADER && + !program->info.is_monolithic; } ++it; }