pan/bi: Handle swizzles in unpack_64_2x32_split_{x,y}
No known fixes but this would still be wrong for OpenCL. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656>
This commit is contained in:
committed by
Marge Bot
parent
f9a01af4f3
commit
bb0606f0ba
@@ -2332,12 +2332,18 @@ bi_emit_alu(bi_builder *b, nir_alu_instr *instr)
|
||||
}
|
||||
|
||||
case nir_op_unpack_64_2x32_split_x:
|
||||
bi_mov_i32_to(b, dst, bi_extract(b, bi_src_index(&instr->src[0].src), 0));
|
||||
{
|
||||
unsigned chan = (instr->src[0].swizzle[0] * 2) + 0;
|
||||
bi_mov_i32_to(b, dst, bi_extract(b, bi_src_index(&instr->src[0].src), chan));
|
||||
return;
|
||||
}
|
||||
|
||||
case nir_op_unpack_64_2x32_split_y:
|
||||
bi_mov_i32_to(b, dst, bi_extract(b, bi_src_index(&instr->src[0].src), 1));
|
||||
{
|
||||
unsigned chan = (instr->src[0].swizzle[0] * 2) + 1;
|
||||
bi_mov_i32_to(b, dst, bi_extract(b, bi_src_index(&instr->src[0].src), chan));
|
||||
return;
|
||||
}
|
||||
|
||||
case nir_op_pack_64_2x32_split:
|
||||
bi_collect_v2i32_to(b, dst,
|
||||
|
||||
Reference in New Issue
Block a user