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 <timur.kristof@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3576>
This commit is contained in:
parent
1436c0b8e0
commit
ec72c504c6
|
@ -377,7 +377,7 @@ unsigned add_coupling_code(exec_ctx& ctx, Block* block,
|
||||||
bld.insert(std::move(startpgm));
|
bld.insert(std::move(startpgm));
|
||||||
|
|
||||||
/* exec seems to need to be manually initialized with combined shaders */
|
/* 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));
|
bld.sop1(Builder::s_mov, bld.exec(Definition(exec_mask)), bld.lm == s2 ? Operand(UINT64_MAX) : Operand(UINT32_MAX));
|
||||||
instructions[0]->definitions.pop_back();
|
instructions[0]->definitions.pop_back();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue