Module: Mesa Branch: main Commit: ee8ba0f98fcdd5cd679df306402308a85285776f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ee8ba0f98fcdd5cd679df306402308a85285776f
Author: Samuel Pitoiset <[email protected]> Date: Mon Aug 28 16:51:17 2023 +0200 aco: adjust fix_exports() for VS/TES as NGG and non-monolithic shaders Signed-off-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24907> --- 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<uint32_t>& 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; }
