From 3a3e5d5bea5ad9643541fba362ca4fef23cba9a7 Mon Sep 17 00:00:00 2001 From: "auto-submit[bot]" Date: Mon, 1 Apr 2024 23:07:09 +0000 Subject: [PATCH] Revert "[Impeller] Avoid loading redundant Vulkan extensions. (#51818)" This reverts commit 6d4d546e4e97e195309d38bb68118834d48fe2cf. --- .../backend/vulkan/capabilities_vk.cc | 12 +++++++- .../renderer/backend/vulkan/capabilities_vk.h | 28 +++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/impeller/renderer/backend/vulkan/capabilities_vk.cc b/impeller/renderer/backend/vulkan/capabilities_vk.cc index c47f5983970fb..0ee92dc55abdf 100644 --- a/impeller/renderer/backend/vulkan/capabilities_vk.cc +++ b/impeller/renderer/backend/vulkan/capabilities_vk.cc @@ -167,6 +167,14 @@ static const char* GetExtensionName(RequiredAndroidDeviceExtensionVK ext) { case RequiredAndroidDeviceExtensionVK:: kANDROIDExternalMemoryAndroidHardwareBuffer: return "VK_ANDROID_external_memory_android_hardware_buffer"; + case RequiredAndroidDeviceExtensionVK::kKHRSamplerYcbcrConversion: + return VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME; + case RequiredAndroidDeviceExtensionVK::kKHRExternalMemory: + return VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME; + case RequiredAndroidDeviceExtensionVK::kEXTQueueFamilyForeign: + return VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME; + case RequiredAndroidDeviceExtensionVK::kKHRDedicatedAllocation: + return VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME; case RequiredAndroidDeviceExtensionVK::kLast: return "Unknown"; } @@ -365,7 +373,9 @@ CapabilitiesVK::GetEnabledDeviceFeatures( required.fillModeNonSolid = supported.fillModeNonSolid; } // VK_KHR_sampler_ycbcr_conversion features. - { + if (IsExtensionInList( + enabled_extensions.value(), + RequiredAndroidDeviceExtensionVK::kKHRSamplerYcbcrConversion)) { auto& required = required_chain .get(); diff --git a/impeller/renderer/backend/vulkan/capabilities_vk.h b/impeller/renderer/backend/vulkan/capabilities_vk.h index f3ffa4b275a56..f06732b8b206e 100644 --- a/impeller/renderer/backend/vulkan/capabilities_vk.h +++ b/impeller/renderer/backend/vulkan/capabilities_vk.h @@ -50,6 +50,34 @@ enum class RequiredAndroidDeviceExtensionVK : uint32_t { /// kANDROIDExternalMemoryAndroidHardwareBuffer, + //---------------------------------------------------------------------------- + /// Dependency of kANDROIDExternalMemoryAndroidHardwareBuffer. + /// + /// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_sampler_ycbcr_conversion.html + /// + kKHRSamplerYcbcrConversion, + + //---------------------------------------------------------------------------- + /// Dependency of kANDROIDExternalMemoryAndroidHardwareBuffer. + /// + /// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_external_memory.html + /// + kKHRExternalMemory, + + //---------------------------------------------------------------------------- + /// Dependency of kANDROIDExternalMemoryAndroidHardwareBuffer. + /// + /// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_queue_family_foreign.html + /// + kEXTQueueFamilyForeign, + + //---------------------------------------------------------------------------- + /// Dependency of kANDROIDExternalMemoryAndroidHardwareBuffer. + /// + /// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_dedicated_allocation.html + /// + kKHRDedicatedAllocation, + kLast, };