Nikolay Sivov
fcb5650dbf
vkd3d-shader/fx: Use a separate table for sampler states in fx_2_0.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-10 17:39:30 +02:00
Nikolay Sivov
b22ebe73bc
vkd3d-shader/fx: Do not print padding bytes of fx_2_0 strings.
2025-06-10 17:39:18 +02:00
Nikolay Sivov
8aacee8eae
vkd3d-shader/fx: Add a few missing fxlc opcode names.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-10 17:34:41 +02:00
Henri Verbeet
d881356ab2
vkd3d-shader/msl: Implement VKD3DSIH_IGE.
2025-06-09 16:20:53 +02:00
Henri Verbeet
3673b65485
vkd3d-shader/msl: Implement VKD3DSIH_IADD.
2025-06-09 16:20:53 +02:00
Henri Verbeet
cc33439f19
vkd3d-shader/msl: Implement VKD3DSIH_EQO.
2025-06-09 16:20:53 +02:00
Henri Verbeet
fc6249a228
vkd3d-shader/msl: Implement support for VKD3DSPR_SAMPLEMASK registers.
2025-06-09 16:20:53 +02:00
Henri Verbeet
ea5cf883fa
vkd3d-shader/msl: Implement support for VKD3DSPR_IDXTEMP registers.
2025-06-09 16:20:53 +02:00
Giovanni Mascellani
7e134f85a4
vkd3d-shader/dxil: Do not set the value type in sm6_parser_function_init().
...
It is rewritten in all branches that produce a value.
VALUE_TYPE_REG is therefore never set and can be retired at last.
2025-06-05 16:05:09 +02:00
Giovanni Mascellani
0e406cf0a8
vkd3d-shader/dxil: Do not set the value type in sm6_parser_declare_global().
...
It is rewritten in all branches.
2025-06-05 16:05:09 +02:00
Giovanni Mascellani
00b3fb96d9
vkd3d-shader/dxil: Store a SM6 value in sm6_phi.
...
Rather than a VSIR register.
2025-06-05 16:05:09 +02:00
Giovanni Mascellani
a9a3100cca
vkd3d-shader/dxil: Represent non uniformness in the SM6 value.
2025-06-05 16:05:09 +02:00
Giovanni Mascellani
af5e5fe31b
vkd3d-shader/dxil: Generate specialized values in sm6_parser_emit_cast() for trivial casts.
...
There is currently no need to make a special case for 16-bit
values, since the SPIR-V backend currently confuses them with
32-bit values. The generated VSIR code is not correct, but that
will have to be handled at a different level.
2025-06-05 16:05:09 +02:00
Elizabeth Figura
5e6def0843
vkd3d-shader/preproc: Store EOF state per buffer.
...
We may immediately push a new file or expansion.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43481
2025-06-05 16:04:02 +02:00
Elizabeth Figura
d768ea6709
vkd3d-shader/preproc: Swap to the INITIAL state after ending a buffer.
2025-06-05 16:04:02 +02:00
Elizabeth Figura
0eb5fee633
vkd3d-shader/preproc: Parse comments in #include and #line directives.
2025-06-05 16:04:02 +02:00
Henri Verbeet
5ea697b8eb
vkd3d-shader/msl: Handle SV_SAMPLE_INDEX inputs.
2025-06-05 15:58:44 +02:00
Henri Verbeet
1cdfed919a
vkd3d-shader/msl: Simplify SV_DEPTH handling.
2025-06-05 15:58:44 +02:00
Henri Verbeet
cf312e14a9
vkd3d-shader/msl: Handle SV_VERTEX_ID inputs.
2025-06-05 15:58:44 +02:00
Henri Verbeet
e948098ae3
vkd3d-shader/msl: Handle SV_POSITION inputs.
2025-06-05 15:58:44 +02:00
Henri Verbeet
f14a0dfe07
vkd3d-shader/msl: Implement support for indirect constant buffer addressing.
2025-06-05 15:58:01 +02:00
Henri Verbeet
0b829db149
vkd3d-shader/msl: Continue when the SRV descriptor binding isn't specified in msl_ld().
...
Mostly to aid debugging.
2025-06-05 15:55:01 +02:00
Henri Verbeet
fadcbf3eeb
vkd3d-shader/msl: Slightly improve the error messages for unspecified descriptor bindings.
...
This also makes them consistent with the ones used by the GLSL backend.
2025-06-05 15:55:01 +02:00
Henri Verbeet
6a93c503cd
vkd3d-shader/msl: Get rid of the "lod" field of struct msl_resource_type_info.
...
1D read() is specified to support a level/lod parameter. The MSL
specification claims it needs to be 0 because "mipmaps are not supported
for 1D textures", but that restriction isn't documented for the
"mipmapLevelCount" property of MTLTextureDescriptor. Other APIs do
supported mipmapped 1D textures. Multi-sample textures aren't supported
by msl_ld(), so we don't need to worry about them.
2025-06-05 15:55:01 +02:00
Henri Verbeet
02d7d6038d
vkd3d-shader/msl: Reject cube and multi-sample texel fetches in msl_ld().
...
The cube variants are simply disallowed in Direct3D, and currently
mishandled by msl_ld(). It's less clear whether multi-sample fetches
should be allowed, and how they're supposed to behave if they are,
although typically the "ld2dms" instruction would be used for those.
They're not supported on the MSL side either way.
2025-06-05 15:55:01 +02:00