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
Henri Verbeet
671fbfea7d
vkd3d-shader/msl: Ensure we have a non-NULL "resource_type_info" pointer in msl_ld().
...
Since we're going to dereference it.
2025-06-05 15:55:01 +02:00
Giovanni Mascellani
bda2be3423
vkd3d-shader/hlsl: Reject programs with group shared variables.
...
Currently the modifier is ignored and the program is miscompiled.
2025-06-05 15:50:04 +02:00
Giovanni Mascellani
7f04060f33
vkd3d-shader/dxil: Handle 16-bit values uniformly in sm6_map_cast_op().
...
This makes the logic more transparent, and it eases handling
native 16-bit values once they will be supported.
2025-06-04 13:03:57 +02:00
Giovanni Mascellani
b9ce828451
vkd3d-shader/dxil: Validate that floating-point extension casts increase bit width.
2025-06-04 13:01:51 +02:00
Giovanni Mascellani
a91fb0523a
vkd3d-shader/dxil: Validate that integer extension casts increase bit width.
2025-06-04 13:01:51 +02:00
Giovanni Mascellani
a90b74baaa
vkd3d-shader/dxil: Validate that floating-point truncation casts decrease bit width.
...
Similarly to the integer case.
2025-06-04 13:01:45 +02:00
Giovanni Mascellani
0e006715d8
vkd3d-shader/dxil: Do not use field "reg" in of sm6_value when writing bitcasts.
...
It's going to be removed; the generated register data type is the
right thing to look at here.
2025-06-04 12:34:21 +02:00
Elizabeth Figura
9552dab5aa
vkd3d-shader: Use the correct union members for raw and structured resources.
2025-06-04 12:10:39 +02:00
Shaun Ren
2b257caea9
vkd3d-shader/hlsl: Don't optimize semantic register allocations in SM1.
...
This matches the behaviour of fxc/d3dcompiler.
2025-06-02 20:53:00 +02:00
Nikolay Sivov
b6ef417e71
vkd3d-shader/fx: Handle bool types when parsing fx_2_0 assignment values.
2025-06-02 20:51:38 +02:00
Nikolay Sivov
c895f63a1c
vkd3d-shader/fx: Fix a crash in fx -> d3d-asm when named values are not defined.
2025-06-02 20:51:38 +02:00
Nikolay Sivov
108f4fe47e
vkd3d-shader/fx: Fix reading the assignment value base type when parsing fx_2_0.
2025-06-02 20:51:33 +02:00
Nikolay Sivov
4e2fefdfdf
vkd3d-shader/fx: Use correct array sizes for the fx_2_0 states.
2025-06-02 20:43:44 +02:00
Nikolay Sivov
4ef4baa6bf
vkd3d-shader/fx: Fix some typos in fx_2_0 state names.
2025-06-02 20:43:44 +02:00
Nikolay Sivov
68386f5180
vkd3d-shader/fx: Print packoffset() modifiers in fx -> d3d-asm output.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-02 20:43:44 +02:00
Nikolay Sivov
6b2800fa99
vkd3d-shader/fx: Print explicit buffer bind points in fx -> d3d-asm output.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-02 20:43:27 +02:00
Nikolay Sivov
e33189546a
vkd3d-shader/fx: Use variable unpacked size when setting buffer sizes.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-02 20:41:37 +02:00
Giovanni Mascellani
9f0185f304
vkd3d-shader/msl: Support the ABSNEG source modifier.
2025-06-02 20:36:42 +02:00
Giovanni Mascellani
bc0dd891c3
vkd3d-shader/glsl: Support the ABSNEG source modifier.
2025-06-02 20:35:48 +02:00
Giovanni Mascellani
10be58a74f
vkd3d-shader/msl: Ignore the PARTIALPRECISION destination modifier.
2025-06-02 20:33:01 +02:00
Giovanni Mascellani
9f5db1e3e4
vkd3d-shader/glsl: Ignore the PARTIALPRECISION destination modifier.
2025-06-02 20:32:46 +02:00
Giovanni Mascellani
df8b611334
vkd3d-shader/msl: Accept and ignore the REFACTORING_ALLOWED global flag.
2025-06-02 20:32:36 +02:00
Giovanni Mascellani
5998723e7c
vkd3d-shader/glsl: Accept and ignore the REFACTORING_ALLOWED global flag.
2025-06-02 20:31:19 +02:00