mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 15:58:05 +02:00
jay: fix simd32 deswizzle
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41064>
This commit is contained in:
parent
f728e3cb05
commit
d637554418
2 changed files with 5 additions and 2 deletions
|
|
@ -127,6 +127,7 @@ lower(jay_builder *b, jay_inst *I)
|
|||
|
||||
case JAY_OPCODE_DESWIZZLE: {
|
||||
unsigned size = jay_deswizzle_size(I);
|
||||
assert(b->shader->partition.blocks[GPR][0].start == 1);
|
||||
|
||||
/* Odd: copy both halves to contiguous pair after payload */
|
||||
for (unsigned i = 0; i < (size / 2); ++i) {
|
||||
|
|
|
|||
|
|
@ -362,11 +362,13 @@ emit(struct brw_codegen *p,
|
|||
brw_BFN(p, dst, SRC(0), SRC(1), SRC(2), brw_imm_ud(jay_bfn_ctrl(I)));
|
||||
break;
|
||||
|
||||
case JAY_OPCODE_DESWIZZLE_ODD:
|
||||
bool hi = simd_offs ? true : jay_deswizzle_odd_src2_hi(I);
|
||||
case JAY_OPCODE_DESWIZZLE_ODD: {
|
||||
bool hi = simd_offs == 0 ? true : jay_deswizzle_odd_src2_hi(I);
|
||||
brw_set_default_group(p, 0);
|
||||
brw_MOV(p, dst,
|
||||
byte_offset(to_brw_reg(f, I, simd_offs, 0, false), hi ? 64 : 0));
|
||||
break;
|
||||
}
|
||||
|
||||
case JAY_OPCODE_DESWIZZLE_EVEN:
|
||||
brw_set_default_exec_size(p, BRW_EXECUTE_16);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue