Loading vulkan/libvulkan/swapchain.cpp +2 −37 Original line number Original line Diff line number Diff line Loading @@ -606,44 +606,9 @@ void DestroySurfaceKHR(VkInstance instance, VKAPI_ATTR VKAPI_ATTR VkResult GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice /*pdev*/, VkResult GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice /*pdev*/, uint32_t /*queue_family*/, uint32_t /*queue_family*/, VkSurfaceKHR surface_handle, VkSurfaceKHR /*surface_handle*/, VkBool32* supported) { VkBool32* supported) { ATRACE_CALL(); *supported = VK_TRUE; const Surface* surface = SurfaceFromHandle(surface_handle); if (!surface) { return VK_ERROR_SURFACE_LOST_KHR; } const ANativeWindow* window = surface->window.get(); int query_value; int err = window->query(window, NATIVE_WINDOW_FORMAT, &query_value); if (err != android::OK || query_value < 0) { ALOGE("NATIVE_WINDOW_FORMAT query failed: %s (%d) value=%d", strerror(-err), err, query_value); return VK_ERROR_SURFACE_LOST_KHR; } android_pixel_format native_format = static_cast<android_pixel_format>(query_value); bool format_supported = false; switch (native_format) { case HAL_PIXEL_FORMAT_RGBA_8888: case HAL_PIXEL_FORMAT_RGB_565: case HAL_PIXEL_FORMAT_RGBA_FP16: case HAL_PIXEL_FORMAT_RGBA_1010102: format_supported = true; break; default: break; } *supported = static_cast<VkBool32>( format_supported || (surface->consumer_usage & (AHARDWAREBUFFER_USAGE_CPU_READ_MASK | AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK)) == 0); return VK_SUCCESS; return VK_SUCCESS; } } Loading Loading
vulkan/libvulkan/swapchain.cpp +2 −37 Original line number Original line Diff line number Diff line Loading @@ -606,44 +606,9 @@ void DestroySurfaceKHR(VkInstance instance, VKAPI_ATTR VKAPI_ATTR VkResult GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice /*pdev*/, VkResult GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice /*pdev*/, uint32_t /*queue_family*/, uint32_t /*queue_family*/, VkSurfaceKHR surface_handle, VkSurfaceKHR /*surface_handle*/, VkBool32* supported) { VkBool32* supported) { ATRACE_CALL(); *supported = VK_TRUE; const Surface* surface = SurfaceFromHandle(surface_handle); if (!surface) { return VK_ERROR_SURFACE_LOST_KHR; } const ANativeWindow* window = surface->window.get(); int query_value; int err = window->query(window, NATIVE_WINDOW_FORMAT, &query_value); if (err != android::OK || query_value < 0) { ALOGE("NATIVE_WINDOW_FORMAT query failed: %s (%d) value=%d", strerror(-err), err, query_value); return VK_ERROR_SURFACE_LOST_KHR; } android_pixel_format native_format = static_cast<android_pixel_format>(query_value); bool format_supported = false; switch (native_format) { case HAL_PIXEL_FORMAT_RGBA_8888: case HAL_PIXEL_FORMAT_RGB_565: case HAL_PIXEL_FORMAT_RGBA_FP16: case HAL_PIXEL_FORMAT_RGBA_1010102: format_supported = true; break; default: break; } *supported = static_cast<VkBool32>( format_supported || (surface->consumer_usage & (AHARDWAREBUFFER_USAGE_CPU_READ_MASK | AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK)) == 0); return VK_SUCCESS; return VK_SUCCESS; } } Loading