From ea513618ba542989fb5f453cf9c4f5514ade3c2f Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Thu, 8 May 2025 15:13:09 +0000 Subject: [PATCH 1/2] llvm: inlcude spirv for mesa panfrost builds --- packages/lang/llvm/package.mk | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/lang/llvm/package.mk b/packages/lang/llvm/package.mk index 4aa93c357a..d3796fb2cb 100644 --- a/packages/lang/llvm/package.mk +++ b/packages/lang/llvm/package.mk @@ -13,10 +13,6 @@ PKG_DEPENDS_TARGET="toolchain llvm:host zlib" PKG_LONGDESC="Low-Level Virtual Machine (LLVM) is a compiler infrastructure." PKG_TOOLCHAIN="cmake" -if listcontains "${GRAPHIC_DRIVERS}" "iris"; then - PKG_DEPENDS_UNPACK="spirv-headers spirv-llvm-translator" -fi - PKG_CMAKE_OPTS_COMMON="-DLLVM_INCLUDE_TOOLS=ON \ -DLLVM_BUILD_TOOLS=OFF \ -DLLVM_BUILD_UTILS=OFF \ @@ -44,11 +40,15 @@ PKG_CMAKE_OPTS_COMMON="-DLLVM_INCLUDE_TOOLS=ON \ -DLLVM_ENABLE_RTTI=ON \ -DLLVM_ENABLE_UNWIND_TABLES=OFF \ -DLLVM_ENABLE_Z3_SOLVER=OFF \ - -DLLVM_SPIRV_INCLUDE_TESTS=OFF \ -DCMAKE_SKIP_RPATH=ON" +if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then + PKG_DEPENDS_UNPACK="spirv-headers spirv-llvm-translator" + PKG_CMAKE_OPTS_COMMON+=" -DLLVM_SPIRV_INCLUDE_TESTS=OFF" +fi + post_unpack() { - if listcontains "${GRAPHIC_DRIVERS}" "iris"; then + if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then mkdir -p "${PKG_BUILD}"/llvm/projects/{SPIRV-Headers,SPIRV-LLVM-Translator} tar --strip-components=1 \ -xf "${SOURCES}/spirv-headers/spirv-headers-$(get_pkg_version spirv-headers).tar.gz" \ @@ -112,7 +112,7 @@ post_makeinstall_host() { cp -a bin/llvm-objcopy ${TOOLCHAIN}/bin cp -a bin/llvm-tblgen ${TOOLCHAIN}/bin - if listcontains "${GRAPHIC_DRIVERS}" "iris"; then + if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then cp -a bin/{llvm-as,llvm-link,llvm-spirv,opt} "${TOOLCHAIN}/bin" fi } From a29dfdf64eebe58392ee3ad55ecb8a6a50a2d81c Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Thu, 8 May 2025 16:41:18 +0000 Subject: [PATCH 2/2] mesa: build panfrost compiler as required by 25.1.0 --- packages/graphics/mesa/package.mk | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index 3a2b7dd1f7..1ad886fa32 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -61,11 +61,17 @@ if listcontains "${GRAPHIC_DRIVERS}" "etnaviv"; then PKG_DEPENDS_TARGET+=" pycparser:host" fi -if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then +if listcontains "${GRAPHIC_DRIVERS}" "iris"; then PKG_DEPENDS_TARGET+=" mesa:host" PKG_MESON_OPTS_TARGET+=" -Dmesa-clc=system" fi +if listcontains "${GRAPHIC_DRIVERS}" "panfrost"; then + PKG_DEPENDS_TARGET+=" mesa:host" + PKG_MESON_OPTS_HOST+=" -Dtools=panfrost" + PKG_MESON_OPTS_TARGET+=" -Dprecomp-compiler=system -Dmesa-clc=system" +fi + if listcontains "${GRAPHIC_DRIVERS}" "(nvidia|nvidia-ng)" || [ "${OPENGL_SUPPORT}" = "yes" ] && [ "${DISPLAYSERVER}" != "x11" ]; then @@ -120,4 +126,8 @@ makeinstall_host() { mkdir -p "${TOOLCHAIN}/bin" cp -a src/compiler/clc/mesa_clc "${TOOLCHAIN}/bin" cp -a src/compiler/spirv/vtn_bindgen2 "${TOOLCHAIN}/bin" + + if listcontains "${GRAPHIC_DRIVERS}" "panfrost"; then + cp -a src/panfrost/clc/panfrost_compile "${TOOLCHAIN}/bin" + fi }