vkd3d/libs
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
..
vkd3d vkd3d: Use Vulkan timeline semaphores for D3D12 fences. 2022-03-24 19:47:24 +01:00
vkd3d-common vkd3d-shader/sm1: Introduce a parser for the legacy D3D byte-code format. 2021-10-06 18:35:44 +02:00
vkd3d-shader vkd3d-shader/hlsl: Write SM4 left shift instructions. 2022-03-18 22:20:36 +01:00
vkd3d-utils vkd3d-utils: Simplify handling of shader messages a bit. 2022-03-07 16:30:44 +01:00
.gitignore libs/vkd3d: Trace build version. 2018-06-27 22:43:49 +02:00