Module: Mesa
Branch: main
Commit: 196b355db61580e3bdd38e878e636898fbf796be
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=196b355db61580e3bdd38e878e636898fbf796be

Author: Samuel Pitoiset <[email protected]>
Date:   Mon Aug 21 15:50:23 2023 +0200

aco: ensure to initialize exec manually for VS as LS on GFX9+

When VS and TCS are compiled separately with shader object on GFX9+.

Signed-off-by: Samuel Pitoiset <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24697>

---

 src/amd/compiler/aco_insert_exec_mask.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/amd/compiler/aco_insert_exec_mask.cpp 
b/src/amd/compiler/aco_insert_exec_mask.cpp
index 1a04dd1582f..fa889616811 100644
--- a/src/amd/compiler/aco_insert_exec_mask.cpp
+++ b/src/amd/compiler/aco_insert_exec_mask.cpp
@@ -263,7 +263,8 @@ add_coupling_code(exec_ctx& ctx, Block* block, 
std::vector<aco_ptr<Instruction>>
 
       /* 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_NEXT_GEN_GEOMETRY_SHADER ||
+          (ctx.program->stage.hw == AC_HW_HULL_SHADER && ctx.program->stage.sw 
== SWStage::VS)) {
          start_exec = Operand::c32_or_c64(-1u, bld.lm == s2);
          bld.copy(Definition(exec, bld.lm), start_exec);
       }

Reply via email to