Henri Verbeet
a8defb4e21
tests/shader_runner_metal: Implement multi-sample readback.
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
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
87fe08fe0e
tests/hlsl: Test TGSMs with minimum precision unsigned integers.
2025-06-05 15:50:23 +02:00
Giovanni Mascellani
1d77d51ca4
tests/hlsl: Test some quirks of TGSMs with SM < 5.0.
...
I'm not specifically interested in that, but since I ran into
those idiosyncrasies while writing other TGSM tests I decided that
it might turn out useful to keep them.
2025-06-05 15:50:04 +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
0236308866
tests/hlsl: Test minimum precision IDXTEMP registers.
2025-06-05 15:50:01 +02:00
Giovanni Mascellani
f1b36edc07
ci: Enable testing with DXC again on macOS.
...
This was disabled by commit 653e4f47ac
.
2025-06-04 13:07:17 +02:00
Giovanni Mascellani
a4c727ac40
tests: Mark some tests in calculate-lod.shader_test as buggy on MoltenVK < 1.2.11.
2025-06-04 13:04:53 +02:00
Giovanni Mascellani
c82d1aac4d
tests: Mark some tests in arithmetic-int-uniform.shader_test as buggy on MoltenVK < 1.2.11.
...
The bug is already solved on recent MoltenVK versions, but the CI
is stuck with 1.2.9, so it's useful to filter these failures out.
2025-06-04 13:04:53 +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
Henri Verbeet
85d2703c03
tests/shader_runner: Introduce a "tessellation-shader" cap.
...
Similar to how we have the "geometry-shader" cap. In principle shader
model 5+ implies support for tessellation shaders, but the Vulkan,
OpenGL, and Metal runners are able to support most of shader model 5+
without the underlying GPU (or API) necessarily supporting tessellation
shaders.
2025-06-04 12:10:10 +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