6586 Commits

Author SHA1 Message Date
Elizabeth Figura
61bda1c054 vkd3d-shader: Always ensure a RET at the end of a program. 2024-11-04 15:06:02 +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
Nikolay Sivov
ad2208b726 vkd3d-shader/fx: Implement parsing shader resources types.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-29 14:52:39 +01:00
Nikolay Sivov
1a8e9ff94e vkd3d-shader/fx: Implement parsing shader objects.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-29 14:41:55 +01:00
Elizabeth Figura
96c13aeb97 tests: Silence a bogus -Wmaybe-uninitialized. 2024-10-28 18:01:06 +01:00
Elizabeth Figura
3511b54040 vkd3d-shader/hlsl: Use early return in allocate_register().
Partly to avoid a spurious maybe-uninitialized warning, and partly because it's a more idiomatic structure.
2024-10-28 18:01:06 +01:00
Elizabeth Figura
08253504dc vkd3d-shader: Make an assert into an explicit check.
For some reason gcc without LTO thinks that component_count can overflow the
array here.
2024-10-28 18:01:06 +01:00
Elizabeth Figura
5883e01032 vkd3d-shader/fx: Remove an unnecessary hlsl_is_numeric_type().
Constants can only be numeric.
2024-10-28 18:01:06 +01:00
Elizabeth Figura
a595b96f62 vkd3d: Initialize vk_extensions in vk_init_device_caps().
Without LTO, gcc doesn't know that hresult_from_vk_result() will always return a
failure HRESULT for a failure VkResult, and so thinks that we might exit from
vkd3d_check_device_extensions() with a success HRESULT but without initializing
vk_extensions.
2024-10-28 18:01:06 +01:00
Henri Verbeet
5188883142 tests/shader_runner: Set "properties2.sType" in get_physical_device_info() in the Vulkan runner.
Found by the Vulkan validation layers.
2024-10-28 17:59:18 +01:00
Henri Verbeet
aeae8322da tests: Add a test for actual multisample loads.
The existing test loads from a single sample texture.
2024-10-28 17:58:05 +01:00
Henri Verbeet
072b45b972 tests/shader_runner_d3d12: Introduce a helper to get the default resource state for a resource. 2024-10-28 17:58:05 +01:00
Henri Verbeet
cc340b2838 tests/shader_runner: Handle render target sizes other than 640x480. 2024-10-28 17:58:05 +01:00
Henri Verbeet
9690ffff61 vkd3d-shader/spirv: Handle oPts in spirv_compiler_get_register_name(). 2024-10-28 17:54:43 +01:00
Henri Verbeet
fa6d03a4cb vkd3d-shader/d3d-asm: Implement support for VKD3DSPR_PARAMETER registers. 2024-10-28 17:54:20 +01:00
Nikolay Sivov
89e5912fd2 vkd3d-shader/hlsl: Implement RWByteAddressBuffer.Store*() methods.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-28 17:51:04 +01:00
Nikolay Sivov
6637948ae1 tests: Add some more tests for RWByteAddressBuffer store methods.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-28 17:46:17 +01:00
Nikolay Sivov
cf27065b7d vkd3d-shader/hlsl: Add parser support for the RWByteAddressBuffer type.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-28 17:44:28 +01:00
Nikolay Sivov
4195a2f18a vkd3d-shader/hlsl: Use a more compact way to store object method configurations.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-28 17:41:46 +01:00
Giovanni Mascellani
f7bc30bad2 tests: Mark tessellation-patch-vars.shader_test as todo on MoltenVK. 2024-10-28 17:39:23 +01:00
Giovanni Mascellani
624eccbab1 ci: Update the DXC version used on the CI to 1.8.2407.
Unfortuantely different versions of DXC accept or fail differently
in some cases. We don't care too much about validating the DXC
behavior itself, but it's useful that all the CI jobs use the
same version so that we don't have to complicate the shader runner
language.

The macOS version is currently bound to be pretty recent because
otherwise libdxil.dylib is not provided. So I'm updating the
Linux and Windows version as well.

I don't expect it should be particularly hard for other maintainers
to keep up with the DXC updates, since it just amounts to
downloading a ZIP file and extracting two libraries.
2024-10-28 17:36:17 +01:00
Giovanni Mascellani
fd33d51b1b tests: Mark tessellation.shader_test as todo on MoltenVK.
Tessellation shaders are currently not supported there.
2024-10-28 17:35:18 +01:00