diff mbox series

mesa: provide glx.pc

Message ID 20251012225358.767916-1-dmitry.baryshkov@oss.qualcomm.com
State New
Headers show
Series mesa: provide glx.pc | expand

Commit Message

Dmitry Baryshkov Oct. 12, 2025, 10:53 p.m. UTC
New Vulkan CTS 1.4.4 started requiring glx.pc pkg-config file. Apply a
patch adding one in order to let VK CTS and other programs find Mesa GLX
implementation.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
 .../mesa/files/0001-glx-provide-glx.pc.patch  | 41 +++++++++++++++++++
 meta/recipes-graphics/mesa/mesa.inc           |  3 +-
 2 files changed, 43 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-graphics/mesa/files/0001-glx-provide-glx.pc.patch
diff mbox series

Patch

diff --git a/meta/recipes-graphics/mesa/files/0001-glx-provide-glx.pc.patch b/meta/recipes-graphics/mesa/files/0001-glx-provide-glx.pc.patch
new file mode 100644
index 000000000000..dbe58fcc89a8
--- /dev/null
+++ b/meta/recipes-graphics/mesa/files/0001-glx-provide-glx.pc.patch
@@ -0,0 +1,41 @@ 
+From 4fed044aaed5911fdc58d2a634f34a7186836935 Mon Sep 17 00:00:00 2001
+From: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
+Date: Sun, 12 Oct 2025 23:54:25 +0300
+Subject: [PATCH] glx: provide glx.pc
+
+New Vulkan CTS 1.4.4 started requiring glx.pc pkg-config file. Provide
+one if GLVND is not used in order to let VK CTS and other programs find
+Mesa GLX implementation.
+
+Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37834]
+---
+ src/glx/meson.build | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/glx/meson.build b/src/glx/meson.build
+index 04fdf26ba6a2..28313f83a783 100644
+--- a/src/glx/meson.build
++++ b/src/glx/meson.build
+@@ -134,6 +134,18 @@ libgl = shared_library(
+   install : true,
+ )
+ 
++if not with_glvnd
++  pkg.generate(
++    name : 'glx',
++    description : 'Mesa GLX Library',
++    version : meson.project_version(),
++    libraries : libgl,
++    libraries_private : gl_priv_libs,
++    requires_private : gl_priv_reqs,
++    variables : ['glx_tls=yes'],
++  )
++endif
++
+ if with_symbols_check
+   libgl_symbols_file = with_glvnd ? 'glvnd-symbols.txt' : 'libgl-symbols.txt'
+ 
+-- 
+2.51.0
+
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 7046deeb2b63..c567cfa3edfd 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -17,6 +17,7 @@  PE = "2"
 SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \
            file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
            file://0001-freedreno-don-t-encode-build-path-into-binaries.patch \
+           file://0001-glx-provide-glx.pc.patch \
 "
 
 SRC_URI[sha256sum] = "a370b4c549cbfbe646b319e34d73edb50ed883978f5e95133f282f0eae39ab52"
@@ -334,7 +335,7 @@  FILES:libglapi = "${libdir}/libglapi.so.*"
 FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/GL/internal/dri_interface.h ${includedir}/vulkan ${libdir}/vdpau/*.so"
 FILES:libegl-mesa-dev = "${libdir}/libEGL*.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
 FILES:libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${includedir}/gbm_backend_abi.h"
-FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL/*.h ${libdir}/pkgconfig/gl.pc"
+FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL/*.h ${libdir}/pkgconfig/gl.pc ${libdir}/pkgconfig/glx.pc"
 FILES:libglapi-dev = "${libdir}/libglapi.*"
 FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc"
 FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${includedir}/GLES3 ${libdir}/pkgconfig/glesv2.pc"