Skip to content

Commit 509c78f

Browse files
krajrpurdie
authored andcommitted
webkitgtk: Unbreak build on platforms using pvr graphics drivers
(From OE-Core rev: c3068df33d8d30f66cf9bd988b039c80788a74f4) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1 parent 9b838a1 commit 509c78f

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
Add additional check on GST_GL_HAVE_PLATFORM_GLX before using gst_gl_display_x11_new_with_display
2+
3+
This ensures that there is a compile time check for glx support in gstreamer as
4+
runtime check is not enough because gst_gl_display_x11_new_with_display() API comes from
5+
gst/gl/x11/gstgldisplay_x11.h which is only included when GST_GL_HAVE_PLATFORM_GLX is defined
6+
therefore make this check consistent to fix build with some platforms which use pvr gl drivers
7+
where this problem appear at compile time.
8+
9+
10+
/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'?
11+
68 | return GST_GL_DISPLAY(gst_gl_display_x11_new_with_display(downcast<PlatformDisplayX11>(sharedDisplay).native()));
12+
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13+
| gst_gl_display_egl_new_with_egl_display
14+
15+
This issue is 2.40 specific since GLX support is removed [1] from trunk upstream, therefore
16+
this patch wont be needed when upgrading to 2.42+
17+
18+
[1] https://github.com/WebKit/WebKit/commit/320560f9e53ddcd53954059bd005e0c75eb91abf
19+
20+
Upstream-Status: Inappropriate [GLX support is gone in 2.41+]
21+
Signed-off-by: Khem Raj <raj.khem@gmail.com>
22+
23+
--- a/Source/WebCore/platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp 2023-02-20 01:22:18.917743700 -0800
24+
+++ b/Source/WebCore/platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp 2023-07-08 08:45:09.739177065 -0700
25+
@@ -63,7 +63,7 @@
26+
if (glPlatform == GST_GL_PLATFORM_EGL)
27+
return GST_GL_DISPLAY(gst_gl_display_egl_new_with_egl_display(sharedDisplay.eglDisplay()));
28+
#endif
29+
-#if USE(GLX)
30+
+#if USE(GLX) && GST_GL_HAVE_PLATFORM_GLX
31+
if (is<PlatformDisplayX11>(sharedDisplay) && glPlatform == GST_GL_PLATFORM_GLX)
32+
return GST_GL_DISPLAY(gst_gl_display_x11_new_with_display(downcast<PlatformDisplayX11>(sharedDisplay).native()));
33+
#endif

meta/recipes-sato/webkit/webkitgtk_2.40.2.bb

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
1515
file://0d3344e17d258106617b0e6d783d073b188a2548.patch \
1616
file://4977290ab4ab35258a6da9b13795c9b0f7894bf4.patch \
1717
file://0001-Source-JavaScriptCore-CMakeLists.txt-ensure-reproduc.patch \
18+
file://check-GST_GL_HAVE_PLATFORM_GLX.patch \
1819
"
1920
SRC_URI[sha256sum] = "96898870d994da406ee7a632816dcde9a3bb395ee5f344fcb3f3b8cc8a77e000"
2021

0 commit comments

Comments
 (0)