ntt: Evaluate write_mask check

In light of the input necessarily being SSA.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>
This commit is contained in:
Alyssa Rosenzweig
2023-08-02 10:24:59 -04:00
committed by Marge Bot
parent 4828881e28
commit f5b09fefe3

View File

@@ -1269,16 +1269,13 @@ ntt_get_alu_src(struct ntt_compile *c, nir_alu_instr *instr, int i)
*/
if (nir_src_bit_size(instr->src[i].src) == 64 &&
!(src.src.is_ssa && src.src.ssa->parent_instr->type == nir_instr_type_ssa_undef)) {
int chan0 = 0, chan1 = 1;
int chan1 = 1;
if (nir_op_infos[instr->op].input_sizes[i] == 0) {
chan0 = ffs(instr->dest.write_mask) - 1;
chan1 = ffs(instr->dest.write_mask & ~(1 << chan0)) - 1;
if (chan1 == -1)
chan1 = chan0;
chan1 = nir_dest_num_components(instr->dest.dest) > 1 ? 1 : 0;
}
usrc = ureg_swizzle(usrc,
src.swizzle[chan0] * 2,
src.swizzle[chan0] * 2 + 1,
src.swizzle[0] * 2,
src.swizzle[0] * 2 + 1,
src.swizzle[chan1] * 2,
src.swizzle[chan1] * 2 + 1);
} else {