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
This is useful for debugging shaders. For example, while adding support for geometry shaders, I wanted to manually check that the stores from the vs were actually visible to the gs.