Nikolay Sivov
994e994231
vkd3d-shader/fx: Handle assignments with array RHS indexed with a constant or a single variable.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-02 22:05:46 +02:00
Nikolay Sivov
2722346ffb
vkd3d-shader/hlsl: Do not lower index expressions for effects.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-02 22:05:24 +02:00
Elizabeth Figura
4400315c4b
vkd3d-shader: Allow controlling clip planes through vkd3d-shader parameters.
2024-10-02 21:49:54 +02:00
Elizabeth Figura
85b8503995
vkd3d-shader/ir: Remove newlines from some vkd3d_shader_error() calls.
2024-10-02 21:49:54 +02:00
Henri Verbeet
3452d126a8
vkd3d-shader/glsl: Implement VKD3DSIH_ELSE.
2024-10-01 17:29:48 +02:00
Henri Verbeet
01ba2ba6db
vkd3d-shader/glsl: Implement VKD3DSIH_NOT.
2024-10-01 17:29:48 +02:00
Henri Verbeet
1812258f37
vkd3d-shader/glsl: Implement VKD3DSIH_RSQ.
2024-10-01 17:29:48 +02:00
Henri Verbeet
5cf8562124
vkd3d-shader/glsl: Implement VKD3DSIH_MIN.
2024-10-01 17:29:48 +02:00
Henri Verbeet
4f054aed48
vkd3d-shader/glsl: Implement VKD3DSIH_MAX.
2024-10-01 17:29:48 +02:00
Victor Chiletto
2ea5f187f9
vkd3d-shader/hlsl: Allow cbuffer reservations to overlap if only one of them is allocated.
2024-10-01 17:28:41 +02:00
Nikolay Sivov
5e52ccbf3d
vkd3d-shader/hlsl: Move default values indexing fixup to the tpf writer stage.
...
The primary goal here is to move compilation profile type and version
check outside of a parsing stage. Default values for parameters were
never subjected to this fixup, and it does look tpf-specific, so moving
it where it belongs.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-01 17:27:12 +02:00
Giovanni Mascellani
6822f1fe6c
vkd3d-shader/dxil: Trace the program when validation fails after parsing.
2024-09-30 20:48:43 +02:00
Giovanni Mascellani
5f20103518
vkd3d-shader/d3dbc: Trace the program when validation fails after parsing.
2024-09-30 20:48:43 +02:00
Giovanni Mascellani
8acaa3a62c
vkd3d-shader/tpf: Propagate validation errors after parsing.
...
Also, trace the program when validation fails after parsing, mostly
to make debugging easier.
2024-09-30 20:48:43 +02:00
Giovanni Mascellani
0f91149260
vkd3d-shader/d3d-asm: Dump all indices when tracing VSIR code.
...
Our ASM dumper currently hides or interprets some register indices
in order to match users expectations. This can be inconvenient for
developers, though, because it makes it harder to understand what's
really going on in the VSIR code when reading logs. With this change
the whole index structure is dumped.
2024-09-30 20:22:53 +02:00
Henri Verbeet
10559fa17a
vkd3d-shader/glsl: Implement VKD3DSIH_LOG.
2024-09-30 20:21:14 +02:00
Henri Verbeet
700eba0b01
vkd3d-shader/glsl: Handle SV_IS_FRONT_FACE inputs.
2024-09-30 20:20:11 +02:00
Henri Verbeet
0cc0b68fb4
vkd3d-shader/glsl: Implement VKD3DSIH_ROUND_NE.
2024-09-30 20:08:58 +02:00
Henri Verbeet
308121ba04
vkd3d-shader/glsl: Implement VKD3DSIH_IF and VKD3DSIH_ENDIF.
2024-09-30 20:08:58 +02:00
Henri Verbeet
e911433e0c
vkd3d-shader/glsl: Implement VKD3DSIH_ROUND_NI.
2024-09-30 20:08:58 +02:00
Giovanni Mascellani
5c2b057b56
vkd3d-shader/ir: Validate UAV registers.
2024-09-30 20:05:52 +02:00
Giovanni Mascellani
b7b5b0cff8
vkd3d-shader/ir: Validate RESOURCE registers.
2024-09-30 20:05:52 +02:00
Giovanni Mascellani
a0b98c1610
vkd3d-shader/ir: Validate SAMPLER registers.
2024-09-30 20:05:52 +02:00
Giovanni Mascellani
7404fa5285
vkd3d-shader/dxil: Emit RESOURCE and UAV registers with data type UNUSED.
2024-09-30 20:05:39 +02:00
Nikolay Sivov
300e4e0d12
vkd3d-shader/fx: Add support for writing annotations for fx_2_0.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-30 20:02:51 +02:00
Nikolay Sivov
c9c537faa0
vkd3d-shader/fx: Add initial support for writing default values for fx_2_0.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-30 20:02:05 +02:00
Nikolay Sivov
da0469f190
vkd3d-shader/fx: Handle the 'half' type in fx_4+.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-30 20:01:57 +02:00
Conor McCarthy
2bf517782d
vkd3d-shader/dxil: Load forward-referenced sources as value/type pairs in sm6_parser_emit_store().
2024-09-30 19:58:06 +02:00
Conor McCarthy
6a86e1a8d9
vkd3d-shader/dxil: Load forward-referenced comparands as value/type pairs in sm6_parser_emit_cmpxchg().
2024-09-30 19:57:55 +02:00
Giovanni Mascellani
828e5f1249
vkd3d-shader/ir: Disallow RESOURCE registers in destination parameters.
2024-09-26 17:44:52 +02:00
Giovanni Mascellani
674ad7d655
vkd3d-shader/ir: Disallow SAMPLER registers in destination parameters.
2024-09-26 17:44:52 +02:00
Giovanni Mascellani
6de741e5e7
vkd3d-shader/ir: Do not allow NULL registers in source parameters.
2024-09-26 17:44:52 +02:00
Giovanni Mascellani
8d85ea2dc5
vkd3d-shader: Get rid of the RESOURCE data type.
2024-09-26 17:42:16 +02:00
Giovanni Mascellani
e58726310b
vkd3d-shader: Get rid of the UAV data type.
2024-09-26 17:42:16 +02:00
Giovanni Mascellani
2934f820a9
vkd3d-shader: Get rid of the SAMPLER data type.
2024-09-26 17:42:16 +02:00
Giovanni Mascellani
afa2fd527c
vkd3d-shader/dxil: Release memory on exceptional paths when parsing DXIL code. (Valgrind)
2024-09-26 17:41:21 +02:00
Henri Verbeet
466c8bfbb7
vkd3d-shader/glsl: Implement VKD3DSIH_LTO.
2024-09-26 17:40:07 +02:00
Henri Verbeet
44e96ad4d6
vkd3d-shader/glsl: Implement VKD3DSIH_EXP.
2024-09-26 17:40:07 +02:00
Henri Verbeet
d68e60a78a
vkd3d-shader/glsl: Implement VKD3DSIH_IEQ.
2024-09-26 17:40:07 +02:00
Henri Verbeet
55de9ea405
vkd3d-shader/glsl: Implement VKD3DSIH_DCL_INPUT_PS.
2024-09-26 17:40:07 +02:00
Henri Verbeet
f0c8b4a3c5
vkd3d-shader/glsl: Implement VKD3DSIH_SQRT.
2024-09-26 17:40:07 +02:00
Giovanni Mascellani
5ad83a05ff
vkd3d-shader/dxil: Release memory on exceptional paths in sm6_parser_read_signature(). (Valgrind)
2024-09-26 01:05:35 +02:00
Henri Verbeet
92a7cc3420
vkd3d-shader/glsl: Implement VKD3DSIH_DP2.
2024-09-26 01:04:32 +02:00
Henri Verbeet
b9d8b84b06
vkd3d-shader/glsl: Implement VKD3DSIH_DP4.
2024-09-26 01:04:32 +02:00
Henri Verbeet
93cd63bc93
vkd3d-shader/glsl: Implement VKD3DSIH_DP3.
2024-09-26 01:04:32 +02:00
Henri Verbeet
929010ffd7
vkd3d-shader/glsl: Implement support for the VKD3DSPR_DEPTHOUT register.
2024-09-26 01:04:32 +02:00
Henri Verbeet
459f141e81
vkd3d-shader/glsl: Implement VKD3DSIH_ROUND_Z.
2024-09-26 01:04:32 +02:00
Feifan He
e8b14d765d
vkd3d-shader/msl: Implement support for VKD3DSPR_TEMP registers.
2024-09-24 13:56:11 +02:00
Henri Verbeet
f37be27bdc
vkd3d-shader/ir: Properly check the register bounds in shader_signature_find_element_for_reg().
...
Perhaps the existing code is safe in practice, but doing the check
properly avoids having to make that determination.
2024-09-24 13:39:43 +02:00
Henri Verbeet
8e39783770
vkd3d-shader/glsl: Implement VKD3DSIH_ROUND_PI.
2024-09-24 13:38:26 +02:00