From 3a5e5742fcf85d34f4220b7705290c6d4bc7800c Mon Sep 17 00:00:00 2001 From: Markus Volk Date: Wed, 14 Feb 2024 19:14:53 +0100 Subject: mesa: update 23.3.5 -> 24.0.0 - refresh 0001-meson.build-check-for-all-linux-host_os-combinations.patch - rework VIDEO_CODECS. mesa now provides options for 'all' and 'all_free' Adjust accordingly. Free codecs are built by default: Codecs : av1dec av1enc vp9dec If LICENSE_FLAGS_ACCEPTED contains 'commercial' all supported codecs are built: Codecs : vc1dec h264dec h264enc h265dec h265enc av1dec av1enc vp9dec (From OE-Core rev: 8975bf600de8a3faa8d222f50beb1e2b02fb2870) Signed-off-by: Markus Volk Signed-off-by: Richard Purdie --- ...n.build-check-for-all-linux-host_os-combinations.patch | 12 ++++++------ meta/recipes-graphics/mesa/mesa-gl_23.3.5.bb | 15 --------------- meta/recipes-graphics/mesa/mesa-gl_24.0.0.bb | 15 +++++++++++++++ meta/recipes-graphics/mesa/mesa.inc | 8 ++++---- meta/recipes-graphics/mesa/mesa_23.3.5.bb | 2 -- meta/recipes-graphics/mesa/mesa_24.0.0.bb | 2 ++ 6 files changed, 27 insertions(+), 27 deletions(-) delete mode 100644 meta/recipes-graphics/mesa/mesa-gl_23.3.5.bb create mode 100644 meta/recipes-graphics/mesa/mesa-gl_24.0.0.bb delete mode 100644 meta/recipes-graphics/mesa/mesa_23.3.5.bb create mode 100644 meta/recipes-graphics/mesa/mesa_24.0.0.bb diff --git a/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch index fadd6ee201..b0be8d0feb 100644 --- a/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch +++ b/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch @@ -23,21 +23,21 @@ diff --git a/meson.build b/meson.build index 35cc5f1..9a49c0d 100644 --- a/meson.build +++ b/meson.build -@@ -121,7 +121,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2 +@@ -128,7 +128,7 @@ # Only build shared_glapi if at least one OpenGL API is enabled with_shared_glapi = with_shared_glapi and with_any_opengl --system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android'].contains(host_machine.system()) -+system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android'].contains(host_machine.system()) or host_machine.system().startswith('linux') +-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android', 'managarm'].contains(host_machine.system()) ++system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android', 'managarm'].contains(host_machine.system()) or host_machine.system().startswith('linux') gallium_drivers = get_option('gallium-drivers') if gallium_drivers.contains('auto') -@@ -956,7 +956,7 @@ if cc.has_function('fmemopen') +@@ -998,7 +998,7 @@ endif # TODO: this is very incomplete --if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android'].contains(host_machine.system()) -+if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku'].contains(host_machine.system()) or host_machine.system().startswith('linux') +-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android', 'managarm'].contains(host_machine.system()) ++if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android', 'managarm'].contains(host_machine.system()) or host_machine.system().startswith('linux') pre_args += '-D_GNU_SOURCE' elif host_machine.system() == 'sunos' pre_args += '-D__EXTENSIONS__' diff --git a/meta/recipes-graphics/mesa/mesa-gl_23.3.5.bb b/meta/recipes-graphics/mesa/mesa-gl_23.3.5.bb deleted file mode 100644 index ca160f1bfc..0000000000 --- a/meta/recipes-graphics/mesa/mesa-gl_23.3.5.bb +++ /dev/null @@ -1,15 +0,0 @@ -require mesa.inc - -SUMMARY += " (OpenGL only, no EGL/GLES)" - -PROVIDES = "virtual/libgl virtual/mesa" - -S = "${WORKDIR}/mesa-${PV}" - -TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm" - -# At least one DRI rendering engine is required to build mesa. -# When no X11 is available, use osmesa for the rendering engine. -PACKAGECONFIG ??= "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}" -PACKAGECONFIG:class-target = "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}" - diff --git a/meta/recipes-graphics/mesa/mesa-gl_24.0.0.bb b/meta/recipes-graphics/mesa/mesa-gl_24.0.0.bb new file mode 100644 index 0000000000..ca160f1bfc --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-gl_24.0.0.bb @@ -0,0 +1,15 @@ +require mesa.inc + +SUMMARY += " (OpenGL only, no EGL/GLES)" + +PROVIDES = "virtual/libgl virtual/mesa" + +S = "${WORKDIR}/mesa-${PV}" + +TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm" + +# At least one DRI rendering engine is required to build mesa. +# When no X11 is available, use osmesa for the rendering engine. +PACKAGECONFIG ??= "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}" +PACKAGECONFIG:class-target = "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}" + diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 3a7b91f637..fabc52f0e7 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -20,7 +20,7 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://0001-gallium-Fix-build-with-llvm-17.patch \ " -SRC_URI[sha256sum] = "69ccb1278641ff5bad71ca0f866188aeb1a92aadc4dbb9d35f50aebec5b8b50f" +SRC_URI[sha256sum] = "dc7e8c077bc5884df95478263b34bdebb7e88e600689cb56fb07be2b8c304c36" UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P\d+(\.\d+)+)" @@ -81,12 +81,12 @@ def strip_comma(s): PACKAGECONFIG = " \ gallium \ + video-codecs \ ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'dri3', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ - ${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'video-codecs', '', d)} \ " PACKAGECONFIG:append:class-native = "gallium-llvm r600" @@ -203,8 +203,8 @@ PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" PACKAGECONFIG[lmsensors] = "-Dlmsensors=enabled,-Dlmsensors=disabled,lmsensors" -VIDEO_CODECS = "vc1dec,h264dec,h264enc,h265dec,h265enc" -PACKAGECONFIG[video-codecs] = "-Dvideo-codecs=${@strip_comma('${VIDEO_CODECS}')}, -Dvideo-codecs=''" +VIDEO_CODECS ?= "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'all', 'all_free', d)}" +PACKAGECONFIG[video-codecs] = "-Dvideo-codecs=${VIDEO_CODECS}, -Dvideo-codecs=''" # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2) FULL_OPTIMIZATION:append = " -fno-omit-frame-pointer" diff --git a/meta/recipes-graphics/mesa/mesa_23.3.5.bb b/meta/recipes-graphics/mesa/mesa_23.3.5.bb deleted file mode 100644 index 96e8aa38d6..0000000000 --- a/meta/recipes-graphics/mesa/mesa_23.3.5.bb +++ /dev/null @@ -1,2 +0,0 @@ -require ${BPN}.inc - diff --git a/meta/recipes-graphics/mesa/mesa_24.0.0.bb b/meta/recipes-graphics/mesa/mesa_24.0.0.bb new file mode 100644 index 0000000000..96e8aa38d6 --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa_24.0.0.bb @@ -0,0 +1,2 @@ +require ${BPN}.inc + -- cgit v1.2.3-54-g00ecf