summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-09-10 13:55:16 -0400
committerMatthias Clasen <mclasen@redhat.com>2020-09-10 13:55:16 -0400
commitb9d4654fcaeb0313845f221135f4236c24ad2248 (patch)
tree0dbf0e9c3bb4f89b6e433abe85d8378136c8f810
parent9b0b19d335576c066a77e45994435a53a3b5843c (diff)
downloadgtk+-b9d4654fcaeb0313845f221135f4236c24ad2248.tar.gz
vulkan: Fix swapchain creation
We end up with a surface that has size 0x0 at the time we create the Vulkan context, and that is a size that Vulkan doesn't like, so ensure we request at least 1x1. Fixes: #3147
-rw-r--r--gdk/gdkvulkancontext.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gdk/gdkvulkancontext.c b/gdk/gdkvulkancontext.c
index d4c36a7cd0..917b443f94 100644
--- a/gdk/gdkvulkancontext.c
+++ b/gdk/gdkvulkancontext.c
@@ -324,13 +324,13 @@ gdk_vulkan_context_check_swapchain (GdkVulkanContext *context,
/*
* Per https://www.khronos.org/registry/vulkan/specs/1.0-wsi_extensions/xhtml/vkspec.html#VkSurfaceCapabilitiesKHR
- * the current extent may assume a special value, meaning that the extend should assume whatever
+ * the current extent may assume a special value, meaning that the extent should assume whatever
* value the surface has.
*/
if (capabilities.currentExtent.width == -1 || capabilities.currentExtent.height == -1)
{
- capabilities.currentExtent.width = gdk_surface_get_width (surface) * gdk_surface_get_scale_factor (surface);
- capabilities.currentExtent.height = gdk_surface_get_height (surface) * gdk_surface_get_scale_factor (surface);
+ capabilities.currentExtent.width = MAX (1, gdk_surface_get_width (surface) * gdk_surface_get_scale_factor (surface));
+ capabilities.currentExtent.height = MAX (1, gdk_surface_get_height (surface) * gdk_surface_get_scale_factor (surface));
}
res = GDK_VK_CHECK (vkCreateSwapchainKHR, device,