Disable compatible handle types for semaphore timeline

Bug: 304373623
Test: dEQP-VK.api.external.semaphore.sync_fd#info_timeline
Change-Id: I7708e9827524b1b08f06dd58422f0853ed438c88
diff --git a/guest/vulkan_enc/ResourceTracker.cpp b/guest/vulkan_enc/ResourceTracker.cpp
index 95a9ac9..1bc726b 100644
--- a/guest/vulkan_enc/ResourceTracker.cpp
+++ b/guest/vulkan_enc/ResourceTracker.cpp
@@ -6434,7 +6434,18 @@
             VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT;
     }
 #else
-    if (pExternalSemaphoreInfo->handleType == VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT) {
+    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;
         pExternalSemaphoreProperties->exportFromImportedHandleTypes |=