Commit Graph

524 Commits

Author SHA1 Message Date
Henri Verbeet
25232f2b2b vkd3d-shader/glsl: Implement VKD3DSIH_IMUL. 2024-10-03 19:20:14 +02:00
Henri Verbeet
4dec4e9959 vkd3d-shader/glsl: Implement VKD3DSIH_ILT. 2024-10-03 19:18:15 +02:00
Henri Verbeet
68492e704f vkd3d-shader/glsl: Implement VKD3DSIH_IGE. 2024-10-03 19:15:48 +02:00
Henri Verbeet
cf6a3ad676 vkd3d-shader/glsl: Implement VKD3DSIH_SAMPLE. 2024-10-03 19:15:48 +02:00
Henri Verbeet
eb10f0897e vkd3d-shader/glsl: Implement VKD3DSIH_LD. 2024-10-03 19:14:43 +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
Francisco Casas
caa2a9d314 vkd3d-shader/hlsl: Parse sampler_state. 2024-10-02 22:07:34 +02:00
Francisco Casas
125bf74ef3 tests: Test sampler_state keyword syntax. 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
849d4b3b2b tests: Add some tests for state value assignments.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-02 22:04:44 +02:00
Elizabeth Figura
3b1760134f tests: Test clip planes. 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
Victor Chiletto
8010ef8771 tests: Add a test for unused overlapping cbuffer reservations. 2024-10-01 17:28:41 +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
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
Nikolay Sivov
2626dcc55d tests: Add some tests for initial values in effects.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-30 19:59: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
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
Henri Verbeet
8e39783770 vkd3d-shader/glsl: Implement VKD3DSIH_ROUND_PI. 2024-09-24 13:38:26 +02:00
Henri Verbeet
58472e7404 vkd3d-shader/glsl: Implement VKD3DSIH_FTOU. 2024-09-24 13:38:26 +02:00
Atharva Nimbalkar
f441d3e112 vkd3d-shader/glsl: Implement VKD3DSIH_UTOF. 2024-09-24 13:38:26 +02:00
Henri Verbeet
a3d06c8f12 vkd3d-shader/glsl: Implement VKD3DSIH_FTOI. 2024-09-24 13:38:26 +02:00
Atharva Nimbalkar
b81cdcb488 vkd3d-shader/glsl: Implement VKD3DSIH_ITOF. 2024-09-24 13:38:26 +02:00
Elizabeth Figura
650bf4d83f vkd3d-shader/hlsl: Fix a corner case in ternary type conversion.
If the condition and argument types are compatible, i.e. there is no broadcast,
the resulting shape should be the shape of the arguments, not the shape of the
condition.
2024-09-23 15:43:15 +02:00
Elizabeth Figura
b2cddecfc5 vkd3d-shader/hlsl: Use add_cast() in append_conditional_break().
Instead of creating a cast node directly.

This specifically handles the 1x1 matrix case, which currently the backend code does not expect.
2024-09-23 15:43:15 +02:00
Atharva Nimbalkar
ee8e005209 vkd3d-shader/glsl: Implement VKD3DSIH_MOVC. 2024-09-23 15:41:07 +02:00