aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/webkitgtk/webkitgtk3/check-GST_GL_HAVE_PLATFORM_GLX.patch
blob: ae99810cedb415b7c7f81843594f95991a2259ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Add additional check on GST_GL_HAVE_PLATFORM_GLX before using gst_gl_display_x11_new_with_display

This ensures that there is a compile time check for glx support in gstreamer as
runtime check is not enough because gst_gl_display_x11_new_with_display() API comes from
gst/gl/x11/gstgldisplay_x11.h which is only included when GST_GL_HAVE_PLATFORM_GLX is defined
therefore make this check consistent to fix build with some platforms which use pvr gl drivers
where this problem appear at compile time.


/mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/webkitgtk/2.40.2-r0/webkitgtk-2.40.2/Source/WebCore/platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp:68:31: error: use of undeclared identifier 'gst_gl_display_x11_new_with_display'; did you mean 'gst_gl_display_egl_new_with_egl_display'?
   68 |         return GST_GL_DISPLAY(gst_gl_display_x11_new_with_display(downcast<PlatformDisplayX11>(sharedDisplay).native()));
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                               gst_gl_display_egl_new_with_egl_display

This issue is 2.40 specific since GLX support is removed [1] from trunk upstream, therefore
this patch wont be needed when upgrading to 2.42+

[1] https://github.com/WebKit/WebKit/commit/320560f9e53ddcd53954059bd005e0c75eb91abf

Upstream-Status: Inappropriate [GLX support is gone in 2.41+]
Signed-off-by: Khem Raj <raj.khem@gmail.com>

--- a/Source/WebCore/platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp	2023-02-20 01:22:18.917743700 -0800
+++ b/Source/WebCore/platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp	2023-07-08 08:45:09.739177065 -0700
@@ -63,7 +63,7 @@
     if (glPlatform == GST_GL_PLATFORM_EGL)
         return GST_GL_DISPLAY(gst_gl_display_egl_new_with_egl_display(sharedDisplay.eglDisplay()));
 #endif
-#if USE(GLX)
+#if USE(GLX) && GST_GL_HAVE_PLATFORM_GLX
     if (is<PlatformDisplayX11>(sharedDisplay) && glPlatform == GST_GL_PLATFORM_GLX)
         return GST_GL_DISPLAY(gst_gl_display_x11_new_with_display(downcast<PlatformDisplayX11>(sharedDisplay).native()));
 #endif