turnip: Use vk_common_AcquireImageANDROID
It's got some bug fixes that turnip never picked up. Reviewed-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Reviewed-by: Hyunjun Ko <zzoon@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14411>
This commit is contained in:
parent
66ea0f84c2
commit
5b8b6315e4
|
@ -471,43 +471,3 @@ tu_GetSwapchainGrallocUsage2ANDROID(VkDevice device_h,
|
|||
return VK_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
VKAPI_ATTR VkResult VKAPI_CALL
|
||||
tu_AcquireImageANDROID(VkDevice device,
|
||||
VkImage image_h,
|
||||
int nativeFenceFd,
|
||||
VkSemaphore semaphore,
|
||||
VkFence fence)
|
||||
{
|
||||
VkResult semaphore_result = VK_SUCCESS, fence_result = VK_SUCCESS;
|
||||
|
||||
if (semaphore != VK_NULL_HANDLE) {
|
||||
int semaphore_fd =
|
||||
nativeFenceFd >= 0 ? os_dupfd_cloexec(nativeFenceFd) : nativeFenceFd;
|
||||
semaphore_result = tu_ImportSemaphoreFdKHR(
|
||||
device, &(VkImportSemaphoreFdInfoKHR) {
|
||||
.sType = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR,
|
||||
.flags = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
|
||||
.handleType = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
|
||||
.fd = semaphore_fd,
|
||||
.semaphore = semaphore,
|
||||
});
|
||||
}
|
||||
|
||||
if (fence != VK_NULL_HANDLE) {
|
||||
int fence_fd = nativeFenceFd >= 0 ? os_dupfd_cloexec(nativeFenceFd) : nativeFenceFd;
|
||||
fence_result = tu_ImportFenceFdKHR(
|
||||
device, &(VkImportFenceFdInfoKHR) {
|
||||
.sType = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR,
|
||||
.flags = VK_FENCE_IMPORT_TEMPORARY_BIT,
|
||||
.fd = fence_fd,
|
||||
.fence = fence,
|
||||
});
|
||||
}
|
||||
|
||||
close(nativeFenceFd);
|
||||
|
||||
if (semaphore_result != VK_SUCCESS)
|
||||
return semaphore_result;
|
||||
return fence_result;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue