Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Olivain <ju.o@free.fr>
To: Bernd Kuhls <bernd@kuhls.net>
Cc: buildroot@buildroot.org, Romain Naour <romain.naour@gmail.com>,
	Valentin Korenblit <valentinkorenblit@gmail.com>,
	Daniel Lang <dalang@gmx.at>,
	Eric Le Bihan <eric.le.bihan.dev@free.fr>,
	"Yann E . MORIN" <yann.morin.1998@free.fr>
Subject: Re: [Buildroot] [PATCH 5/6] package/{mesa3d, mesa3d-headers}: bump version to 24.2.6
Date: Fri, 01 Nov 2024 17:45:13 +0100	[thread overview]
Message-ID: <b9cea79ecd32e7990b7f9a37bab50908@free.fr> (raw)
In-Reply-To: <20241031200501.1107802-5-bernd@kuhls.net>

Hi Bernd, All,

Thanks for the patch!

On 31/10/2024 21:05, Bernd Kuhls wrote:
> Release notes:
> https://lists.freedesktop.org/archives/mesa-announce/2024-May/000762.html
> https://lists.freedesktop.org/archives/mesa-announce/2024-June/000763.html
> https://lists.freedesktop.org/archives/mesa-announce/2024-June/000765.html
> https://lists.freedesktop.org/archives/mesa-announce/2024-July/000766.html
> https://lists.freedesktop.org/archives/mesa-announce/2024-July/000767.html
> https://lists.freedesktop.org/archives/mesa-announce/2024-July/000771.html
> https://lists.freedesktop.org/archives/mesa-announce/2024-August/000773.html
> https://lists.freedesktop.org/archives/mesa-announce/2024-August/000776.html
> https://lists.freedesktop.org/archives/mesa-announce/2024-September/000778.html
> https://lists.freedesktop.org/archives/mesa-announce/2024-September/000779.html
> https://lists.freedesktop.org/archives/mesa-announce/2024-October/000780.html
> https://lists.freedesktop.org/archives/mesa-announce/2024-October/000781.html
> https://lists.freedesktop.org/archives/mesa-announce/2024-October/000782.html
> ------------------------------------------------------------------------
> Changes needed for the bump to 24.1.x:
> 
> Added dependency to llvm & Co. for iris driver due to upstream commit:
> https://cgit.freedesktop.org/mesa/mesa/commit/meson.build?h=24.1&id=a512c2a8b572c5da360873320dbbd343c6223cd6
> 
> Added host version of mesa tool intel_clc needed for target build of 
> the
> iris driver.
> 
> Added dependency to host-python-pycparser for etnaviv driver due to
> upstream commit:
> https://cgit.freedesktop.org/mesa/mesa/commit/src/etnaviv/hwdb/meson.build?h=24.1&id=2192e620bb0c68b75ff45165d0b117c7ecb77268
> 
> Added dependency to host-python-ply for intel vulkan driver due to
> upstream commit:
> https://cgit.freedesktop.org/mesa/mesa/commit/src/intel/vulkan/grl/meson.build?h=24.1&id=dc1aedef2bd054884685ad971a3ef5be07ecd101
> 
> Although this dependency exists since mesa3d 22.3 it is only needed 
> when
> intel-clc is enabled, this dependency is added with this patch so no 
> need
> to backport this dependency to older buildroot trees.
> 
> Update configure parameter of glvnd option due to upstream commit:
> https://cgit.freedesktop.org/mesa/mesa/commit/meson.build?h=24.1&id=4f25b84b2460524d375424a81b42faa4d99c8e60
> ------------------------------------------------------------------------
> Changes needed for the bump to 24.2.x:
> 
> Added dependency to host-python-pyyaml to host and target build, needed
> due to upstream commit
> https://gitlab.freedesktop.org/mesa/mesa/-/commit/a3813327575e8875c8c3ed24b5f45a0b7ba64446
> 
> Rebased patch 0002 due to upstream commit:
> https://cgit.freedesktop.org/mesa/mesa/commit/src/gallium/drivers/vc4/meson.build?h=24.2&id=da70827656757cd070faac7aff5ca057f1e7fb8a
> 
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> ---
>  package/mesa3d-headers/mesa3d-headers.mk      |  2 +-
>  ...tion-to-disable-optional-neon-suppor.patch | 14 ++---
>  package/mesa3d/Config.in                      | 11 +++-
>  package/mesa3d/mesa3d.hash                    |  6 +--
>  package/mesa3d/mesa3d.mk                      | 52 +++++++++++++++----
>  5 files changed, 64 insertions(+), 21 deletions(-)
> 
> diff --git a/package/mesa3d-headers/mesa3d-headers.mk 
> b/package/mesa3d-headers/mesa3d-headers.mk
> index 33c60b285f..2cb69c9c67 100644
> --- a/package/mesa3d-headers/mesa3d-headers.mk
> +++ b/package/mesa3d-headers/mesa3d-headers.mk
> @@ -12,7 +12,7 @@ endif
> 
>  # Not possible to directly refer to mesa3d variables, because of
>  # first/second expansion trickery...
> -MESA3D_HEADERS_VERSION = 24.0.9
> +MESA3D_HEADERS_VERSION = 24.2.6

