From 37aa6d25e1414aa62810bcae643d512424aacc17 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 24 Aug 2023 09:41:55 +0200 Subject: [PATCH] aco: ensure to initialize exec manually for non-monolithic {VS,TES}/GS on GFX9+ Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/compiler/aco_insert_exec_mask.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/amd/compiler/aco_insert_exec_mask.cpp b/src/amd/compiler/aco_insert_exec_mask.cpp index fa889616811..af717724104 100644 --- a/src/amd/compiler/aco_insert_exec_mask.cpp +++ b/src/amd/compiler/aco_insert_exec_mask.cpp @@ -264,7 +264,11 @@ add_coupling_code(exec_ctx& ctx, Block* block, std::vector> /* exec seems to need to be manually initialized with combined shaders */ if (ctx.program->stage.num_sw_stages() > 1 || ctx.program->stage.hw == AC_HW_NEXT_GEN_GEOMETRY_SHADER || - (ctx.program->stage.hw == AC_HW_HULL_SHADER && ctx.program->stage.sw == SWStage::VS)) { + (ctx.program->stage.sw == SWStage::VS && + (ctx.program->stage.hw == AC_HW_HULL_SHADER || + ctx.program->stage.hw == AC_HW_LEGACY_GEOMETRY_SHADER)) || + (ctx.program->stage.sw == SWStage::TES && + ctx.program->stage.hw == AC_HW_LEGACY_GEOMETRY_SHADER)) { start_exec = Operand::c32_or_c64(-1u, bld.lm == s2); bld.copy(Definition(exec, bld.lm), start_exec); }