From ee8ba0f98fcdd5cd679df306402308a85285776f Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 28 Aug 2023 16:51:17 +0200 Subject: [PATCH] aco: adjust fix_exports() for VS/TES as NGG and non-monolithic shaders Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/compiler/aco_assembler.cpp | 7 +++++++ 1 file changed, 7 insertions(+) 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; }