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
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
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