Fix synchronization.cross_instance TEMPORARY permanence
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT only supports TEMPORARY permanence, so check for that.
Affects:
dEQP-VK.synchronization.cross_instance.*_binary_semaphore_fence_fd
dEQP-VK.synchronization2.cross_instance.*_binary_semaphore_fence_fd
Components: Vulkan Framework
VK-GL-CTS issue: 4021
Change-Id: I6f663cbc35fcd7f81927878f31f78a6aaadf1a74
diff --git a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationCrossInstanceSharingTests.cpp b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationCrossInstanceSharingTests.cpp
index 4facf5f..f5a13d4 100644
--- a/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationCrossInstanceSharingTests.cpp
+++ b/external/vulkancts/modules/vulkan/synchronization/vktSynchronizationCrossInstanceSharingTests.cpp
@@ -1166,10 +1166,11 @@
VK_CHECK(synchronizationWrapperA->queueSubmit(queueA, DE_NULL));
{
- NativeHandle nativeSemaphoreHandle;
+ NativeHandle nativeSemaphoreHandle;
+ const vk::VkSemaphoreImportFlags flags = isSupportedPermanence(m_semaphoreHandleType, PERMANENCE_PERMANENT) ? (vk::VkSemaphoreImportFlagBits)0u : vk::VK_SEMAPHORE_IMPORT_TEMPORARY_BIT;
getSemaphoreNative(m_vkdA, *m_deviceA, *semaphoreA, m_semaphoreHandleType, nativeSemaphoreHandle);
- importSemaphore(m_vkdB, *m_deviceB, *semaphoreB, m_semaphoreHandleType, nativeSemaphoreHandle, 0u);
+ importSemaphore(m_vkdB, *m_deviceB, *semaphoreB, m_semaphoreHandleType, nativeSemaphoreHandle, flags);
}
}
{