I started to quickly smoke-test this series. While doing so,
I've seen the test_glxinfo runtime test was failing to build
with those patches. When using the command:

     utils/docker-run support/testing/run-tests
         -k -d dl -o output_folder \
         tests.package.test_glxinfo

mesa3d configuration fails with the output:

     output_folder/TestGlxinfo/build/mesa3d-24.2.6/meson.build:1852:2:
     ERROR: Problem encountered: llvmpipe requires LLVM and is enabled, 
but LLVM is disabled.

Looking at the meson log in file:
output_folder/TestGlxinfo/build/mesa3d-24.2.6/build/meson-logs/meson-log.txt
There is a warning:

     output_folder/TestGlxinfo/build/mesa3d-24.2.6/meson.build:171:
     WARNING: `gallium-drivers=swrast` is a deprecated alias for 
`gallium-drivers=softpipe,llvmpipe` and will be removed in version 25.0

This seems linked to the upstream commit:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/010b2f9497ab256d9e8041207902948331af5b4b
included in mesa3d 24.2.0.

Since "swrast" became an alias for "softpipe,llvmpipe", I believe
the Buildroot Config.in needs to reflect that change. Because
"swrast" in the Buildroot recipe now imply llvmpipe for mesa,
while the Buildroot recipe also disable LLVM, ending up in this
incompatible configuration.

Could you have a look please?

