28 Sep
2023
28 Sep
'23
8:01 a.m.
On Wed Sep 27 20:45:30 2023 +0000, Giovanni Mascellani wrote:
It is necessary for all componentwise operations, so that the source registers swizzles are remapped on the components actually selected by the destination register writemask, instead of default to the first `dimx` components. That includes `CMP` and `MOVC`. Dot products are instead an exception because they are not componentwise operations: all the source components concur to compute the single scalar destination. I guess it's now correct, but please see also the part about renaming the helper to `write_sm1_ternary_op()` and have it accept the opcode as a parameter, like `write_sm1_binary_op()`.
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/371#note_47063