diff --git a/meta/recipes-sato/webkit/webkitgtk/check-GST_GL_HAVE_PLATFORM_GLX.patch b/meta/recipes-sato/webkit/webkitgtk/check-GST_GL_HAVE_PLATFORM_GLX.patch new file mode 100644 index 00000000000..ae99810cedb --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk/check-GST_GL_HAVE_PLATFORM_GLX.patch @@ -0,0 +1,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(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 + +--- 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(sharedDisplay) && glPlatform == GST_GL_PLATFORM_GLX) + return GST_GL_DISPLAY(gst_gl_display_x11_new_with_display(downcast(sharedDisplay).native())); + #endif diff --git a/meta/recipes-sato/webkit/webkitgtk_2.40.2.bb b/meta/recipes-sato/webkit/webkitgtk_2.40.2.bb index b0dd95b78fc..8bef0b16055 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.40.2.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.40.2.bb @@ -15,6 +15,7 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ file://0d3344e17d258106617b0e6d783d073b188a2548.patch \ file://4977290ab4ab35258a6da9b13795c9b0f7894bf4.patch \ file://0001-Source-JavaScriptCore-CMakeLists.txt-ensure-reproduc.patch \ + file://check-GST_GL_HAVE_PLATFORM_GLX.patch \ " SRC_URI[sha256sum] = "96898870d994da406ee7a632816dcde9a3bb395ee5f344fcb3f3b8cc8a77e000"