mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 19:20:08 +01:00
ir3: Disable copy prop for immediate ldlw offsets
Immediate offsets are currently collapsed for ldlw, but ldlw does behave correctly with immediate values. For example, `ldlw.u32 r0.x, l[4], 1` actually means to use the value of regid 4 (r1.x) as the offset when we actually want it to use the imm value of 4 as the offset. This commit disables copy prop for ldlw offsets so the same intrinsic gets compiled to: mov.u32u32 r0.y, 0x00000004 ldlw.u32 r0.x, l[r0.y], 1 Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4439> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4439>
This commit is contained in:
parent
ea51f8f79a
commit
6e76453472
1 changed files with 3 additions and 0 deletions
|
|
@ -229,6 +229,9 @@ static bool valid_flags(struct ir3_instruction *instr, unsigned n,
|
|||
if (instr->opc == OPC_STLW && n == 0)
|
||||
return false;
|
||||
|
||||
if (instr->opc == OPC_LDLW && n == 0)
|
||||
return false;
|
||||
|
||||
/* disallow CP into anything but the SSBO slot argument for
|
||||
* atomics:
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue