Commit Graph

5898 Commits

Author SHA1 Message Date
Giovanni Mascellani
a115cd9ec0 vkd3d-shader/ir: Validate DMUL instructions. 2025-06-23 18:07:09 +02:00
Giovanni Mascellani
402c2bf10a vkd3d-shader/ir: Validate DMOV instructions. 2025-06-23 18:07:09 +02:00
Giovanni Mascellani
32746c664d vkd3d-shader/ir: Validate DMIN instructions. 2025-06-23 18:07:09 +02:00
Giovanni Mascellani
2f4038bae7 vkd3d-shader/ir: Validate DMAX instructions. 2025-06-23 18:07:09 +02:00
Giovanni Mascellani
bd4681622d vkd3d-shader/ir: Validate DLT instructions. 2025-06-23 18:07:09 +02:00
Giovanni Mascellani
dc33622919 vkd3d-shader/ir: Validate DIV instructions. 2025-06-23 18:07:09 +02:00
Giovanni Mascellani
666eb98ab6 vkd3d-shader/ir: Validate DGEO instructions. 2025-06-23 18:06:20 +02:00
Giovanni Mascellani
227df56c6c vkd3d-shader/ir: Validate DFMA instructions. 2025-06-23 18:00:55 +02:00
Giovanni Mascellani
2b922e6b8e vkd3d-shader/ir: Validate DDIV instructions. 2025-06-23 18:00:55 +02:00
Giovanni Mascellani
ead690a17a vkd3d-shader/ir: Validate DADD instructions. 2025-06-23 18:00:55 +02:00
Henri Verbeet
be2c8041d0 vkd3d-shader/d3dbc: Use TAG_CTAB in d3dbc_compile(). 2025-06-23 18:00: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
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
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
Elizabeth Figura
d5237ec1cc vkd3d-shader/hlsl: Output SSA registers where possible. 2025-06-23 17:44:11 +02:00
Elizabeth Figura
288020bce8 vkd3d-shader/ir: Allocate SSA registers to temps. 2025-06-23 17:39:12 +02:00
Elizabeth Figura
7b9d04fff8 vkd3d-shader/ir: Track liveness in the SSA allocator. 2025-06-23 17:34:28 +02:00
Elizabeth Figura
5e4c61eba6 vkd3d-shader/ir: Introduce a stub SSA to temp allocation pass. 2025-06-23 17:32:59 +02:00
Elizabeth Figura
34dbd60e01 vkd3d-shader/hlsl: Add a register type field to struct hlsl_reg.
This will be used for temps. After moving temp allocation to vsir, some of these
will be VKD3DSPR_SSA, and some will not.
2025-06-23 17:28:40 +02:00
Conor McCarthy
9d490b83d4 vkd3d-shader/dxil: Add a null check for the type when validating non-void operands. 2025-06-19 20:45:28 +02:00
Conor McCarthy
c3110d2f94 vkd3d-shader/dxil: Check the destination value is invalid after calling a void function handler. 2025-06-19 20:45:28 +02:00