Merge pull request #10045 from heitbaum/mesa

Mesa panfrost fixes
This commit is contained in:
Matthias Reichl 2025-05-08 18:46:59 +02:00 committed by GitHub
commit 8d2e4a07c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 18 additions and 8 deletions

View File

@ -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
}

View File

@ -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
}