Henri Verbeet
3777eb4e5c
vkd3d: Introduce API versions.
...
For backwards compatibility. Newer vkd3d versions may report more
capabilities, but some of those may also require newer vkd3d APIs in order to
use them. That's an issue for a vkd3d user like Wine, where reporting more
capabilities may cause the application to try to use APIs that are not
implemented in that version of Wine.
Note that using ELF symbol versioning would have solved the issue for existing
binaries compiled against older versions of vkd3d, but not for older source
compiled against newer versions of vkd3d.
Users of vkd3d-utils should define VKD3D_UTILS_API_VERSION to the vkd3d
API version they wish to target.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 21:05:17 +02:00
Henri Verbeet
b7fb3a033b
vkd3d-shader: Support more than 8 UAV counters.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 21:05:12 +02:00
Henri Verbeet
015a9aacaf
vkd3d-shader: Get rid of the "use_vocp" field in the vkd3d_shader_scan_info structure.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 21:05:08 +02:00
Henri Verbeet
760bafd620
vkd3d-shader: Store sampler comparison mode information in the descriptor scan info.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 09:57:48 +02:00
Henri Verbeet
e560db5027
vkd3d-shader: Store UAV read information in the descriptor scan info.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 09:57:46 +02:00
Henri Verbeet
352b8118f3
vkd3d-shader: Store UAV counter information in the descriptor scan info.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 09:57:44 +02:00
Henri Verbeet
cf04ed68a7
vkd3d-shader: Report descriptor resource types in vkd3d_shader_scan_dxbc().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 09:57:42 +02:00
Henri Verbeet
25c0966b69
vkd3d-shader: Report descriptor usage information in vkd3d_shader_scan_dxbc().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 09:57:39 +02:00
Henri Verbeet
73145653ac
include: Correct the "vkd3d_shader_binding_flag" type name in some comments.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 16:25:25 +02:00
Henri Verbeet
25ef055062
vkd3d-shader: Allow the name of the SPIR-V entry point to be specified.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 16:25:23 +02:00
Henri Verbeet
7e4fc14a31
vkd3d-shader: Rename the vkd3d_tessellator_partitioning enumeration.
...
To vkd3d_shader_tessellator_partitioning.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 16:25:21 +02:00
Henri Verbeet
500079a54a
vkd3d-shader: Rename the vkd3d_tessellator_output_primitive enumeration.
...
To vkd3d_shader_tessellator_output_primitive, consistent with vkd3d-shader
naming conventions.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 16:25:18 +02:00
Henri Verbeet
95fa257a37
vkd3d-shader: Allow vkd3d_shader_compile() to handle multiple target types.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 16:25:16 +02:00
Henri Verbeet
d6ec017077
vkd3d-shader: Allow vkd3d_shader_compile_dxbc() to handle multiple source types.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-19 16:08:31 +02:00
Henri Verbeet
b07c304440
vkd3d-shader: Pass compile options as an array instead of as flags.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-19 16:08:29 +02:00
Henri Verbeet
9312979b56
vkd3d-shader: Pass the target info as part of the vkd3d_shader_compile_info structure chain.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-19 16:08:28 +02:00
Henri Verbeet
c4e6657c11
vkd3d-shader: Pass the interface info as part of the vkd3d_shader_compile_info structure chain.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-19 16:08:26 +02:00
Henri Verbeet
8ff9610fed
vkd3d-shader: Introduce struct vkd3d_shader_compile_info.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-19 16:08:24 +02:00
Henri Verbeet
13c2fbdc8d
vkd3d-shader: Rename the vkd3d_shader_target_extension enumeration to vkd3d_shader_spirv_extension.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 21:21:49 +02:00
Henri Verbeet
425dab80b8
vkd3d-shader: Rename the vkd3d_shader_target enumeration to vkd3d_shader_spirv_environment.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 21:21:47 +02:00
Henri Verbeet
2ee8429c03
vkd3d-shader: Rename VKD3D_SHADER_STRUCTURE_TYPE_SHADER_INTERFACE_INFO.
...
To VKD3D_SHADER_STRUCTURE_TYPE_INTERFACE_INFO, consistent with the structure
name.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 21:21:45 +02:00
Henri Verbeet
8292efdbed
vkd3d-shader: Rename the vkd3d_shader_domain_shader_compile_arguments structure.
...
To vkd3d_shader_spirv_domain_shader_target_info.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 21:21:43 +02:00
Henri Verbeet
5ee018afe9
vkd3d-shader: Rename the vkd3d_shader_compile_arguments structure to vkd3d_shader_spirv_target_info.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 21:21:41 +02:00
Henri Verbeet
3ec487d93a
include: Use standard 64-bit types.
...
In particular, we want these to be consistent with PRIx64. On 64-bit
macOS, that's "llx".
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:08:57 +02:00
Zebediah Figura
87364057da
vkd3d-shader: Also match the register space when looking up bindings.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 22:05:15 +02:00
Conor McCarthy
7d47f2323e
vkd3d: Implement support for D3D12_FEATURE_D3D12_OPTIONS5.
...
Signed-off-by: Conor McCarthy <conor.mccarthy.444@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-25 22:07:37 +02:00
Conor McCarthy
d5ad90a81e
vkd3d: Implement support for D3D12_FEATURE_CROSS_NODE.
...
Signed-off-by: Conor McCarthy <conor.mccarthy.444@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-25 22:07:35 +02:00
Conor McCarthy
0a6415d677
vkd3d: Implement support for D3D12_FEATURE_SERIALIZATION.
...
Signed-off-by: Conor McCarthy <conor.mccarthy.444@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-25 22:07:33 +02:00
Conor McCarthy
3a586c9ffc
vkd3d: Implement support for D3D12_FEATURE_D3D12_OPTIONS4.
...
Signed-off-by: Conor McCarthy <conor.mccarthy.444@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-25 22:07:32 +02:00
Conor McCarthy
0b622c6704
vkd3d: Implement support for D3D12_FEATURE_EXISTING_HEAPS.
...
Signed-off-by: Conor McCarthy <conor.mccarthy.444@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-25 22:07:30 +02:00
Conor McCarthy
33217ebfca
vkd3d: Implement support for D3D12_FEATURE_D3D12_OPTIONS3.
...
Signed-off-by: Conor McCarthy <conor.mccarthy.444@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-25 22:07:28 +02:00
Conor McCarthy
b1712cbd48
vkd3d: Implement support for D3D12_FEATURE_COMMAND_QUEUE_PRIORITY.
...
Signed-off-by: Conor McCarthy <conor.mccarthy.444@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:25:23 +02:00
Conor McCarthy
16882d1a50
vkd3d: Implement support for D3D12_FEATURE_SHADER_CACHE.
...
Signed-off-by: Conor McCarthy <conor.mccarthy.444@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:25:19 +02:00
Conor McCarthy
6e0590adf6
vkd3d: Implement support for D3D12_FEATURE_D3D12_OPTIONS2.
...
Signed-off-by: Conor McCarthy <conor.mccarthy.444@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:25:16 +02:00
Conor McCarthy
fad3b12703
vkd3d: Implement support for D3D12_FEATURE_ARCHITECTURE1.
...
Signed-off-by: Conor McCarthy <conor.mccarthy.444@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:25:13 +02:00
Conor McCarthy
1d46f25ea2
vkd3d: Implement support for D3D12_FEATURE_D3D12_OPTIONS1.
...
Signed-off-by: Conor McCarthy <conor.mccarthy.444@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:25:10 +02:00
Chip Davis
e57ad512ff
include: Use the correct type for the tessellator partitioning compile argument.
...
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 19:29:54 +02:00
Conor McCarthy
0d43c776c5
vkd3d/tests: Add tests for ID3D12GraphicsCommandList2::WriteBufferImmediate().
...
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 20:11:13 +01:00
Conor McCarthy
9c64642468
vkd3d: Add SetViewInstanceMask() to the ID3D12GraphicsCommandList1 interface.
...
This method was missing in version 10.0.15063.0 of the SDK, but is
present in version 10.0.18362.0, without a UUID change. Presumably that
means this was simply an omission in the older header, rather than an
API change in the newer header.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 20:11:10 +01:00
Conor McCarthy
87cc75b7e6
vkd3d: Add support for custom heap properties.
...
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-27 19:20:50 +01:00
Hans-Kristian Arntzen
f180e95e2f
vkd3d: Add MSVC path for atomic_add_fetch.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 19:16:20 +02:00
Hans-Kristian Arntzen
50bd2db618
vkd3d: Fix use of non-standard vararg macros.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 19:15:39 +02:00
Hans-Kristian Arntzen
69660ca5c9
vkd3d: Add MSVC path for vkd3d_log2i.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 19:14:59 +02:00
Hans-Kristian Arntzen
1e5ebae339
vkd3d: Add MSVC path for popcount.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 19:14:20 +02:00
Józef Kucia
332b250e82
include: Move debug interfaces to vkd3d_d3d12sdklayers.h.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-02 16:57:30 +02:00
Józef Kucia
55f64cef2f
tests: Add option to enable GPU-based validation.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-02 16:57:28 +02:00
Józef Kucia
b71120d78d
tests: Introduce VKD3D_TEST_FILTER.
...
Useful for running a subset of tests.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-31 09:37:57 +02:00
Józef Kucia
077e8b1459
vkd3d-shader: Add support for SPV_EXT_demote_to_helper_invocation.
...
Requires SPIRV-Headers commit dcce859e34cf0c23625ec75ac44df750aa2f4d70.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-31 08:24:34 +02:00
Józef Kucia
eb340126b6
vkd3d-common: Move vkd3d_write_mask_is_contiguous() from vkd3d-shader.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:52:04 +02:00
Józef Kucia
7240534abc
include/vkd3d_utils: Declare all exported functions.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 16:40:48 +02:00