libvulkan: enable scaling for all Vulkan swapchains
Change-Id: I0abe28a06dd24c317ed87270996d308411cb6fa1
(cherry picked from commit 6780552a6f17ee809ecf9b3538bbf9b666d5a160)
diff --git a/vulkan/libvulkan/swapchain.cpp b/vulkan/libvulkan/swapchain.cpp
index 6320192..2f4c82e 100644
--- a/vulkan/libvulkan/swapchain.cpp
+++ b/vulkan/libvulkan/swapchain.cpp
@@ -335,6 +335,17 @@
return VK_ERROR_INITIALIZATION_FAILED;
}
+ err = native_window_set_scaling_mode(
+ window.get(), NATIVE_WINDOW_SCALING_MODE_SCALE_TO_WINDOW);
+ if (err != 0) {
+ // TODO(jessehall): Improve error reporting. Can we enumerate possible
+ // errors and translate them to valid Vulkan result codes?
+ ALOGE("native_window_set_scaling_mode(SCALE_TO_WINDOW) failed: %s (%d)",
+ strerror(-err), err);
+ native_window_api_disconnect(window.get(), NATIVE_WINDOW_API_EGL);
+ return VK_ERROR_INITIALIZATION_FAILED;
+ }
+
uint32_t min_undequeued_buffers;
err = window->query(window.get(), NATIVE_WINDOW_MIN_UNDEQUEUED_BUFFERS,
reinterpret_cast<int*>(&min_undequeued_buffers));