Commit Graph

2413 Commits

Author SHA1 Message Date
Henri Verbeet
c2a01fff1e vkd3d-shader/msl: Implement support for static texel offsets in msl_sample(). 2025-06-24 15:32:59 +02:00
Henri Verbeet
6f8ce6df72 vkd3d-shader/msl: Implement VKD3DSIH_GATHER4_PO. 2025-06-24 15:32:59 +02:00
Henri Verbeet
449804623a vkd3d-shader/msl: Implement VKD3DSIH_GATHER4_C. 2025-06-24 15:32:59 +02:00
Henri Verbeet
841cf65a41 vkd3d-shader/msl: Implement VKD3DSIH_GATHER4. 2025-06-24 15:32:59 +02:00
Henri Verbeet
3cc404759d vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_LOD. 2025-06-24 15:32:59 +02:00
Shaun Ren
4ede2f1365 vkd3d-shader/hlsl: Allow memory barriers in SM4+ target profiles. 2025-06-24 14:51:34 +02:00
Henri Verbeet
e5bf48a2ba vkd3d-shader/spirv: Do not require VKD3D_SHADER_BINDING_FLAG_IMAGE for sampler descriptors. 2025-06-23 18:00:10 +02:00
Francisco Casas
83979ec07a tests/hlsl: Fix up point-sprite.shader_test.
Write the shaders so that texcoord's register index in the vertex output
signature matches the register index in the pixel input signature
(o0 and v0 in this case) in SM4.
2025-06-23 17:59:20 +02:00
Francisco Casas
2e0cbff3a0 vkd3d-shader/hlsl: Allocate return variables before other outputs.
point-sprite.shader_test is not technically well formed since, in SM4,
the vertex output signature should be:

// Output signature:
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// sv_position              0   xyzw        0      POS   float   xyzw
// texcoord                 0   xy          1     NONE   float   xy

and the pixel input signature should be:

// Input signature:
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// texcoord                 0   xy          0     NONE   float   xy

so we are not passing "texcoord" properly to the pixel shader, even on
Windows.
2025-06-23 17:56:40 +02:00
Francisco Casas
e0359c5299 tests/hlsl: Test the allocation order of return semantics. 2025-06-23 17:53:03 +02:00
Francisco Casas
cf726cf521 tests/shader_runner_d3d12: Handle the "bug" qualifier on state creation failure. 2025-06-23 17:50:37 +02:00
Henri Verbeet
46265061c3 vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_GRAD. 2025-06-23 17:48:07 +02:00
Henri Verbeet
db89687807 vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_C_LZ 2025-06-23 17:48:07 +02:00
Henri Verbeet
f30510a9b3 vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_C. 2025-06-23 17:48:07 +02:00
Henri Verbeet
0c8bc0f42c vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_B. 2025-06-23 17:48:07 +02:00
Henri Verbeet
af8b3f94e7 vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE. 2025-06-23 17:48:07 +02:00
Nikolay Sivov
f135f7fe07 vkd3d-shader/hlsl: Add a stub for the noise() intrinsic.
This function is used in tx_1_0 code, but is also supported in
fx_2_0 and fx_4_0 expressions.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-06-19 20:36:27 +02:00
Giovanni Mascellani
46fac7f264 tests: Add a test for the partial precision destination modifier. 2025-06-19 19:48:56 +02:00
Giovanni Mascellani
39603f4bc2 vkd3d-shader/dxil: Emit 16-bit structured TGSMs as minimum precision. 2025-06-18 15:48:55 +02:00
Giovanni Mascellani
5e1c8056ae vkd3d-shader/dxil: Emit 16-bit raw TGSMs as minimum precision. 2025-06-18 15:48:55 +02:00
Henri Verbeet
9c2643b9f7 vkd3d-shader/msl: Implement VKD3DSIH_LD2DMS. 2025-06-11 20:27:54 +02:00
Henri Verbeet
2d90f51d57 tests/shader_runner_metal: Implement resource copies. 2025-06-11 20:27:54 +02:00
Henri Verbeet
5899d8f54b vkd3d-shader/msl: Implement VKD3DSIH_XOR. 2025-06-11 20:27:54 +02:00
Henri Verbeet
36a999e09f vkd3d-shader/msl: Implement VKD3DSIH_ULT. 2025-06-11 20:27:54 +02:00
Henri Verbeet
6a159a5565 vkd3d-shader/msl: Implement VKD3DSIH_INEG. 2025-06-11 20:27:54 +02:00