diff options
author | Yahan Zhou <yahan@google.com> | 2023-10-11 18:31:26 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-10-11 18:31:26 +0000 |
commit | e114d43fa1153f45ff9fa6be38d2aa84db3e62a5 (patch) | |
tree | a98a018e1ce29a80872a03ecbe2f1bae636c1490 | |
parent | 58dd3b6a6f6c577c3e60391fd6e95265e99c91ba (diff) | |
parent | 9db4319ce4f5b83334a29988a6b9200a8b353316 (diff) | |
download | goldfish-opengl-e114d43fa1153f45ff9fa6be38d2aa84db3e62a5.tar.gz |
Disable compatible handle types for semaphore timeline am: 9db4319ce4
Original change: https://googleplex-android-review.googlesource.com/c/device/generic/goldfish-opengl/+/25010782
Change-Id: I8329afa915aad056cb7511b320de2a4475922bf5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | system/vulkan_enc/ResourceTracker.cpp | 11 | ||||
-rw-r--r-- | system/vulkan_enc/vk_struct_id.h | 1 |
2 files changed, 11 insertions, 1 deletions
diff --git a/system/vulkan_enc/ResourceTracker.cpp b/system/vulkan_enc/ResourceTracker.cpp index 906da0f1..014ecaaa 100644 --- a/system/vulkan_enc/ResourceTracker.cpp +++ b/system/vulkan_enc/ResourceTracker.cpp @@ -6876,7 +6876,16 @@ public: VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT; } #else - if (pExternalSemaphoreInfo->handleType == + const VkSemaphoreTypeCreateInfo* semaphoreTypeCi = + vk_find_struct<VkSemaphoreTypeCreateInfo>(pExternalSemaphoreInfo); + bool isSemaphoreTimeline = semaphoreTypeCi != nullptr && semaphoreTypeCi->semaphoreType == VK_SEMAPHORE_TYPE_TIMELINE; + if (isSemaphoreTimeline) { + // b/304373623 + // dEQP-VK.api.external.semaphore.sync_fd#info_timeline + pExternalSemaphoreProperties->compatibleHandleTypes = 0; + pExternalSemaphoreProperties->exportFromImportedHandleTypes = 0; + pExternalSemaphoreProperties->externalSemaphoreFeatures = 0; + } else if (pExternalSemaphoreInfo->handleType == VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT) { pExternalSemaphoreProperties->compatibleHandleTypes |= VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT; diff --git a/system/vulkan_enc/vk_struct_id.h b/system/vulkan_enc/vk_struct_id.h index 7fc535c1..355b07fb 100644 --- a/system/vulkan_enc/vk_struct_id.h +++ b/system/vulkan_enc/vk_struct_id.h @@ -81,6 +81,7 @@ REGISTER_VK_STRUCT_ID(VkBufferOpaqueCaptureAddressCreateInfo, VK_STRUCTURE_TYPE_ REGISTER_VK_STRUCT_ID(VkBufferDeviceAddressCreateInfoEXT, VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT); REGISTER_VK_STRUCT_ID(VkGraphicsPipelineCreateInfo, VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO); REGISTER_VK_STRUCT_ID(VkPipelineRenderingCreateInfo, VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO); +REGISTER_VK_STRUCT_ID(VkPhysicalDeviceExternalSemaphoreInfo, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO); #undef REGISTER_VK_STRUCT_ID |