From: Timur Kristóf Date: Wed, 1 Apr 2020 10:14:00 +0000 (+0200) Subject: aco/ngg: Initialize exec mask for NGG VS and TES. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ec72c504c623c12ea870e451f2d08a482d219469;p=mesa.git aco/ngg: Initialize exec mask for NGG VS and TES. They behave like merged ESGS shaders, so the exec mask needs to be manually initialized for these NGG shaders too. Signed-off-by: Timur Kristóf Reviewed-by: Daniel Schürmann Part-of: --- diff --git a/src/amd/compiler/aco_insert_exec_mask.cpp b/src/amd/compiler/aco_insert_exec_mask.cpp index 909c1735453..fe0dc54ccca 100644 --- a/src/amd/compiler/aco_insert_exec_mask.cpp +++ b/src/amd/compiler/aco_insert_exec_mask.cpp @@ -377,7 +377,7 @@ unsigned add_coupling_code(exec_ctx& ctx, Block* block, bld.insert(std::move(startpgm)); /* exec seems to need to be manually initialized with combined shaders */ - if (util_bitcount(ctx.program->stage & sw_mask) > 1) { + if (util_bitcount(ctx.program->stage & sw_mask) > 1 || (ctx.program->stage & hw_ngg_gs)) { bld.sop1(Builder::s_mov, bld.exec(Definition(exec_mask)), bld.lm == s2 ? Operand(UINT64_MAX) : Operand(UINT32_MAX)); instructions[0]->definitions.pop_back(); }