From: Daniel Schürmann Date: Wed, 16 Oct 2019 10:56:05 +0000 (+0200) Subject: aco: ensure that uniform booleans are computed in WQM if their uses happen in WQM X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0e4bd261b1535b5c1d38607545a54101cb1f3d01;p=mesa.git aco: ensure that uniform booleans are computed in WQM if their uses happen in WQM This fixes graphical corruption in SC2. Reviewed-by: Rhys Perry --- diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index fede0979bd2..203897d0d8f 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -321,7 +321,8 @@ Temp as_uniform_bool(isel_context *ctx, Temp val) } else { assert(val.regClass() == s2); Builder bld(ctx->program, ctx->block); - return bld.sopc(aco_opcode::s_cmp_lg_u64, bld.def(s1, scc), Operand(0u), Operand(val)); + /* if we're currently in WQM mode, ensure that the source is also computed in WQM */ + return bld.sopc(aco_opcode::s_cmp_lg_u64, bld.def(s1, scc), Operand(0u), emit_wqm(ctx, val)); } }