Giovanni Mascellani
bc351f4b70
tests/shader-runner: Make geometry shaders optional.
...
This allows the Vulkan runner to execute in environments which do
not support geometry shaders, most notably MoltenVK. In particular,
that enables SM<4 shaders to run in such environments
2024-10-15 16:55:15 +02:00
Henri Verbeet
90616be301
vkd3d-shader/dxil: Shift register write masks by the component index in sm6_parser_emit_dx_store_output().
...
To account for the change we made in commit
c571a45e65
on the SPIR-V side.
2024-10-15 16:45:28 +02:00
Henri Verbeet
2d848cf001
tests: Add a basic shader model 6 interface packing test as well.
2024-10-15 16:45:28 +02:00
Nikolay Sivov
5fb3a91276
vkd3d-shader/hlsl: Implement the modf() intrinsic.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-15 16:43:33 +02:00
Henri Verbeet
9dd42d15dd
build: Actually run interface-packing.shader_test and tessellation-patch-vars.shader_test.
2024-10-14 19:40:13 +02:00
Elizabeth Figura
cd249a47b8
tests: Test FFP point size clamping.
2024-10-10 22:44:33 +02:00
Elizabeth Figura
ec53e325b6
tests: Test FFP point size.
2024-10-10 22:30:35 +02:00
Elizabeth Figura
6ee17cf77e
vkd3d-shader/spirv: Implement shader point size.
2024-10-10 22:14:45 +02:00
Elizabeth Figura
a29a4288d2
tests: Add a test for shader point size output.
2024-10-10 21:50:30 +02:00
Henri Verbeet
bf71b13797
vkd3d-shader/glsl: Implement support for compute shaders.
2024-10-10 20:00:45 +02:00
Henri Verbeet
fb17ba18ae
vkd3d-shader/glsl: Implement VKD3DSIH_STORE_UAV_TYPED.
2024-10-10 20:00:45 +02:00
Henri Verbeet
aba45d0386
vkd3d-shader/glsl: Implement VKD3DSIH_CONTINUE.
2024-10-09 13:14:31 +02:00
Henri Verbeet
bc4aacd21e
vkd3d-shader/glsl: Implement VKD3DSIH_ULT.
2024-10-09 13:14:31 +02:00
Henri Verbeet
27eb3c07ad
vkd3d-shader/glsl: Implement switches.
2024-10-09 13:14:31 +02:00
Henri Verbeet
93f1af721f
vkd3d-shader/glsl: Implement loops.
2024-10-09 13:14:31 +02:00
Henri Verbeet
790f35533b
vkd3d-shader/glsl: vkd3d-shader/glsl: Implement support for VKD3D_SHADER_COMPONENT_INT inputs.
2024-10-09 13:14:31 +02:00
Henri Verbeet
fc8384462f
vkd3d-shader/glsl: Implement VKD3DSIH_IMAX.
2024-10-08 22:01:56 +02:00
Henri Verbeet
c2a42214ff
vkd3d-shader/glsl: Implement VKD3DSIH_INEG.
2024-10-08 22:01:56 +02:00
Henri Verbeet
e55bc76fd2
vkd3d-shader/glsl: Implement support for VKD3D_SHADER_COMPONENT_UINT inputs.
2024-10-08 22:01:56 +02:00
Henri Verbeet
0acebd6e09
vkd3d-shader/glsl: Implement support for VKD3D_SHADER_COMPONENT_UINT outputs.
2024-10-08 22:01:56 +02:00
Henri Verbeet
95a46fb0f0
vkd3d-shader/glsl: Handle SV_POSITION inputs in fragment shaders.
2024-10-08 22:01:56 +02:00
Evan Tang
102cfdab36
tests: Add a test for writing patch constants during tessellation.
2024-10-07 17:44:29 +02:00
Evan Tang
3342d307a8
tests: Add a test for shader interstage register packing.
2024-10-07 17:39:45 +02:00
Henri Verbeet
e7c4867359
vkd3d-shader/glsl: Implement support for VKD3DSPR_IDXTEMP registers.
2024-10-07 17:31:20 +02:00
Henri Verbeet
944929d0da
vkd3d-shader/glsl: Implement VKD3DSIH_IADD.
2024-10-07 17:31:20 +02:00
Henri Verbeet
4eed6b8887
vkd3d-shader/glsl: Add interpolation modifiers to interstage inputs and outputs.
2024-10-07 17:31:20 +02:00
Henri Verbeet
7b47528e4b
vkd3d-shader/glsl: Handle SV_VERTEX_ID inputs.
2024-10-07 17:31:20 +02:00
Henri Verbeet
79455041f0
vkd3d-shader/glsl: Implement VKD3DSIH_EQO.
2024-10-07 17:31:19 +02:00
Nikolay Sivov
565698711b
tests: Add a test for uniform array indexing.
2024-10-07 17:30:41 +02:00
Francisco Casas
0b989c9f37
vkd3d-shader/hlsl: Fix the conditions to discard default values.
...
Otherwise default_values for strings are lost.
Thanks to Nikolay Sivov for pointing this out.
2024-10-07 17:28:07 +02:00
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