Shaun Ren
7408ab145a
vkd3d-utils: Implement version reflection.
2024-10-21 18:09:06 +02:00
Giovanni Mascellani
e411fcb60e
tests: Test discontiguous signature masks with SM<4 shaders.
2024-10-17 17:28:52 +02:00
Conor McCarthy
b092fcfc46
tests/d3d12: Test buffer and texture SRVs in test_unbounded_resource_arrays().
...
On virtual heaps, SRV/UAV unbounded ranges are implemented using two
descriptor sets, one for buffers and another for textures, and this case
should be tested.
2024-10-17 17:23:04 +02:00
Shaun Ren
1ed5f1a4d0
vkd3d-shader/tpf: Write the patch constant function in hull shaders.
...
We use a single hs_fork_phase here for the patch constant function.
2024-10-16 21:40:40 +02:00
Shaun Ren
f771f081d9
tests: Test signature reflection for hull shaders.
2024-10-16 21:22:02 +02:00
Shaun Ren
147f8898ca
vkd3d-shader/hlsl: Process the patch constant function in hlsl_emit_bytecode().
...
Also, support patch constant function semantics in sm4_sysval_semantic_from_semantic_name().
2024-10-16 21:10:24 +02:00
Shaun Ren
aee00ea55a
tests: Test hull shader uniform input parameters.
2024-10-16 21:07:53 +02:00
Shaun Ren
069b8aac64
vkd3d-shader/hlsl: Implement struct single inheritance.
...
Here, we implement single inheritance by inserting a field at the
beginning of the derived struct with name "$super".
For the following struct declarations
struct a
{
float4 aa;
float4 bb;
};
struct b : a
{
float4 cc;
};
struct c : b
{
float4 bb;
};
this commit generates the following:
struct a
{
float4 aa;
float4 bb;
};
struct b
{
struct a $super;
float4 cc;
};
struct c
{
struct b $super;
float4 bb;
};
2024-10-16 21:07:53 +02:00
Shaun Ren
013e354b46
tests: Test struct single inheritance.
2024-10-16 21:07:53 +02:00
Francisco Casas
0ab5e1cb03
tests: Test interstage signature with arrays.
2024-10-16 16:49:55 +02:00
Francisco Casas
d3c464212d
tests: Test interstage signature optimizations.
2024-10-16 16:47:41 +02:00
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
Henri Verbeet
3ddf46649b
tests/shader_runner: Trace the "clip-planes" cap.
2024-10-10 22:28:26 +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
Giovanni Mascellani
3285d1ad8c
tests: Only destroy the device if the context has one in vulkan_test_context_destroy().
...
If vulkan_test_context_init_device() was never called, or failed to
create a device, the context won't have a device.
2024-10-10 19:53:18 +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
Conor McCarthy
fcb09be6e3
tests/shader-runner: Move the Vulkan helper functions to vulkan_utils.h.
2024-10-08 20:34:03 +02:00
Conor McCarthy
ce83628882
tests/shader-runner: Move struct vulkan_test_context to vulkan_utils.h.
2024-10-08 20:34:03 +02:00
Conor McCarthy
fc65170521
tests/shader_runner: Introduce struct vulkan_test_context for the Vulkan runner.
2024-10-08 20:34:03 +02:00
Conor McCarthy
d76435cd21
tests: Move the dxc compilation helpers to utils.h.
2024-10-08 20:34:03 +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
Giovanni Mascellani
fbd8b1a8c4
tests/shader-runner: Print the WARP driver version.
...
Since recent versions seem to have more features and possibly
fewer bugs it is useful to know what you're dealing with.
Currently the latest WARP drivers are distributed here:
https://www.nuget.org/packages/Microsoft.Direct3D.WARP
2024-10-07 17:33:50 +02:00
Elizabeth Figura
aa79bfa681
vkd3d-shader/preproc: Store argument values per expansion, not per macro.
2024-10-07 17:32:27 +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