mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: Philipp Zabel <p.zabel@pengutronix.de>
Cc: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH] mesalib: version bump 24.3.4 -> 25.0.1
Date: Fri, 7 Mar 2025 13:01:32 +0100	[thread overview]
Message-ID: <Z8rgHBfJfdWH9B9H@pengutronix.de> (raw)
In-Reply-To: <20250306100004.49290-1-p.zabel@pengutronix.de>

On Thu, Mar 06, 2025 at 11:00:04AM +0100, Philipp Zabel wrote:
> https://docs.mesa3d.org/relnotes/25.0.0.html
> https://docs.mesa3d.org/relnotes/25.0.1.html
> 
> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
> ---
>  rules/host-mesalib.in   |  7 +++----
>  rules/host-mesalib.make | 25 +++++++++++++++++--------
>  rules/mesalib.in        | 31 +++++++++++++++++++++++++------
>  rules/mesalib.make      | 17 +++++++++++++----
>  4 files changed, 58 insertions(+), 22 deletions(-)
> 
> diff --git a/rules/host-mesalib.in b/rules/host-mesalib.in
> index 22842f05e3f3..b67871353da7 100644
> --- a/rules/host-mesalib.in
> +++ b/rules/host-mesalib.in
> @@ -3,12 +3,11 @@
>  config HOST_MESALIB
>  	tristate
>  	default y if ALLYES
> -	select HOST_CLANG			if HOST_MESALIB_INTEL_CLC
>  	select HOST_EXPAT
> -	select HOST_LIBCLC			if HOST_MESALIB_INTEL_CLC
> +	select HOST_LIBCLC			if HOST_MESALIB_CLC
> +	select HOST_LLVM			if HOST_MESALIB_CLC
>  	select HOST_MAKEDEPEND
>  	select HOST_MESON
> -	select HOST_SPIRV_LLVM_TRANSLATOR	if HOST_MESALIB_INTEL_CLC
>  	select HOST_SYSTEM_PYTHON3
>  	select HOST_SYSTEM_PYTHON3_MAKO
>  	select HOST_SYSTEM_PYTHON3_PYYAML
> @@ -16,7 +15,7 @@ config HOST_MESALIB
>  
>  if HOST_MESALIB
>  
> -config HOST_MESALIB_INTEL_CLC
> +config HOST_MESALIB_CLC
>  	bool
>  
>  endif
> diff --git a/rules/host-mesalib.make b/rules/host-mesalib.make
> index 84acd8ea2b9e..030f0ef31414 100644
> --- a/rules/host-mesalib.make
> +++ b/rules/host-mesalib.make
> @@ -20,6 +20,7 @@ HOST_MESALIB_CONF_OPT	:= \
>  	$(HOST_MESON_OPT) \
>  	-Dallow-kcmp=enabled \
>  	-Damd-use-llvm=false \
> +	-Damdgpu-virtio=false \
>  	-Dandroid-libbacktrace=disabled \
>  	-Dandroid-strict=true \
>  	-Dandroid-stub=false \
> @@ -65,26 +66,32 @@ HOST_MESALIB_CONF_OPT	:= \
>  	-Dhtml-docs=disabled \
>  	-Dhtml-docs-path= \
>  	-Dimagination-srv=false \
> -	-Dinstall-intel-clc=$(call ptx/truefalse, PTXCONF_HOST_MESALIB_INTEL_CLC) \
> +	-Dinstall-intel-clc=false \
>  	-Dinstall-intel-gpu-tests=false \
> -	-Dintel-clc=$(call ptx/ifdef, PTXCONF_HOST_MESALIB_INTEL_CLC,enabled,system) \
> +	-Dinstall-mesa-clc=$(call ptx/truefalse, PTXCONF_HOST_MESALIB_CLC) \
> +	-Dinstall-precomp-compiler=false \
> +	-Dintel-bvh-grl=true \
> +	-Dintel-clc=system \
> +	-Dintel-elk=true \
>  	-Dintel-rt=disabled \
>  	-Dlegacy-x11=none \
>  	-Dlibunwind=disabled \
> -	-Dllvm=$(call ptx/endis, PTXCONF_HOST_MESALIB_INTEL_CLC)d \
> +	-Dllvm=$(call ptx/endis, PTXCONF_HOST_MESALIB_CLC)d \
>  	-Dllvm-orcjit=false \
>  	-Dlmsensors=disabled \
> +	-Dmesa-clc=$(call ptx/ifdef, PTXCONF_HOST_MESALIB_CLC,enabled,auto) \
>  	-Dmicrosoft-clc=disabled \
>  	-Dmin-windows-version=8 \
>  	-Dmoltenvk-dir= \
> -	-Dopencl-spirv=false \
>  	-Dopengl=true \
>  	-Dosmesa=false \
>  	-Dperfetto=false \
>  	-Dplatform-sdk-version=25 \
>  	-Dplatforms= \
>  	-Dpower8=disabled \
> +	-Dprecomp-compiler=system \
>  	-Dradv-build-id='' \
> +	-Dselinux=false \
>  	-Dshader-cache=disabled \
>  	-Dshader-cache-default=true \
>  	-Dshader-cache-max-size=1G \
> @@ -113,16 +120,18 @@ HOST_MESALIB_CONF_OPT	:= \
>  
>  HOST_MESALIB_MAKE_OPT	:= \
>  	src/compiler/glsl/glsl_compiler
> -ifdef PTXCONF_HOST_MESALIB_INTEL_CLC
> +ifdef PTXCONF_HOST_MESALIB_CLC
>  HOST_MESALIB_MAKE_OPT	+= \
> -	src/intel/compiler/intel_clc
> +	src/compiler/clc/mesa_clc \
> +	src/compiler/spirv/vtn_bindgen
>  endif
>  
>  $(STATEDIR)/host-mesalib.install:
>  	@$(call targetinfo)
>  	install -D -m755 $(HOST_MESALIB_DIR)-build/src/compiler/glsl/glsl_compiler $(HOST_MESALIB_PKGDIR)/usr/bin/mesa/glsl_compiler
> -ifdef PTXCONF_HOST_MESALIB_INTEL_CLC
> -	install -D -m755 $(HOST_MESALIB_DIR)-build/src/intel/compiler/intel_clc $(HOST_MESALIB_PKGDIR)/usr/bin/intel_clc
> +ifdef PTXCONF_HOST_MESALIB_CLC
> +	install -D -m755 $(HOST_MESALIB_DIR)-build/src/compiler/clc/mesa_clc $(HOST_MESALIB_PKGDIR)/usr/bin/mesa_clc
> +	install -D -m755 $(HOST_MESALIB_DIR)-build/src/compiler/spirv/vtn_bindgen $(HOST_MESALIB_PKGDIR)/usr/bin/vtn_bindgen
>  endif
>  	@$(call touch)
>  
> diff --git a/rules/mesalib.in b/rules/mesalib.in
> index 943ba2e14fde..2b902e1f4b9f 100644
> --- a/rules/mesalib.in
> +++ b/rules/mesalib.in
> @@ -4,7 +4,7 @@ menuconfig MESALIB
>  	tristate
>  	prompt "mesa                          "
>  	select HOST_MESALIB
> -	select HOST_MESALIB_INTEL_CLC	if MESALIB_INTEL_CLC
> +	select HOST_MESALIB_CLC		if MESALIB_CLC
>  	select HOST_MESON
>  	select HOST_MAKEDEPEND
>  	select HOST_SYSTEM_PYTHON3
> @@ -56,7 +56,7 @@ if MESALIB
>  config MESALIB_DRI3
>  	bool
>  
> -config MESALIB_INTEL_CLC
> +config MESALIB_CLC
>  	bool
>  
>  config MESALIB_LLVM
> @@ -126,7 +126,7 @@ config MESALIB_DRI_PANFROST
>  
>  config MESALIB_DRI_IRIS
>  	bool
> -	select MESALIB_INTEL_CLC
> +	select MESALIB_CLC
>  	select MESALIB_XMLCONFIG
>  	prompt "iris"
>  
> @@ -146,7 +146,7 @@ config MESALIB_DRI_ASAHI
>  
>  config MESALIB_DRI_CROCUS
>  	bool
> -	select MESALIB_INTEL_CLC
> +	select MESALIB_CLC
>  	select MESALIB_XMLCONFIG
>  	prompt "crocus"
>  
> @@ -268,13 +268,13 @@ config MESALIB_VULKAN_BROADCOM
>  
>  config MESALIB_VULKAN_INTEL
>  	bool
> -	select MESALIB_INTEL_CLC
> +	select MESALIB_CLC
>  	select MESALIB_XMLCONFIG
>  	prompt "Intel (Anvil)"
>  
>  config MESALIB_VULKAN_INTEL_HASVK
>  	bool
> -	select MESALIB_INTEL_CLC
> +	select MESALIB_CLC
>  	select MESALIB_XMLCONFIG
>  	prompt "Intel (hasvk)"
>  
> @@ -296,6 +296,21 @@ config MESALIB_VULKAN_VIRTIO
>  	select MESALIB_XMLCONFIG
>  	prompt "Virtio-GPU Venus"
>  
> +config MESALIB_VULKAN_NOUVEAU
> +	bool
> +	# needs bindgen
> +	depends on BROKEN
> +	prompt "nouveau"
> +
> +config MESALIB_VULKAN_ASAHI
> +	bool
> +	depends on MESALIB_DRI_ASAHI
> +	prompt "asahi"
> +
> +config MESALIB_VULKAN_GFXSTREAM
> +	bool
> +	prompt "gfxstream"
> +
>  comment "Vulkan layers"
>  
>  config MESALIB_VULKAN_DEVICE_SELECT
> @@ -314,6 +329,10 @@ config MESALIB_VULKAN_SCREENSHOT
>  	bool
>  	prompt "Screenshot layer"
>  
> +config MESALIB_VULKAN_VRAM_REPORT_LIMIT
> +	bool
> +	prompt "VRAM report limit layer"
> +
>  config MESALIB_SHADER_CACHE
>  	bool
>  	prompt "enable shader cache"
> diff --git a/rules/mesalib.make b/rules/mesalib.make
> index 3b3766b6af5f..f35682db3756 100644
> --- a/rules/mesalib.make
> +++ b/rules/mesalib.make
> @@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_MESALIB) += mesalib
>  #
>  # Paths and names
>  #
> -MESALIB_VERSION	:= 24.3.4
> -MESALIB_MD5	:= c64b7e2b4f1c7782c41bf022edbb365c
> +MESALIB_VERSION	:= 25.0.1
> +MESALIB_MD5	:= 3c317f5e15f5b6f7dd07591a9544d1f9
>  MESALIB		:= mesa-$(MESALIB_VERSION)
>  MESALIB_SUFFIX	:= tar.xz
>  MESALIB_URL	:= \
> @@ -128,6 +128,9 @@ MESALIB_VULKAN_DRIVERS-$(PTXCONF_MESALIB_VULKAN_PANFROST)	+= panfrost
>  endif
>  MESALIB_VULKAN_DRIVERS-$(PTXCONF_MESALIB_VULKAN_SWRAST)		+= swrast
>  MESALIB_VULKAN_DRIVERS-$(PTXCONF_MESALIB_VULKAN_VIRTIO)		+= virtio
> +MESALIB_VULKAN_DRIVERS-$(PTXCONF_MESALIB_VULKAN_NOUVEAU)	+= nouveau
> +MESALIB_VULKAN_DRIVERS-$(PTXCONF_MESALIB_VULKAN_ASAHI)		+= asahi

