diff options
| author | 2022-10-20 09:05:48 +1300 | |
|---|---|---|
| committer | 2022-11-18 09:10:36 +1300 | |
| commit | b1de3b108be00b06a45cd2b31ac94eb94e1c9385 (patch) | |
| tree | 33438031636177cbd19615829d593dbc00b5230b | |
| parent | fc7c70e4f88d8bb6f64d2091c79473f68b6ad03f (diff) | |
swapchain: Don't call native_window_get_wide_color_support
This query is deprecated and hardcoded to return true.
While we're adjusting this, fix the set of surface formats to be
valid when the EXT_swapchain_colorspace extension is not enabled.
Bug: b/242763577
Change-Id: I9a7fe692b552f8ade39c5530d4cf8c8027979699
| -rw-r--r-- | vulkan/libvulkan/swapchain.cpp | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/vulkan/libvulkan/swapchain.cpp b/vulkan/libvulkan/swapchain.cpp index 4f7b9237d9..a0c7197212 100644 --- a/vulkan/libvulkan/swapchain.cpp +++ b/vulkan/libvulkan/swapchain.cpp @@ -743,7 +743,6 @@ VkResult GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice pdev, const InstanceData& instance_data = GetData(pdev); - bool wide_color_support = false; uint64_t consumer_usage = 0; bool colorspace_ext = instance_data.hook_extensions.test(ProcHook::EXT_swapchain_colorspace); @@ -754,27 +753,15 @@ VkResult GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice pdev, if (!surfaceless_enabled) { return VK_ERROR_SURFACE_LOST_KHR; } - // Support for VK_GOOGLE_surfaceless_query. The EGL loader - // unconditionally supports wide color formats, even if they will cause - // a SurfaceFlinger fallback. Based on that, wide_color_support will be - // set to true in this case. - wide_color_support = true; + // Support for VK_GOOGLE_surfaceless_query. // TODO(b/203826952): research proper value; temporarily use the // values seen on Pixel consumer_usage = AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY; } else { Surface& surface = *SurfaceFromHandle(surface_handle); - int err = native_window_get_wide_color_support(surface.window.get(), - &wide_color_support); - if (err) { - return VK_ERROR_SURFACE_LOST_KHR; - } - ALOGV("wide_color_support is: %d", wide_color_support); - consumer_usage = surface.consumer_usage; } - wide_color_support = wide_color_support && colorspace_ext; AHardwareBuffer_Desc desc = {}; desc.width = 1; @@ -796,9 +783,6 @@ VkResult GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice pdev, VK_FORMAT_R8G8B8A8_SRGB, VK_COLOR_SPACE_PASS_THROUGH_EXT}); all_formats.emplace_back(VkSurfaceFormatKHR{ VK_FORMAT_R8G8B8A8_UNORM, VK_COLOR_SPACE_BT709_LINEAR_EXT}); - } - - if (wide_color_support) { all_formats.emplace_back(VkSurfaceFormatKHR{ VK_FORMAT_R8G8B8A8_UNORM, VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT}); all_formats.emplace_back(VkSurfaceFormatKHR{ @@ -828,8 +812,6 @@ VkResult GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice pdev, all_formats.emplace_back( VkSurfaceFormatKHR{VK_FORMAT_R16G16B16A16_SFLOAT, VK_COLOR_SPACE_PASS_THROUGH_EXT}); - } - if (wide_color_support) { all_formats.emplace_back( VkSurfaceFormatKHR{VK_FORMAT_R16G16B16A16_SFLOAT, VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT}); @@ -848,8 +830,6 @@ VkResult GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice pdev, all_formats.emplace_back( VkSurfaceFormatKHR{VK_FORMAT_A2B10G10R10_UNORM_PACK32, VK_COLOR_SPACE_PASS_THROUGH_EXT}); - } - if (wide_color_support) { all_formats.emplace_back( VkSurfaceFormatKHR{VK_FORMAT_A2B10G10R10_UNORM_PACK32, VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT}); |