You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Output parameters have an output mask instead of a swizzling mask. This allows the shader to write to some components of a register without affecting the others. In picasso, the output mask is parsed exactly the same way as the swizzling mask, enabling write access for the components that are used in it. By default it is also xyzw; that is, writing to all components.
Normally, what is not forbidden is allowed. Therefore I wrote: mov r0.yx, r1.xy
But this doesn't work as expected and you can only find out by reading documentation. It will work like this as I understand: mov r0.xy, r1.xy
Which is not programmer's intention.
I think changing the order of values in output register is a clear mistake and should be reported by picasso as an error (or at least warning).
The text was updated successfully, but these errors were encountered:
hatmajster
changed the title
Swizzling do not work in output registers
Swizzling do not work in output registers - and only manual knows about it
Aug 28, 2023
From manual:
Normally, what is not forbidden is allowed. Therefore I wrote:
mov r0.yx, r1.xy
But this doesn't work as expected and you can only find out by reading documentation. It will work like this as I understand:
mov r0.xy, r1.xy
Which is not programmer's intention.
I think changing the order of values in output register is a clear mistake and should be reported by picasso as an error (or at least warning).
The text was updated successfully, but these errors were encountered: