summaryrefslogtreecommitdiff
path: root/gsk/vulkan
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2021-10-20 20:30:08 +0200
committerBenjamin Otte <otte@redhat.com>2021-10-20 21:49:32 +0200
commitcb03fe8f31c0607b5488cb79f3339910600729fb (patch)
treeb8c693c15eca3378e5d04bcbe72b5ed8bf0f0efa /gsk/vulkan
parentea14e94eaf96079cb18cce6bb39a74b0933771f0 (diff)
downloadgtk+-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.c11
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;