Henri Verbeet
6174d1af5d
vkd3d-shader/msl: Implement VSIR_OP_FREM.
2025-09-30 17:16:32 +02:00
Henri Verbeet
521efaeb7b
vkd3d-shader/msl: Implement VSIR_OP_ATAN.
2025-09-30 17:16:32 +02:00
Henri Verbeet
d9d2a00ef3
vkd3d-shader/msl: Implement VSIR_OP_ASIN.
2025-09-30 17:16:32 +02:00
Henri Verbeet
b2aac30430
vkd3d-shader/msl: Implement VSIR_OP_ACOS.
2025-09-30 17:16:32 +02:00
Henri Verbeet
ab54fc7b29
vkd3d-shader/msl: Implement VSIR_OP_HTAN.
2025-09-30 17:16:32 +02:00
Giovanni Mascellani
ad8e41f8f2
vkd3d-shader/msl: Implement VKD3DSPR_THREADID.
2025-09-30 17:02:01 +02:00
Henri Verbeet
161c815a39
vkd3d-shader/msl: Implement VSIR_OP_HSIN.
2025-09-29 12:51:08 +02:00
Henri Verbeet
d0ef67234d
vkd3d-shader/msl: Implement VSIR_OP_HCOS.
2025-09-29 12:51:08 +02:00
Henri Verbeet
f28c9e116b
vkd3d-shader/msl: Implement VSIR_OP_TAN.
2025-09-29 12:51:08 +02:00
Henri Verbeet
68dd93b7e8
vkd3d-shader/msl: Implement VSIR_OP_SIN.
2025-09-29 12:51:08 +02:00
Henri Verbeet
3794411d95
vkd3d-shader/msl: Implement VSIR_OP_COS.
2025-09-29 12:51:08 +02:00
Henri Verbeet
007792c33b
vkd3d-shader/msl: Handle VSIR_DATA_BOOL operands.
2025-09-19 12:47:15 +02:00
Giovanni Mascellani
05b5a48c1d
vkd3d-shader/msl: Reject UAV stores to multi-sampled resources.
...
Current versions of MSL don't support this, and it doesn't seem likely
that Direct3D source formats do either.
2025-09-09 12:10:44 +02:00
Giovanni Mascellani
26c51f53b7
vkd3d-shader/msl: Access resources as non-multisampled if the sample count is 1.
2025-09-09 12:08:36 +02:00
Henri Verbeet
7851cbfd3d
vkd3d-shader/msl: Do not pretend to support initialisers for indexable temporaries.
2025-09-08 12:33:44 +02:00
Henri Verbeet
a1edfc4008
vkd3d-shader/msl: Implement compute shaders.
2025-08-28 20:05:53 +02:00
Shaun Ren
45e549c1b2
vkd3d-shader/msl: Implement VSIR_OP_UGE.
2025-08-21 15:32:37 +02:00
Giovanni Mascellani
1d71cf9af1
vkd3d-shader/msl: Allocate SSA registers to temporaries.
2025-08-04 14:34:23 +02:00
Giovanni Mascellani
3cf35ce22e
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.
2025-07-28 16:31:57 +02:00
Giovanni Mascellani
7df92b6e50
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.
2025-07-28 16:27:58 +02:00
Giovanni Mascellani
9476a235b2
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.
2025-07-28 16:27:58 +02:00
Giovanni Mascellani
16b06c295b
vkd3d-shader/msl: Emit indexable temps with the appropriate component count.
2025-07-28 16:27:58 +02:00
Giovanni Mascellani
6ed0bd0bab
vkd3d-shader/msl: Ignore the interpolation mode for output variables.
...
They are meaningless, but some frontends (e.g., DXIL) set them
nevertheless.
2025-07-28 16:27:58 +02:00
Henri Verbeet
ed695cc551
vkd3d-shader/ir: Rename VKD3D_DATA_SNORM to VSIR_DATA_SNORM.
2025-07-23 17:19:28 +02:00
Henri Verbeet
ed27427508
vkd3d-shader/ir: Rename VKD3D_DATA_UNORM to VSIR_DATA_UNORM.
2025-07-23 17:19:28 +02:00