Hans-Kristian Arntzen
a4929334d4
vkd3d-shader: Normalize root signature compatibility hashing.
...
The hash should only depend on the raw byte stream, not the entire DXBC
blob. Useful now since we can declare root signatures either through
DXBC blob or as RDAT object (which is raw).
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-06-17 12:37:28 +02:00
Hans-Kristian Arntzen
2ca9210a08
vkd3d: Expose utility for creating root signature from raw blob.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-06-17 12:37:28 +02:00
Joshua Ashton
3e4a8b1504
vkd3d: Remove type/next from vkd3d device/instance structures
...
There's really no reason to overcomplicate adding optional extensions this way.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-04-20 18:25:41 +02:00
Hans-Kristian Arntzen
d758a6e296
vkd3d: Convert Root Signatures to 1.1.
...
We will be able make use of the use STATIC vs VOLATILE flags.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-03-10 11:46:05 +01:00
Joshua Ashton
a991fddeeb
build: Use `-fvisibility=hidden` and define exports manually
...
When building natively on Windows we use dllexport/dllimport for vkd3d/vkd3d_utils public exports.
When building natively on Linux we simply make those visibility default.
Nothing changes for standalone here.
Closes #152
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-05 10:44:10 +02:00
Hans-Kristian Arntzen
7bccab7427
debug: Re-introduce different debug channels.
...
vkd3d-shader is currently kinda buggy and crashes when you try to trace
DXBC. This used to never be run since it was guarded by
VKD3D_SHADER_DEBUG, but with the move to a static build we merged all
debug logging under VKD3D_DEBUG. Reintroduce different debug channels in
a way that is compatible with a statically linked vkd3d.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-07-10 14:18:15 +02:00
Hans-Kristian Arntzen
d6b6da6206
Revert "vkd3d: Add support for serializing root signature version 1.1"
...
This reverts commit 0384362065
.
It is not allowed to use RS 1.1 serialization for the non-versioned
entry point. RS 1.1 serialization must use the versioned entry point.
Reverting this fixes the relevant test case in d3d12.c:12522.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-07-06 17:41:03 +01:00
Joshua Ashton
08544fb938
vkd3d: Use CONST_VTBL instead of const for vtable decls
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-07-03 16:56:10 +02:00
Joshua Ashton
0384362065
vkd3d: Add support for serializing root signature version 1.1
...
Make this code more extensible too...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-07-01 19:46:09 +02:00
Joshua Ashton
4521b253dd
vkd3d: Toss VKD3D_DEBUG_ENV_NAME
...
Creates linking problems if we want to build vkd3d-shader statically given this links back to something in vkd3d-common.
We don't need this distinction anyways...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 15:18:56 +02:00
Joshua Ashton
b9909854fe
vkd3d: Make nameless unions really nameless
...
This makes it consistent across tests and vkd3d.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-15 19:59:52 +02:00
Philip Rebohle
20aa3c3c26
vkd3d: Make ID3DBlob implementation more accessible.
...
We're going to need this to implement other parts of the
API, so it should be in common code.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-08 14:23:28 +02:00
Józef Kucia
aa2d00929e
vkd3d: Prefer versioned root signature structures.
...
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-04-25 17:20:21 +02:00
Józef Kucia
374bcd276e
vkd3d-shader: Remove versioned_ prefix from root signature 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-04-25 17:20:18 +02:00
Józef Kucia
21ab63c4d6
vkd3d-shader: Remove vkd3d_shader_serialize_root_signature().
...
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-04-24 10:48:24 +02:00
Józef Kucia
534f30b30a
vkd3d: Implement vkd3d_serialize_versioned_root_signature().
...
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-04-24 10:48:20 +02:00
Józef Kucia
0cca14a206
vkd3d: Implement d3d12_versioned_root_signature_deserializer_GetRootSignatureDescAtVersion().
...
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-04-24 10:48:12 +02:00
Józef Kucia
f300781c79
vkd3d: Prefer vkd3d_shader_parse_versioned_root_signature().
...
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-04-19 16:24:07 +02:00
Józef Kucia
ac8ffc3cd0
vkd3d: Reimplement ID3D12RootSignatureDeserializer on top of vkd3d_shader_parse_versioned_root_signature().
...
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-04-19 16:24:06 +02:00
Józef Kucia
cb895ff646
vkd3d: Implement vkd3d_create_versioned_root_signature_deserializer().
...
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-04-19 16:23:57 +02:00
Józef Kucia
3b83ccc67e
vkd3d: Add stubs for versioned root signatures.
...
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-04-10 18:56:55 +02:00
Józef Kucia
f640602ce8
vkd3d: Add feature level 11_1.
...
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-03-06 16:00:27 +01:00
Józef Kucia
ffbe7e7191
vkd3d: Avoid printing FIXME() about error blobs unnecessarily.
...
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-02-06 15:38:39 +01:00
Józef Kucia
52015b30b3
vkd3d-common: Add support for naming debug environment variable.
...
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-01-31 18:05:53 +01:00
Józef Kucia
8e46f5ebf6
vkd3d: Remove "unhandled next" warnings.
...
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>
2018-10-18 00:59:36 +02:00
Józef Kucia
8400832eea
libs/vkd3d: Change return_interface() iface parameter type to void pointer.
...
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>
2018-07-20 18:19:35 +02:00
Józef Kucia
9ce53b74df
libs/vkd3d: Return S_FALSE from D3D12CreateDevice() when device is NULL.
...
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>
2018-07-19 16:51:08 +02:00
Józef Kucia
f5b532921a
libs/vkd3d: Add structure type fields to public API structures.
...
Adds flexibility for future API extensions.
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>
2018-04-03 21:59:35 +02:00
Józef Kucia
844c83a837
libs/vkd3d-shader: Avoid Windows data types in public API.
...
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>
2018-02-15 20:00:35 +01:00
Józef Kucia
fddf86e6ea
libs/vkd3d-shader: Remove dependency on D3D12 headers.
...
We would like to allow building libvkd3d-shader as a standalone library
without our Direct3D translation layers.
In the long term, it should be possible to build and use libvkd3d-shader
without Win32 data types, Vulkan headers and libs.
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>
2018-02-15 20:00:31 +01:00
Józef Kucia
4cd36fc553
libs/vkd3d: Implement d3d12_device_GetAdapterLuid().
...
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>
2018-01-23 21:42:08 +01:00
Józef Kucia
ae014a29c4
libs/vkd3d: Allow library user to select Vulkan physical device.
...
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>
2018-01-16 20:11:23 +01:00
Józef Kucia
0f46ae3e55
libs/vkd3d: Add API for creating vkd3d instances.
...
Makes possible to share a Vulkan instance between multiple devices.
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>
2018-01-12 19:27:01 +01:00
Józef Kucia
879c9e43d1
libs/vkd3d: Do not export D3D12* functions.
...
Move them to libvkd3d-utils.
2017-12-12 13:12:47 +01:00
Józef Kucia
18b285328e
libs/vkd3d-shader: Add version argument to vkd3d_shader_serialize_root_signature().
2017-10-10 16:57:36 +02:00
Józef Kucia
4629cbdf8a
libs/vkd3d: Implement D3D12SerializeRootSignature().
2017-10-10 16:02:09 +02:00
Józef Kucia
f5515c46df
libs/vkd3d: Create default sampler for each root signature.
...
We need a sampler for SpvOpImageFetch aka texelFetch().
2017-08-16 13:11:52 +02:00
Józef Kucia
3f03cd1ec8
libs/vkd3d-shader: Implement root signature parsing.
2017-06-27 13:16:47 +02:00
Józef Kucia
d220ae4bfb
libs/vkd3d: Add ID3D12RootSignatureDeserializer interface stub.
2017-06-27 13:16:47 +02:00
Józef Kucia
84889646f6
Update license to LGPL v2.1.
2017-06-16 22:11:21 +02:00
Józef Kucia
384bb26ea5
libs/vkd3d: Naming conventions.
2016-10-20 16:38:04 +02:00
Henri Verbeet
9d5e4daf84
libs/vkd3d-utils: Get rid of unnecessary WINAPI.
2016-10-19 09:48:26 +02:00
Józef Kucia
c7d123b122
libs/vkd3d: Move event objects implementation to libvkd3d-utils.
...
The libvkd3d is not the best place for event objects implementation.
2016-10-07 13:26:39 +02:00
Józef Kucia
0c1432e671
libs/vkd3d: Move D3D12CreateDevice() to libvkd3d-utils.
2016-10-07 13:26:39 +02:00
Józef Kucia
ef6a3d78a2
libs/vkd3d: Pass signal event function pointer to vkd3d_create_device().
2016-10-07 13:26:39 +02:00
Józef Kucia
544c2668ca
libs/vkd3d: Introduce vkd3d_create_device().
...
We need to pass additional parameters to libvkd3d during initialization.
2016-10-07 13:26:39 +02:00
Józef Kucia
12ea3309f0
libs/vkd3d-utils: Add library.
2016-10-07 13:26:39 +02:00
Józef Kucia
733f720ee4
libs/vkd3d: Add simple replacement for event objects.
...
This naming convention for exported functions is used to be consistent
with other D3D12* functions().
2016-10-05 15:56:27 +02:00
Józef Kucia
4503e8b23a
libs/vkd3d: Add D3D12GetDebugInterface() stub.
2016-09-21 13:16:55 +02:00
Józef Kucia
d6e2fe97a4
libs/vkd3d: Add ID3D12Device interface stub.
2016-09-21 12:57:24 +02:00