>  MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
>  MESA3D_HEADERS_SITE = https://archive.mesa3d.org
>  MESA3D_HEADERS_DL_SUBDIR = mesa3d
> diff --git 
> a/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch 
> b/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
> index f3919478a6..cda792b9db 100644
> --- 
> a/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
> +++ 
> b/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
> @@ -9,8 +9,8 @@ to force disabling it at compile time.
> 
>  Upstream: 
> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4114
>  Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> -Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> -[rebased for 20.2.0, 20.3.0, 21.1.0, 23.1.0 & 23.2.0]
> +Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> +[rebased for 20.2.0, 20.3.0, 21.1.0, 23.1.0, 23.2.0 & 24.2.1]
>  Signed-off-by: Peter Seiderer <ps.report@gmx.net>
>  [fix syntax error after previous rebases]
>  ---
> @@ -23,7 +23,7 @@ diff --git a/meson_options.txt b/meson_options.txt
>  index 8e0bf2a..1cf0e07 100644
>  --- a/meson_options.txt
>  +++ b/meson_options.txt
> -@@ -124,6 +124,13 @@ option(
> +@@ -148,6 +148,13 @@ option(
>     description : 'enable gallium va frontend.',
>   )
> 
> @@ -41,8 +41,8 @@ diff --git a/src/gallium/drivers/vc4/meson.build 
> b/src/gallium/drivers/vc4/meson
>  index 84da951..7f950de 100644
>  --- a/src/gallium/drivers/vc4/meson.build
>  +++ b/src/gallium/drivers/vc4/meson.build
> -@@ -84,7 +84,7 @@ files_libvc4 = files(
> - vc4_c_args = []
> +@@ -72,7 +72,7 @@ files_libvc4 = files(
> + ]
> 
>   libvc4_neon = []
>  -if host_machine.cpu_family() == 'arm'
> @@ -50,9 +50,9 @@ index 84da951..7f950de 100644
>     libvc4_neon = static_library(
>       'vc4_neon',
>       'vc4_tiling_lt_neon.c',
> -@@ -93,7 +93,7 @@ if host_machine.cpu_family() == 'arm'
> -     ],
> +@@ -82,7 +82,7 @@ if host_machine.cpu_family() == 'arm'
>       c_args : '-mfpu=neon',
> +     dependencies : vc4_deps,
>     )
>  -  vc4_c_args += '-DUSE_ARM_ASM'
>  +  vc4_c_args += '-DVC4_TILING_LT_NEON'
> diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
> index 7761b0a650..3586451bc6 100644
> --- a/package/mesa3d/Config.in
> +++ b/package/mesa3d/Config.in
> @@ -50,7 +50,8 @@ config BR2_PACKAGE_MESA3D_OPENCL
>  	bool "OpenCL support"
>  	depends on BR2_PACKAGE_MESA3D_LLVM
>  	depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 || \
> -		BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
> +		BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI || \
> +		BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
>  	select BR2_PACKAGE_LLVM_RTTI
>  	select BR2_PACKAGE_CLANG
>  	select BR2_PACKAGE_LIBCLC
> @@ -129,10 +130,18 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915
>  config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
>  	bool "Gallium iris driver"
>  	depends on BR2_i386 || BR2_x86_64
> +	depends on BR2_PACKAGE_MESA3D_LLVM
>  	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
> +	select BR2_PACKAGE_MESA3D_OPENCL
> +	select BR2_PACKAGE_SPIRV_LLVM_TRANSLATOR
> +	select BR2_PACKAGE_SPIRV_TOOLS
>  	help
>  	  Mesa driver for iris-based Intel GPUs.
> 
> +comment "iris driver needs llvm"
> +	depends on BR2_i386 || BR2_x86_64
> +	depends on !BR2_PACKAGE_MESA3D_LLVM
> +
>  config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA
>  	bool "Gallium lima driver"
>  	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # 
> libxshmfence
> diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash
> index d506d398b8..0040019345 100644
> --- a/package/mesa3d/mesa3d.hash
> +++ b/package/mesa3d/mesa3d.hash
> @@ -1,5 +1,5 @@
> -# From 
> https://lists.freedesktop.org/archives/mesa-announce/2024-June/000764.html
> -sha256  
> 51aa686ca4060e38711a9e8f60c8f1efaa516baf411946ed7f2c265cd582ca4c  
> mesa-24.0.9.tar.xz
> -sha512  
> de2ee6c9df1fc106ee10befe0a76be1e9cfe83d65dbdb83bad6d8d7cfaa085232fb115293a1a790b37b50b1fe14bd58aafbcfe5a15e953b5901a7105d57569a5 
>  mesa-24.0.9.tar.xz
> +# From 
> https://lists.freedesktop.org/archives/mesa-announce/2024-October/000782.html
> +sha256  
> 2b68c4a6f204c1999815a457299f81c41ba7bf48c4674b0b2d1d8864f41f3709  
> mesa-24.2.6.tar.xz
> +sha512  
> 830a40d38200ff8b2a6bd949e1ac3bf4edc887a10d9aa92285007d138079e1fafb3568f658e777e7894e95b5ce75d2bd6836b0473fa70d32270005e482b1a2da 
>  mesa-24.2.6.tar.xz
>  # License
>  sha256  
> a00275a53178e2645fb65be99a785c110513446a5071ff2c698ed260ad917d75  
> docs/license.rst
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index ce460c4475..dc316fb2e1 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -5,7 +5,7 @@
>  
> ################################################################################
> 
>  # When updating the version, please also update mesa3d-headers
> -MESA3D_VERSION = 24.0.9
> +MESA3D_VERSION = 24.2.6
>  MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
>  MESA3D_SITE = https://archive.mesa3d.org
>  MESA3D_LICENSE = MIT, SGI, Khronos
> @@ -21,12 +21,17 @@ MESA3D_DEPENDENCIES = \
>  	host-bison \
>  	host-flex \
>  	host-python-mako \
> +	host-python-pyyaml \
>  	expat \
>  	libdrm \
>  	zlib
> 
>  MESA3D_CONF_OPTS = \
>  	-Dgallium-omx=disabled \
> +	-Dgallium-opencl=disabled \
> +	-Dgallium-rusticl=false \
> +	-Dmicrosoft-clc=disabled \
> +	-Dopencl-spirv=false \
>  	-Dpower8=disabled
> 
>  ifeq ($(BR2_PACKAGE_MESA3D_DRIVER)$(BR2_PACKAGE_XORG7),yy)
> @@ -50,14 +55,9 @@ else
>  MESA3D_CONF_OPTS += -Dllvm=disabled
>  endif
> 
> -# Disable opencl-icd: OpenCL lib will be named libOpenCL instead of
> -# libMesaOpenCL and CL headers are installed
>  ifeq ($(BR2_PACKAGE_MESA3D_OPENCL),y)
>  MESA3D_PROVIDES += libopencl
>  MESA3D_DEPENDENCIES += clang libclc
> -MESA3D_CONF_OPTS += -Dgallium-opencl=standalone
> -else
> -MESA3D_CONF_OPTS += -Dgallium-opencl=disabled
>  endif
> 
>  ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS),y)
> @@ -126,6 +126,19 @@ MESA3D_CONF_OPTS += \
>  	-Dgallium-extra-hud=true
>  endif
> 
> +ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV),y)
> +MESA3D_DEPENDENCIES += host-python-pycparser
> +endif
> +
> +ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL),y)
> +MESA3D_DEPENDENCIES += host-python-ply
> +endif
> +
> +ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS),y)
> +MESA3D_CONF_OPTS += -Dintel-clc=system
> +MESA3D_DEPENDENCIES += host-mesa3d spirv-llvm-translator spirv-tools
> +endif
> +
>  ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),)
>  MESA3D_CONF_OPTS += \
>  	-Dvulkan-drivers=
> @@ -251,12 +264,33 @@ endif
>  ifeq ($(BR2_PACKAGE_LIBGLVND),y)
>  ifneq 
> ($(BR2_PACKAGE_MESA3D_OPENGL_GLX)$(BR2_PACKAGE_MESA3D_OPENGL_EGL),)
>  MESA3D_DEPENDENCIES += libglvnd
> -MESA3D_CONF_OPTS += -Dglvnd=true
> +MESA3D_CONF_OPTS += -Dglvnd=enabled
>  else
> -MESA3D_CONF_OPTS += -Dglvnd=false
> +MESA3D_CONF_OPTS += -Dglvnd=disabled
>  endif
>  else
> -MESA3D_CONF_OPTS += -Dglvnd=false
> +MESA3D_CONF_OPTS += -Dglvnd=disabled
>  endif
> 
> +HOST_MESA3D_CONF_OPTS = \
> +	-Dglvnd=disabled \
> +	-Dgallium-drivers=iris \
> +	-Dgallium-vdpau=disabled \
> +	-Dplatforms= \
> +	-Ddri3=disabled \
> +	-Dglx=disabled \
> +	-Dvulkan-drivers=""
> +
> +HOST_MESA3D_DEPENDENCIES = \
> +	host-libclc \
> +	host-libdrm \
> +	host-python-mako \
> +	host-python-pyyaml \
> +	host-spirv-tools
> +
> +define HOST_MESA3D_INSTALL_CMDS
> +	$(INSTALL) -D -m 0755 $(@D)/build/src/intel/compiler/intel_clc 
> $(HOST_DIR)/bin/intel_clc
> +endef
> +
>  $(eval $(meson-package))
> +$(eval $(host-meson-package))
> --
> 2.39.5
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

