mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 07:18:17 +02:00
ir3/lower_pcopy: Fix shr.b illegal copy lowering
The immediate shouldn't be half-reg because the other source isn't. Fixes an assertion failure with dEQP-VK.ssbo.phys.layout.random.16bit.scalar.35. Fixes:0ffcb19b9d("ir3: Rewrite register allocation") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13818> (cherry picked from commit65da866ad9)
This commit is contained in:
parent
281f3d3e53
commit
b3afa6e7ef
2 changed files with 3 additions and 3 deletions
|
|
@ -1102,7 +1102,7 @@
|
|||
"description": "ir3/lower_pcopy: Fix shr.b illegal copy lowering",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "0ffcb19b9d9fbe902224542047c389a661fbf816"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -223,12 +223,12 @@ do_copy(struct ir3_compiler *compiler, struct ir3_instruction *instr,
|
|||
cov->cat1.src_type = TYPE_U32;
|
||||
ir3_instr_move_before(cov, instr);
|
||||
} else {
|
||||
/* shr.b dst, src, h(16) */
|
||||
/* shr.b dst, src, (16) */
|
||||
struct ir3_instruction *shr =
|
||||
ir3_instr_create(instr->block, OPC_SHR_B, 1, 2);
|
||||
ir3_dst_create(shr, dst_num, entry->flags);
|
||||
ir3_src_create(shr, src_num, entry->flags & ~IR3_REG_HALF);
|
||||
ir3_src_create(shr, 0, entry->flags | IR3_REG_IMMED)->uim_val = 16;
|
||||
ir3_src_create(shr, 0, IR3_REG_IMMED)->uim_val = 16;
|
||||
ir3_instr_move_before(shr, instr);
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue