Revert "Reland: "libvulkan: Implement EXT_swapchain_maintenance1"""

This reverts commit 2dcb4f0064d3d6a01105d2c8a12368c347d85227.

Reason for revert: Appears to cause HWASAN failures.  See b/263442454, b/263446408, b/263444233, and b/263445588.

Change-Id: I6de0027ae2db803445a66de575dda97826b8eb6a
diff --git a/vulkan/libvulkan/driver.cpp b/vulkan/libvulkan/driver.cpp
index 273cdd5..9ed992b 100644
--- a/vulkan/libvulkan/driver.cpp
+++ b/vulkan/libvulkan/driver.cpp
@@ -636,7 +636,6 @@
             case ProcHook::EXT_swapchain_colorspace:
             case ProcHook::KHR_get_surface_capabilities2:
             case ProcHook::GOOGLE_surfaceless_query:
-            case ProcHook::EXT_surface_maintenance1:
                 hook_extensions_.set(ext_bit);
                 // return now as these extensions do not require HAL support
                 return;
@@ -658,11 +657,9 @@
             case ProcHook::KHR_shared_presentable_image:
             case ProcHook::KHR_swapchain:
             case ProcHook::EXT_hdr_metadata:
-            case ProcHook::EXT_swapchain_maintenance1:
             case ProcHook::ANDROID_external_memory_android_hardware_buffer:
             case ProcHook::ANDROID_native_buffer:
             case ProcHook::GOOGLE_display_timing:
-            case ProcHook::KHR_external_fence_fd:
             case ProcHook::EXTENSION_CORE_1_0:
             case ProcHook::EXTENSION_CORE_1_1:
             case ProcHook::EXTENSION_CORE_1_2:
@@ -693,22 +690,16 @@
                 ext_bit = ProcHook::ANDROID_native_buffer;
                 break;
             case ProcHook::KHR_incremental_present:
-            case ProcHook::KHR_shared_presentable_image:
             case ProcHook::GOOGLE_display_timing:
+            case ProcHook::KHR_shared_presentable_image:
                 hook_extensions_.set(ext_bit);
                 // return now as these extensions do not require HAL support
                 return;
-            case ProcHook::EXT_swapchain_maintenance1:
-                // map VK_KHR_swapchain_maintenance1 to KHR_external_fence_fd
-                name = VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME;
-                ext_bit = ProcHook::KHR_external_fence_fd;
-                break;
             case ProcHook::EXT_hdr_metadata:
             case ProcHook::KHR_bind_memory2:
                 hook_extensions_.set(ext_bit);
                 break;
             case ProcHook::ANDROID_external_memory_android_hardware_buffer:
-            case ProcHook::KHR_external_fence_fd:
             case ProcHook::EXTENSION_UNKNOWN:
                 // Extensions we don't need to do anything about at this level
                 break;
@@ -724,7 +715,6 @@
             case ProcHook::KHR_surface_protected_capabilities:
             case ProcHook::EXT_debug_report:
             case ProcHook::EXT_swapchain_colorspace:
-            case ProcHook::EXT_surface_maintenance1:
             case ProcHook::GOOGLE_surfaceless_query:
             case ProcHook::ANDROID_native_buffer:
             case ProcHook::EXTENSION_CORE_1_0:
@@ -757,18 +747,10 @@
         if (strcmp(name, props.extensionName) != 0)
             continue;
 
-        if (ext_bit != ProcHook::EXTENSION_UNKNOWN &&
-                hal_extensions_.test(ext_bit)) {
-            ALOGI("CreateInfoWrapper::FilterExtension: already have '%s'.", name);
-            continue;
-        }
-
         filter.names[filter.name_count++] = name;
         if (ext_bit != ProcHook::EXTENSION_UNKNOWN) {
             if (ext_bit == ProcHook::ANDROID_native_buffer)
                 hook_extensions_.set(ProcHook::KHR_swapchain);
-            if (ext_bit == ProcHook::KHR_external_fence_fd)
-                hook_extensions_.set(ProcHook::EXT_swapchain_maintenance1);
 
             hal_extensions_.set(ext_bit);
         }
@@ -958,9 +940,6 @@
          VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION});
     loader_extensions.push_back({VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME,
                                  VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION});
-    loader_extensions.push_back({
-        VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME,
-        VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION});
 
     static const VkExtensionProperties loader_debug_report_extension = {
         VK_EXT_DEBUG_REPORT_EXTENSION_NAME, VK_EXT_DEBUG_REPORT_SPEC_VERSION,
@@ -1093,33 +1072,6 @@
     return result;
 }
 
-bool CanSupportSwapchainMaintenance1Extension(VkPhysicalDevice physicalDevice) {
-    const auto& driver = GetData(physicalDevice).driver;
-    if (!driver.GetPhysicalDeviceExternalFenceProperties)
-        return false;
-
-    // Requires support for external fences imported from sync fds.
-    // This is _almost_ universal on Android, but may be missing on
-    // some extremely old drivers, or on strange implementations like
-    // cuttlefish.
-    VkPhysicalDeviceExternalFenceInfo fenceInfo = {
-        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
-        nullptr,
-        VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
-    };
-    VkExternalFenceProperties fenceProperties = {
-        VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
-        nullptr,
-        0, 0, 0
-    };
-
-    GetPhysicalDeviceExternalFenceProperties(physicalDevice, &fenceInfo, &fenceProperties);
-    if (fenceProperties.externalFenceFeatures & VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT)
-        return true;
-
-    return false;
-}
-
 VkResult EnumerateDeviceExtensionProperties(
     VkPhysicalDevice physicalDevice,
     const char* pLayerName,
@@ -1197,12 +1149,6 @@
              VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION});
     }
 
-    if (CanSupportSwapchainMaintenance1Extension(physicalDevice)) {
-        loader_extensions.push_back({
-                VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME,
-                VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION});
-    }
-
     // enumerate our extensions first
     if (!pLayerName && pProperties) {
         uint32_t count = std::min(
@@ -1698,12 +1644,6 @@
                 imageCompressionControlSwapchainInChain = true;
             } break;
 
-            case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: {
-                auto smf = reinterpret_cast<VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT *>(
-                        pFeats);
-                smf->swapchainMaintenance1 = true;
-            } break;
-
             default:
                 break;
         }