diff options
author | Benjamin Otte <otte@redhat.com> | 2021-10-20 20:30:08 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2021-10-20 21:49:32 +0200 |
commit | cb03fe8f31c0607b5488cb79f3339910600729fb (patch) | |
tree | b8c693c15eca3378e5d04bcbe72b5ed8bf0f0efa /gsk/vulkan | |
parent | ea14e94eaf96079cb18cce6bb39a74b0933771f0 (diff) | |
download | gtk+-cb03fe8f31c0607b5488cb79f3339910600729fb.tar.gz |
gsk: Allow gsk_renderer_realize (renderer, NULL, NULL)
That way, we can use renderers without surfaces.
Diffstat (limited to 'gsk/vulkan')
-rw-r--r-- | gsk/vulkan/gskvulkanrenderer.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gsk/vulkan/gskvulkanrenderer.c b/gsk/vulkan/gskvulkanrenderer.c index c91b14a384..86f7984805 100644 --- a/gsk/vulkan/gskvulkanrenderer.c +++ b/gsk/vulkan/gskvulkanrenderer.c @@ -114,12 +114,19 @@ gsk_vulkan_renderer_update_images_cb (GdkVulkanContext *context, static gboolean gsk_vulkan_renderer_realize (GskRenderer *renderer, - GdkSurface *window, + GdkSurface *surface, GError **error) { GskVulkanRenderer *self = GSK_VULKAN_RENDERER (renderer); - self->vulkan = gdk_surface_create_vulkan_context (window, error); + if (surface == NULL) + { + g_set_error (error, GDK_VULKAN_ERROR, GDK_VULKAN_ERROR_UNSUPPORTED, + "The Vulkan renderer does not support surfaceless rendering yet."); + return FALSE; + } + + self->vulkan = gdk_surface_create_vulkan_context (surface, error); if (self->vulkan == NULL) return FALSE; |