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
Conor McCarthy
a410c448ce
vkd3d-shader/dxil: Validate the function return type after calling the handler.
...
The handler writes the destination value.
2025-06-19 20:44:54 +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
93e1a8c784
vkd3d-shader/ir: Lower tpf SINCOS to the new COS and SIN instructions.
2025-06-19 20:33:09 +02:00
Giovanni Mascellani
37c2f709d1
vkd3d-shader/ir: Lower d3dbc SINCOS to the new COS and SIN instructions.
2025-06-19 20:32:55 +02:00
Giovanni Mascellani
6f092fb84a
vkd3d-shader/ir: Introduce opcode SIN.
...
It is meant to compute sine.
2025-06-19 20:32:50 +02:00
Giovanni Mascellani
322f2e5496
vkd3d-shader/ir: Introduce opcode COS.
...
It is meant to compute cosine, and gradually replace SINCOS, at
least from a certain point in the pipeline on.
2025-06-19 20:32:41 +02:00