diff options
Diffstat (limited to 'src/amd')
-rw-r--r-- | src/amd/vulkan/radv_device.c | 5 | ||||
-rw-r--r-- | src/amd/vulkan/radv_private.h | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 760b6b028e6..58f37c631f8 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -2029,7 +2029,7 @@ VkResult radv_CreateSemaphore( if (!sem) return VK_ERROR_OUT_OF_HOST_MEMORY; - *pSemaphore = (VkSemaphore)sem; + *pSemaphore = radeon_winsys_sem_to_handle(sem); return VK_SUCCESS; } @@ -2039,11 +2039,10 @@ void radv_DestroySemaphore( const VkAllocationCallbacks* pAllocator) { RADV_FROM_HANDLE(radv_device, device, _device); - struct radeon_winsys_sem *sem; + RADV_FROM_HANDLE(radeon_winsys_sem, sem, _semaphore); if (!_semaphore) return; - sem = (struct radeon_winsys_sem *)_semaphore; device->ws->destroy_sem(sem); } diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index 7eb10512012..0e629fcf836 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -1316,6 +1316,8 @@ struct radv_fence { bool signalled; }; +struct radeon_winsys_sem; + #define RADV_DEFINE_HANDLE_CASTS(__radv_type, __VkType) \ \ static inline struct __radv_type * \ @@ -1372,5 +1374,6 @@ RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_query_pool, VkQueryPool) RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_render_pass, VkRenderPass) RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_sampler, VkSampler) RADV_DEFINE_NONDISP_HANDLE_CASTS(radv_shader_module, VkShaderModule) +RADV_DEFINE_NONDISP_HANDLE_CASTS(radeon_winsys_sem, VkSemaphore) #endif /* RADV_PRIVATE_H */ |