-
6ed0bd0b
by Giovanni Mascellani at 2025-07-28T16:27:58+02:00
vkd3d-shader/msl: Ignore the interpolation mode for output variables.
They are meaningless, but some frontends (e.g., DXIL) set them
nevertheless.
-
16b06c29
by Giovanni Mascellani at 2025-07-28T16:27:58+02:00
vkd3d-shader/msl: Emit indexable temps with the appropriate component count.
-
9476a235
by Giovanni Mascellani at 2025-07-28T16:27:58+02:00
vkd3d-shader/msl: Use the union type for SAMPLEMASK registers.
Function msl_print_assignment() doesn't currently handle bitcasts
when the left operand has a specific (rather than a union) type.
We could also fix the function, and maybe it wouldn't be a bad
idea anyway, but using the union type seems more in the spirit
of the MSL backend anyway.
-
7df92b6e
by Giovanni Mascellani at 2025-07-28T16:27:58+02:00
vkd3d-shader/msl: Reject shaders with duplicate I/O target locations.
We'll have to handle them eventually, but let's avoid generating
invalid code in the meantime.
-
3cf35ce2
by Giovanni Mascellani at 2025-07-28T16:31:57+02:00
vkd3d-shader/msl: Convert the results of load and sample operations to the destination data type.
This should eventually go away when we properly enforce vsir typing,
but since for the moment we're resolving to hack, let's at least
make it compatible with DXIL.
-
f7866df2
by Giovanni Mascellani at 2025-07-28T16:32:40+02:00
vkd3d-shader/dxil: Emit gather offsets as signed.
This is important for the MSL generator, otherwise invalid MSL
is emitted.