Best regards,

Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2024-11-01 16:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-31 20:04 [Buildroot] [PATCH 1/6] package/libdrm: add host variant Bernd Kuhls
2024-10-31 20:04 ` [Buildroot] [PATCH 2/6] package/llvm-project/libclc: " Bernd Kuhls
2024-10-31 20:04 ` [Buildroot] [PATCH 3/6] package/spirv-llvm-translator: add target variant to provide LLVMSPIRVLib Bernd Kuhls
2024-10-31 20:04 ` [Buildroot] [PATCH 4/6] package/spirv-tools: add host variant Bernd Kuhls
2024-10-31 20:05 ` [Buildroot] [PATCH 5/6] package/{mesa3d, mesa3d-headers}: bump version to 24.2.6 Bernd Kuhls
2024-11-01 16:45   ` Julien Olivain [this message]
     [not found]   ` <b9cea79ecd32e7990b7f9a37bab50908__2814.68966729648$1730479554$gmane$org@free.fr>
2024-11-01 19:00     ` Bernd Kuhls
2024-10-31 20:05 ` [Buildroot] [PATCH 6/6] package/mesa3d: add option to enable VIRTIO vulkan driver Bernd Kuhls

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b9cea79ecd32e7990b7f9a37bab50908@free.fr \
    --to=ju.o@free.fr \
    --cc=bernd@kuhls.net \
    --cc=buildroot@buildroot.org \
    --cc=dalang@gmx.at \
    --cc=eric.le.bihan.dev@free.fr \
    --cc=romain.naour@gmail.com \
    --cc=valentinkorenblit@gmail.com \
    --cc=yann.morin.1998@free.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox