diff mbox series

gtk: add gl-area support on win32

Message ID 20230515132527.1026064-1-marcandre.lureau@redhat.com
State New
Headers show
Series gtk: add gl-area support on win32 | expand

Commit Message

Marc-André Lureau May 15, 2023, 1:25 p.m. UTC
From: Marc-André Lureau <marcandre.lureau@redhat.com>

On Windows, we don't use the low-level GBM/EGL helpers (no dmabuf etc),
we can turn on GL area support for the rest of rendering.

(fwiw, GDK backend may be either WGL or EGL)

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 ui/gtk.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Bernhard Beschow May 16, 2023, 6:37 p.m. UTC | #1
Am 15. Mai 2023 13:25:27 UTC schrieb marcandre.lureau@redhat.com:
>From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
>On Windows, we don't use the low-level GBM/EGL helpers (no dmabuf etc),
>we can turn on GL area support for the rest of rendering.
>
>(fwiw, GDK backend may be either WGL or EGL)
>
>Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

Works for me on Windows 11 host, today's msys2, and OpenGL desktop effects working inside, so:

Tested-by: Bernhard Beschow <shentey@gmail.com>
>---
> ui/gtk.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
>diff --git a/ui/gtk.c b/ui/gtk.c
>index f16e0f8dee..0a39b1935b 100644
>--- a/ui/gtk.c
>+++ b/ui/gtk.c
>@@ -2445,6 +2445,12 @@ static void early_gtk_display_init(DisplayOptions *opts)
>             gtk_use_gl_area = true;
>             gtk_gl_area_init();
>         } else
>+#endif
>+#if defined(GDK_WINDOWING_WIN32)
>+        if (GDK_IS_WIN32_DISPLAY(gdk_display_get_default())) {
>+            gtk_use_gl_area = true;
>+            gtk_gl_area_init();
>+        } else
> #endif
>         {
> #ifdef CONFIG_X11
diff mbox series

Patch

diff --git a/ui/gtk.c b/ui/gtk.c
index f16e0f8dee..0a39b1935b 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -2445,6 +2445,12 @@  static void early_gtk_display_init(DisplayOptions *opts)
             gtk_use_gl_area = true;
             gtk_gl_area_init();
         } else
+#endif
+#if defined(GDK_WINDOWING_WIN32)
+        if (GDK_IS_WIN32_DISPLAY(gdk_display_get_default())) {
+            gtk_use_gl_area = true;
+            gtk_gl_area_init();
+        } else
 #endif
         {
 #ifdef CONFIG_X11