vkd3d/libs/vkd3d
Conor McCarthy 22d8665300 vkd3d: Use Vulkan timeline semaphores for D3D12 fences.
D3D12 supports signalling a fence to a lower value, while Vulkan timeline
semaphores do not. On the GPU side this is handled by simply submitting
the signal anyway, if a test for this passes on device creation, because
working around this is impractical. For CPU signals the Vulkan semaphore
is replaced with a new one at the lower value only if no waits and/or
signals are pending on the GPU. Otherwise, a fixme is emitted.

Partly based on a vkd3d-proton patch by Hans-Kristian Arntzen (not
including the handling of lower fence values).

The old implementation is used if KHR_timeline_semaphore is not
available or GPU signals do not work for a lower value.

Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-24 19:47:24 +01:00
..
command.c vkd3d: Use Vulkan timeline semaphores for D3D12 fences. 2022-03-24 19:47:24 +01:00
device.c vkd3d: Use Vulkan timeline semaphores for D3D12 fences. 2022-03-24 19:47:24 +01:00
libvkd3d.pc.in build: Add some standard files. 2016-10-28 12:34:12 +02:00
resource.c vkd3d: Write a resource null descriptor to all applicable sets when one set is written. 2022-03-24 19:46:20 +01:00
state.c vkd3d: Back descriptor heaps with Vulkan descriptor sets if descriptor indexing is available. 2022-03-18 12:38:53 +01:00
utils.c vkd3d: Recognise newer memory properties in debug_vk_memory_property_flags(). 2022-03-01 22:31:33 +01:00
vkd3d_main.c vkd3d: Move the ID3DBlob implementation to vkd3d-common. 2020-09-24 19:11:39 +02:00
vkd3d_private.h vkd3d: Use Vulkan timeline semaphores for D3D12 fences. 2022-03-24 19:47:24 +01:00
vkd3d_shaders.h vkd3d: Implement d3d12_command_list_ClearUnorderedAccessViewFloat(). 2019-11-25 16:06:59 +01:00
vkd3d.map vkd3d: Add stubs for versioned root signatures. 2019-04-10 18:56:55 +02:00
vulkan_procs.h vkd3d: Use Vulkan timeline semaphores for D3D12 fences. 2022-03-24 19:47:24 +01:00