Elizabeth Figura
600f90e8b0
vkd3d-shader/hlsl: Handle error expressions in assignments.
2024-10-03 17:47:26 +02:00
Elizabeth Figura
c94aa5e03c
vkd3d-shader/hlsl: Handle error expressions in binary expressions.
2024-10-03 17:47:26 +02:00
Elizabeth Figura
d6052bc31b
vkd3d-shader/hlsl: Handle error expressions in function calls.
2024-10-03 17:47:26 +02:00
Elizabeth Figura
5d52bef19d
vkd3d-shader/hlsl: Return an "error" expression when using an undeclared variable.
2024-10-03 17:47:26 +02:00
Elizabeth Figura
67093c5833
vkd3d-shader/hlsl: Free static initializers after functions.
...
We need users of a value to be freed before the value itself is.
Due to copy propagation or use of the pre-allocated error instruction,
static_initializers can contain values that will be used in function blocks.
2024-10-03 17:47:26 +02:00
Giovanni Mascellani
ae27fded1a
vkd3d-shader/spirv: Handle all possible destination modifiers.
...
Historically the SPIR-V backend was only fed by the TPF parser,
which only generates _sat destination modifiers. Now it is fed
by the D3DBC parser too (among others), so it mustn't assert on
other modifiers.
Modifier _pp can be trivially ignored. Modifier _centroid would
probably require some handling, but I'm not immediately sure of
what should happen and it doesn't look like a very urgent thing
anyway, so I'm degrading the assertion to FIXME().
2024-10-02 22:31:50 +02:00
Henri Verbeet
fc4c9b7a95
vkd3d-shader/glsl: Implement VKD3DSIH_USHR.
2024-10-02 22:30:58 +02:00
Henri Verbeet
babbf11d52
vkd3d-shader/glsl: Implement VKD3DSIH_ISHR.
2024-10-02 22:30:58 +02:00
Henri Verbeet
7f1c78f8e2
vkd3d-shader/glsl: Implement VKD3DSIH_ISHL.
2024-10-02 22:30:58 +02:00
Henri Verbeet
f501b8c661
vkd3d-shader/glsl: Implement VKD3DSIH_MAD.
2024-10-02 22:30:58 +02:00
Henri Verbeet
4103e76245
vkd3d-shader/glsl: Implement support for VKD3DSPDM_SATURATE modifiers.
2024-10-02 22:30:58 +02:00
Nikolay Sivov
79aa75e98f
vkd3d-shader/fx: Implement writing fx_2_0 object initializer data sections.
...
Object data is used for strings, textures, and shaders. Samplers are handled separately.
The section is a contigious stream of <id><size><object-data>, size field is used
to advance to the next <id> position.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-02 22:17:41 +02:00
Giovanni Mascellani
7e9dc8da97
vkd3d-shader/ir: Validate index count for MISCTYPE registers.
2024-10-02 22:12:47 +02:00
Giovanni Mascellani
99aebb1b31
vkd3d-shader/ir: Validate index count for RASTOUT registers.
2024-10-02 22:12:47 +02:00
Giovanni Mascellani
19d35d89cd
vkd3d-shader/ir: Validate index count for DEPTHOUTLE registers.
2024-10-02 22:12:47 +02:00
Giovanni Mascellani
6259832680
vkd3d-shader/ir: Validate index count for DEPTHOUTGE registers.
2024-10-02 22:12:47 +02:00
Giovanni Mascellani
c3757e6930
vkd3d-shader/ir: Validate index count for DEPTHOUT registers.
2024-10-02 22:12:47 +02:00
Giovanni Mascellani
53e35f2d76
vkd3d-shader/d3dbc: Do not emit indices for DEPTHOUT registers.
2024-10-02 22:11:48 +02:00
Francisco Casas
caa2a9d314
vkd3d-shader/hlsl: Parse sampler_state.
2024-10-02 22:07:34 +02:00
Francisco Casas
f47d523e0b
vkd3d-shader/hlsl: Process 'texture' as a valid stateblock lhs.
2024-10-02 22:07:34 +02:00
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