2037 Commits

Author SHA1 Message Date
Feifan He
4add058cd8 vkd3d-shader/msl: Implement support for VKD3DSPSM_ABS modifiers. 2024-11-23 23:43:42 +01:00
Feifan He
5bb7dcaba3 vkd3d-shader/msl: Implement support for VKD3DSPR_IMMCONST registers. 2024-11-23 23:43:42 +01:00
Feifan He
05b9331d0d vkd3d-shader/msl: Implement VKD3DSIH_ADD. 2024-11-23 23:43:42 +01:00
Francisco Casas
64bc0515e0 vkd3d-shader/hlsl: Add special allocation rules for FFACE and SAMPLE. 2024-11-23 23:13:13 +01:00
Francisco Casas
2c15015ec2 tests: Test allocation rules for FFACE and SAMPLE.
These seem to have their own interpolation mode.
2024-11-23 23:10:56 +01:00
Francisco Casas
ad5377f995 vkd3d-shader/hlsl: Add special allocation rules for PRIMID, RTINDEX, and VPINDEX.
These system values are bound to the same allocation rules as other
semantics: they can share registers with other semantics with the same
interpolation mode and they prefer forming shorter writemasks. However,
for some reason, these don't allow further semantics to share the same
register once allocated, except among themselves.
2024-11-23 23:10:46 +01:00
Francisco Casas
2c0773c9ad tests: Test signature reflection for PRIMID, RTINDEX and VPINDEX. 2024-11-23 22:57:23 +01:00
Anna (navi) Figueiredo Gomes
9f3bbab2f0 vkd3d-shader/hlsl: Implement cast from bool to int for SM1. 2024-11-21 19:28:46 +01:00
Shaun Ren
843fc980b5 tests/shader_runner_gl: Implement tessellation support. 2024-11-21 19:27:51 +01:00
Shaun Ren
12ac1dd46b tests/shader_runner_vulkan: Enable patch list topology support. 2024-11-21 15:11:02 +01:00
Victor Chiletto
3669763835 tests: Add more function overloading tests. 2024-11-21 14:52:17 +01:00
Henri Verbeet
5c00766eff Release 1.14. 2024-11-21 12:35:55 +01:00
Feifan He
1efc0ac740 tests/shader_runner_metal: Implement draws. 2024-11-20 14:40:10 +01:00
Feifan He
14991f2e17 tests/shader_runner_metal: Create Metal constant buffers. 2024-11-20 14:40:10 +01:00
Feifan He
176e35b6cc tests/shader_runner_metal: Implement render target readback. 2024-11-20 14:40:10 +01:00
Feifan He
f0a864c8a2 tests/shader_runner_metal: Create Metal vertex buffers. 2024-11-20 14:40:10 +01:00
Feifan He
6d6cd8021e tests/shader_runner_metal: Create Metal render targets. 2024-11-20 14:40:10 +01:00
Feifan He
5a679a1af3 tests/shader_runner_metal: Create vertex descriptors. 2024-11-20 14:40:10 +01:00
Feifan He
40cccaccea tests/shader_runner_metal: Implement graphics shader compilation. 2024-11-20 14:40:10 +01:00
Henri Verbeet
c246c8db79 tests/shader_runner_metal: Get rid of some stray semicolons. 2024-11-20 14:40:10 +01:00
Giovanni Mascellani
4c9821e5d5 tests: Mark a conditional rendering test as buggy on llvmpipe.
Similarly to RADV, this is a kind of perverted situation: in
principle Vulkan doesn't allow vkCmdResolveImage() to be
executed conditionally (i.e., it is unaffected by conditional
execution), which means that vkd3d cannot implement conditional
rendering for ResolveSubresource(), hence the todo. However,
like RADV, llvmpipe apparently violates the specification and
still executes the image resolution command conditionally. So
that's a llvmpipe bug, even if one that helps us doing the right
thing.
2024-11-13 16:19:06 +01:00
Henri Verbeet
92fa68cb07 tests/shader_runner: Slightly simplify dxc handling. 2024-11-13 16:18:36 +01:00
Conor McCarthy
2996ad6bd2 vkd3d-shader/dxil: Implement DX intrinsic SampleIndex. 2024-11-13 16:18:13 +01:00
Giovanni Mascellani
c34dc81753 tests: Remove some todo markings on MoltenVK in interface-packing.shader_test.
I have to admit I'm not even sure of why most of those got marked
as todo in the first place. Running again now tests on commit
dff7c0e7b8f425887052384038f44cd9378f5c4b doesn't show all those
failures.
2024-11-11 15:55:11 +01:00
Giovanni Mascellani
a89ceb6590 tests/shader_runner_vulkan: Avoid using ok() for shader compilation failues in create_graphics_pipeline().
Using ok() may result in todo's succeeding when create_shader_stage()
succeeds, but vkCreateGraphicsPipelines() fails. There's not much point
in using ok() here in the first place though, because ultimately the
draw operation is going to fail when shader compilation failed.
2024-11-11 15:54:21 +01:00
Giovanni Mascellani
94900131a8 tests: Mark a couple of tests in register-reservations-numeric.shader_test as todo with MSL. 2024-11-11 15:25:02 +01:00
Henri Verbeet
756b98f093 vkd3d-shader/glsl: Implement VKD3DSIH_LD2DMS. 2024-11-06 22:57:12 +01:00
Henri Verbeet
ca42adbf6b vkd3d-shader/glsl: Handle SV_SAMPLE_INDEX inputs. 2024-11-06 22:56:02 +01:00
Henri Verbeet
3dbaf11f8c vkd3d-shader/glsl: Implement support for static texel offsets in shader_glsl_sample(). 2024-11-06 22:55:36 +01:00
Henri Verbeet
6ae4da02c9 vkd3d-shader/glsl: Implement VKD3DSIH_GATHER4_PO. 2024-11-06 22:53:55 +01:00
Henri Verbeet
466d849c72 vkd3d-shader/glsl: Implement support for VKD3D_SHADER_COMPONENT_INT outputs. 2024-11-06 22:53:31 +01:00
Giovanni Mascellani
026624a266 tests: Work around a Metal bug in switch.shader_test.
The Metal bug was reported to Apple as FB15617433. Since we don't
care specifically about that bug, I'm just tweaking the test so that
it doesn't hit that bad path any more.
2024-11-06 22:15:09 +01:00
Giovanni Mascellani
7450c4a368 tests: Mark some tests in wave-reconvergence.shader_test as buggy on MoltenVK. 2024-11-06 22:15:09 +01:00
Giovanni Mascellani
ba5c3b576e tests: Use the appropriate RTV format in f32tof16.shader_test. 2024-11-06 22:15:09 +01:00
Giovanni Mascellani
5639b54c1b tests: Mark fog.shader_test as todo with MSL. 2024-11-06 22:15:09 +01:00
Nikolay Sivov
e5ba79b4f1 vkd3d-shader/hlsl: Implement the ByteAddressBuffer.Load*() methods.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-11-06 22:09:23 +01:00
Elizabeth Figura
4290d85397 vkd3d-shader/hlsl: Write all writemask components for PSIZE and FOG outputs.
Matching fxc/d3dcompiler.
2024-11-05 19:58:49 +01:00
Elizabeth Figura
5a513ffcec vkd3d-shader/hlsl: Enforce FOG component count for sm1 VS output. 2024-11-05 19:53:24 +01:00
Elizabeth Figura
f50b20ddd6 vkd3d-shader/hlsl: Enforce PSIZE component count for sm1 VS output. 2024-11-05 19:53:24 +01:00
Elizabeth Figura
aa1ce9e295 tests: Add some tests for FOG and PSIZE writemask restrictions. 2024-11-05 19:53:24 +01:00
Nikolay Sivov
5ea946aa90 vkd3d-shader/hlsl: Accept multiple colon-separated attributes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-11-05 18:23:31 +01:00
Conor McCarthy
51c37735a9 tests: Use state RESOLVE_SOURCE for readback from multisampled textures. 2024-11-04 15:30:11 +01:00
Elizabeth Figura
7e4ab9c7c0 vkd3d-shader: Write zeroes for uninitialized outputs in vsir_program_remap_output_signature(). 2024-11-04 15:26:55 +01:00
Elizabeth Figura
e781abc3fb vkd3d-shader: Write uninitialized components of COLOR0 as 1. 2024-11-04 15:21:09 +01:00
Elizabeth Figura
cc9fcee676 vkd3d-shader: Reduce masks to only read components in vsir_program_remap_output_signature(). 2024-11-04 15:11:54 +01:00
Elizabeth Figura
568776bbf6 tests: Add a test for uninitialized varyings. 2024-11-04 15:06:02 +01:00
Feifan He
b0646cb427 tests/shader_runner: Introduce a Metal shader runner. 2024-10-31 16:47:26 +01:00
Henri Verbeet
da75582a14 tests/shader_runner: Check whether copy/dispatch/draw succeeded in parse_test_directive(). 2024-10-31 16:46:59 +01:00
Henri Verbeet
b5f1979475 tests/shader_runner: Print "(none)" for an empty caps list in trace_shader_caps().
Like we do in trace_format_cap().
2024-10-31 16:46:59 +01:00
Elizabeth Figura
96c13aeb97 tests: Silence a bogus -Wmaybe-uninitialized. 2024-10-28 18:01:06 +01:00