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>
This commit is contained in:
Józef Kucia
2018-01-15 13:49:07 +01:00
committed by Alexandre Julliard
parent 8357908bc2
commit 12ca2bbcf6
5 changed files with 99 additions and 8 deletions

View File

@@ -4394,6 +4394,20 @@ uint32_t vkd3d_get_vk_queue_family_index(ID3D12CommandQueue *queue)
return d3d12_queue->vkd3d_queue->vk_family_index;
}
VkQueue vkd3d_acquire_vk_queue(ID3D12CommandQueue *queue)
{
struct d3d12_command_queue *d3d12_queue = impl_from_ID3D12CommandQueue(queue);
return vkd3d_queue_acquire(d3d12_queue->vkd3d_queue);
}
void vkd3d_release_vk_queue(ID3D12CommandQueue *queue)
{
struct d3d12_command_queue *d3d12_queue = impl_from_ID3D12CommandQueue(queue);
return vkd3d_queue_release(d3d12_queue->vkd3d_queue);
}
/* ID3D12CommandSignature */
static inline struct d3d12_command_signature *impl_from_ID3D12CommandSignature(ID3D12CommandSignature *iface)
{

View File

@@ -1,5 +1,6 @@
{
global:
vkd3d_acquire_vk_queue;
vkd3d_create_device;
vkd3d_create_image_resource;
vkd3d_create_instance;
@@ -12,6 +13,7 @@ global:
vkd3d_get_vk_queue_family_index;
vkd3d_instance_decref;
vkd3d_instance_incref;
vkd3d_release_vk_queue;
vkd3d_serialize_root_signature;
local: *;