Józef Kucia
55025f7bec
libs/vkd3d: Get rid of vkd3d_get_vk_queue().
...
Replaced by vkd3d_acquire_vk_queue().
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:12 +01:00
Józef Kucia
12ca2bbcf6
libs/vkd3d: Add thread-safe API for accessing Vulkan command queues.
...
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-15 17:51:39 +01:00
Józef Kucia
d18e986b27
libs/vkd3d: Make GPU VA allocator thread-safe.
...
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-15 17:51:35 +01:00
Józef Kucia
db2e1d402e
libs/vkd3d: Synchronize access to Vulkan queues.
...
Access to VkQueue must be externally synchronized.
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-15 17:51:32 +01:00
Józef Kucia
41715a2f33
build: Use linker version scripts to control visibility.
...
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-15 17:51:25 +01:00
Józef Kucia
4605d1275c
libs/vkd3d: Validate WCHAR size.
...
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:06 +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
604056daf4
libs/vkd3d: Allow library user to create internal threads.
...
We want to create Win32 threads when running under Wine.
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:26:58 +01:00
Józef Kucia
ee8eb9b4e4
libs/vkd3d: Validate miplevel count while creating resources.
...
vkd3d_log2i() is imported from wined3d.
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-11 22:31:33 +01:00
Józef Kucia
5d85da0d84
libs/vkd3d: Release current command allocator in d3d12_command_list_Close().
...
d3d12_command_allocator_free_command_buffer() is not a very accurate name.
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-09 20:37:12 +01:00
Józef Kucia
e061e9f3cb
libs/vkd3d: Add more formats.
...
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-09 20:37:10 +01:00
Józef Kucia
5123feb750
libs/vkd3d: Remove unused prototype for vkEnumerateInstanceLayerProperties().
...
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-09 20:37:08 +01:00
Józef Kucia
8e3302d532
libs/vkd3d: Fix crash when creating NULL CBVs.
...
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-09 20:37:04 +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
7e5dd39f5f
libs/vkd3d: Prefer VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL.
...
Use VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL if depth/stencil
writes are disabled.
2017-10-30 14:04:53 +01:00
Józef Kucia
2b21fbf6b8
libs/vkd3d: Add VKD3D_SHADER_DUMP_PATH environment variable for dumping shaders.
...
A similar functionality was helpful numerous number of times when
developing libvkd3d-shader.
2017-10-24 15:22:01 +02:00
Józef Kucia
f2b37c732a
libs/vkd3d: Use if-else in d3d12_command_list_get_fb_extent().
2017-10-24 12:10:48 +02:00
Józef Kucia
c70a023aeb
libs/vkd3d: Remove FIXME comment from vk_barrier_parameters_from_d3d12_resource_state().
2017-10-24 12:10:48 +02:00
Józef Kucia
b211df683e
libs/vkd3d: Implement copying between depth/stencil and color textures.
...
This could be implemented more efficiently, but ideally we would get
a Vulkan extension for copying between depth/stencil and color textures.
2017-10-20 18:27:17 +02:00
Józef Kucia
a4bd0c1c90
libs/vkd3d: Allocate GPU virtual addresses in d3d12_committed_resource_init().
2017-10-20 18:27:17 +02:00
Józef Kucia
a63b81858c
libs/vkd3d: Limit buffer usage flags based on heap type.
2017-10-20 18:27:17 +02:00
Józef Kucia
7fa3f2ed1a
libs/vkd3d: Add FIXME comment for GPU VA allocator.
2017-10-18 11:54:56 +02: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
f4cfebcd7e
libs/vkd3d: Remove hack for creating root signatures from description.
2017-10-10 16:02:09 +02:00
Józef Kucia
5b5cffcf84
libs/vkd3d: Implement creating root signature from bytecode.
2017-10-10 16:02:09 +02:00
Józef Kucia
4629cbdf8a
libs/vkd3d: Implement D3D12SerializeRootSignature().
2017-10-10 16:02:09 +02:00
Henri Verbeet
53654baab9
libs/vkd3d: Support D3D12_FEATURE_FORMAT_SUPPORT in d3d12_device_CheckFeatureSupport().
2017-10-10 13:09:32 +02:00
Józef Kucia
853068c84d
libs/vkd3d: Get rid of host writes memory dependency for intial state transitions.
2017-10-06 17:06:31 +02:00
Józef Kucia
97bfba1167
libs/vkd3d: Avoid read access bits in source access masks.
...
A memory dependency is used to make memory writes available
and visible.
2017-10-06 17:06:31 +02:00
Józef Kucia
67aed755ab
libs/vkd3d: Implement d3d12_command_list_ClearUnorderedAccessViewUint() for R32_UINT buffer views.
...
Ideally, we would store additional informations only in CPU descriptors.
2017-10-04 13:55:33 +02:00
Józef Kucia
fecc94cebc
libs/vkd3d: Add helpers for dereferencing descriptor handles.
2017-10-04 13:55:33 +02:00
Józef Kucia
b002cc4cae
libs/vkd3d: Use BC1 formats with alpha.
2017-09-26 11:48:03 +02:00
Józef Kucia
5a020d6673
libs/vkd3d-shader: Implement shader visibility for descriptors.
2017-09-22 16:42:07 +02:00
Józef Kucia
14d975da8d
libs/vkd3d: Unroll descriptor copies for SRVs and UAVs.
...
Consecutive binding updates need to have the same descriptor type
according to validation layers.
2017-09-22 16:42:07 +02:00
Józef Kucia
6ef1961ed0
libs/vkd3d: Avoid recording invalid vkCmdCopyImage() commands.
2017-09-21 15:12:13 +02:00
Józef Kucia
8cb004bdc4
libs/vkd3d: Create single default sampler per device.
2017-09-21 15:12:13 +02:00
Józef Kucia
cfa827b2f8
libs/vkd3d: Call compute_input_layout_offsets() unconditionally.
2017-09-21 15:12:13 +02:00
Józef Kucia
54cd424daf
libs/vkd3d: Implement d3d12_command_list_SetGraphicsRootShaderResourceView().
2017-09-19 17:29:20 +02:00
Józef Kucia
eb8eba02bd
libs/vkd3d: Implement d3d12_command_list_SetComputeRootShaderResourceView().
2017-09-19 17:29:20 +02:00
Józef Kucia
90cf804d9b
libs/vkd3d: Use Vulkan pipeline cache for graphics pipelines.
2017-09-19 10:58:04 +02:00
Józef Kucia
d2e7fcdf77
libs/vkd3d: Add environment variable for disabling Vulkan extensions.
...
It's useful for testing, e.g. VKD3D_DISABLE_EXTENSIONS=VK_KHR_push_descriptor
2017-09-18 15:40:42 +02:00
Józef Kucia
acfd64c20e
libs/vkd3d: Avoid copying descriptors for dirty root descriptor tables.
2017-09-18 15:40:42 +02:00
Józef Kucia
67641a8999
libs/vkd3d: Initialize device feature options in vkd3d_init_device_caps().
2017-09-14 15:38:19 +02:00
Józef Kucia
554d07df06
libs/vkd3d: Warn about unmet feature level 11_0 requirements.
...
This isn't necessarily exhaustive.
2017-09-14 15:38:19 +02:00
Józef Kucia
2ea8ffb554
libs/vkd3d: Avoid vkCmdCopyQueryPoolResults() for not issued queries.
...
The Vulkan spec states:
* "If the query does not become available in a finite amount of time
(e.g. due to not issuing a query since the last reset), a
VK_ERROR_DEVICE_LOST error may occur."
* "If queries will never finish (e.g. due to being reset but not
issued), then vkGetQueryPoolResults may not return in finite time."
2017-09-14 14:57:09 +02:00
Józef Kucia
334c532401
libs/vkd3d: Implement d3d12_command_list_CopyResource() for buffers.
2017-09-14 14:57:09 +02:00
Józef Kucia
a77376121d
libs/vkd3d: Require VK_KHR_shader_draw_parameters device extension.
2017-09-12 17:42:42 +02:00
Józef Kucia
2425e2939a
libs/vkd3d: Match input layout elements with vertex shader inputs.
2017-09-11 22:35:16 +02:00
Józef Kucia
cd99601b3c
libs/vkd3d: Implement offset computation for D3D12_APPEND_ALIGNED_ELEMENT.
2017-09-11 22:35:16 +02:00
Józef Kucia
8e802ed0af
libs/vkd3d: Update descriptor table ranges only with matching descriptor types.
2017-09-11 22:35:16 +02:00