That one is only available on ARM64 hardware right? So maybe restrict it to
that.

> +MESALIB_VULKAN_DRIVERS-$(PTXCONF_MESALIB_VULKAN_GFXSTREAM)	+= gfxstream

Fails to build on ARMv7 with:

../mesa-25.0.1/src/gfxstream/guest/vulkan_enc/ResourceTracker.cpp:4905:23: error: format '%p' expects argument of type 'void*', but argument 4 has type 'VkFence' {aka 'long long unsigned int'} [-Werror=format=]

We should probably only build it for 64-bit architectures
(PTXCONF_ARCH_LP64). I don't see it beeing used anywhere else anyways.

Michael

>  
>  MESALIB_VULKAN_LIBS-y = $(subst amd,radeon,$(subst swrast,lvp,$(MESALIB_VULKAN_DRIVERS-y)))
>  
> @@ -135,8 +138,9 @@ MESALIB_VULKAN_LAYERS-$(PTXCONF_MESALIB_VULKAN_DEVICE_SELECT)	+= device-select
>  MESALIB_VULKAN_LAYERS-$(PTXCONF_MESALIB_VULKAN_INTEL_NULLHW)	+= intel-nullhw
>  MESALIB_VULKAN_LAYERS-$(PTXCONF_MESALIB_VULKAN_OVERLAY)		+= overlay
>  MESALIB_VULKAN_LAYERS-$(PTXCONF_MESALIB_VULKAN_SCREENSHOT)	+= screenshot
> +MESALIB_VULKAN_LAYERS-$(PTXCONF_MESALIB_VULKAN_VRAM_REPORT_LIMIT) += \
> +	vram-report-limit
>  
> -MESALIB_LIBS-y				:= libglapi
>  MESALIB_LIBS-$(PTXCONF_MESALIB_GLX)	+= libGL
>  MESALIB_LIBS-$(PTXCONF_MESALIB_GLES1)	+= libGLESv1_CM
>  MESALIB_LIBS-$(PTXCONF_MESALIB_GLES2)	+= libGLESv2
> @@ -204,28 +208,33 @@ MESALIB_CONF_OPT	:= \
>  	-Dglx-direct=true \
>  	-Dglx-read-only-text=false \
>  	-Dgpuvis=false \
> +	-Dinstall-mesa-clc=false \
> +	-Dinstall-precomp-compiler=false \
>  	-Dhtml-docs=disabled \
>  	-Dhtml-docs-path= \
>  	-Dimagination-srv=false \
>  	-Dinstall-intel-clc=false \
>  	-Dinstall-intel-gpu-tests=false \
> +	-Dintel-bvh-grl=false \
>  	-Dintel-clc=system \
> +	-Dintel-elk=true \
>  	-Dintel-rt=disabled \
>  	-Dlegacy-x11=none \
>  	-Dlibunwind=disabled \
>  	-Dllvm=$(call ptx/endis, PTXCONF_MESALIB_LLVM)d \
>  	-Dllvm-orcjit=false \
>  	-Dlmsensors=$(call ptx/endis, PTXCONF_MESALIB_LMSENSORS)d \
> +	-Dmesa-clc=$(call ptx/ifdef, PTXCONF_MESALIB_CLC,system,auto) \
>  	-Dmicrosoft-clc=disabled \
>  	-Dmin-windows-version=8 \
>  	-Dmoltenvk-dir= \
> -	-Dopencl-spirv=false \
>  	-Dopengl=$(call ptx/truefalse, PTXCONF_MESALIB_OPENGL) \
>  	-Dosmesa=false \
>  	-Dperfetto=false \
>  	-Dplatform-sdk-version=25 \
>  	-Dplatforms=$(subst $(space),$(comma),$(MESALIBS_EGL_PLATFORMS-y)) \
>  	-Dpower8=disabled \
> +	-Dprecomp-compiler=system \
>  	-Dradv-build-id='' \
>  	-Dshader-cache=$(call ptx/endis, PTXCONF_MESALIB_SHADER_CACHE)d \
>  	-Dshader-cache-default=true \
> -- 
> 2.39.5
> 
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



  reply	other threads:[~2025-03-07 12:02 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-06 10:00 Philipp Zabel
2025-03-07 12:01 ` Michael Olbrich [this message]
2025-03-07 12:34   ` Philipp Zabel

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=Z8rgHBfJfdWH9B9H@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=p.zabel@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /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