wpe: Properly respect LIBGL_ALWAYS_SOFTWARE
authorThibault Saunier <tsaunier@igalia.com>
Thu, 22 Apr 2021 03:14:13 +0000 (23:14 -0400)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 19 May 2021 13:41:15 +0000 (13:41 +0000)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>

ext/wpe/WPEThreadedView.cpp

index 8f5902d..43161cc 100644 (file)
@@ -393,21 +393,23 @@ WPEView::WPEView(WebKitWebContext* web_context, GstWpeVideoSrc* src, GstGLContex
     threading.ready = FALSE;
 
     g_mutex_init(&images_mutex);
-    if (context)
-        gst.context = GST_GL_CONTEXT(gst_object_ref(context));
-    if (display) {
-        gst.display = GST_GL_DISPLAY(gst_object_ref(display));
-    }
+    if (g_strcmp0(g_getenv("LIBGL_ALWAYS_SOFTWARE"), "true")) {
+        if (context)
+            gst.context = GST_GL_CONTEXT(gst_object_ref(context));
+        if (display) {
+            gst.display = GST_GL_DISPLAY(gst_object_ref(display));
+        }
 
-    wpe.width = width;
-    wpe.height = height;
+        wpe.width = width;
+        wpe.height = height;
 
-    if (context && display) {
-      if (gst_gl_context_get_gl_platform(context) == GST_GL_PLATFORM_EGL) {
-        gst.display_egl = gst_gl_display_egl_from_gl_display (gst.display);
-      } else {
-        GST_DEBUG ("Available GStreamer GL Context is not EGL - not creating an EGL display from it");
-      }
+        if (context && display) {
+            if (gst_gl_context_get_gl_platform(context) == GST_GL_PLATFORM_EGL) {
+                gst.display_egl = gst_gl_display_egl_from_gl_display (gst.display);
+            } else {
+                GST_DEBUG ("Available GStreamer GL Context is not EGL - not creating an EGL display from it");
+            }
+        }
     }
 
     if (gst.display_egl) {