ports/mesa: Require llvm
I dont't really even want to suppot softpipe as that is so slow
This commit is contained in:
parent
fff5139d80
commit
673711a246
|
|
@ -8,55 +8,56 @@ CONFIGURE_OPTIONS=(
|
||||||
'-Dprefix=/usr'
|
'-Dprefix=/usr'
|
||||||
'-Dosmesa=true'
|
'-Dosmesa=true'
|
||||||
'-Dvulkan-drivers=[]'
|
'-Dvulkan-drivers=[]'
|
||||||
|
'-Dgallium-drivers=llvmpipe'
|
||||||
'-Dplatforms=[]'
|
'-Dplatforms=[]'
|
||||||
'-Dglx=disabled'
|
'-Dglx=disabled'
|
||||||
'-Dbuildtype=release'
|
'-Dbuildtype=release'
|
||||||
)
|
)
|
||||||
|
|
||||||
configure() {
|
pre_configure() {
|
||||||
llvm_version='20.1.8'
|
llvm_version='20.1.8'
|
||||||
llvm_root="../../llvm/llvm-$llvm_version-$BANAN_ARCH"
|
llvm_root="$(realpath ../../llvm)/llvm-$llvm_version-$BANAN_ARCH"
|
||||||
|
llvm_lib="$llvm_root/build/lib"
|
||||||
|
|
||||||
gallium_driver=softpipe
|
if [ ! -d "$llvm_lib" ]; then
|
||||||
|
pushd ../../llvm >/dev/null || exit 1
|
||||||
if [ -d "$llvm_root" ]; then
|
./build.sh || exit 1
|
||||||
llvm_lib=$(realpath "$llvm_root/build/lib")
|
popd >/dev/null
|
||||||
|
|
||||||
mkdir -p subprojects/llvm
|
|
||||||
|
|
||||||
wrap_file='subprojects/llvm/meson.build'
|
|
||||||
echo "project('llvm', ['cpp'])" >$wrap_file
|
|
||||||
echo "" >>$wrap_file
|
|
||||||
echo "cpp = meson.get_compiler('cpp')" >>$wrap_file
|
|
||||||
echo "" >>$wrap_file
|
|
||||||
echo "_deps = []" >>$wrap_file
|
|
||||||
echo "_search = '$llvm_lib'" >>$wrap_file
|
|
||||||
echo "foreach d : [" >>$wrap_file
|
|
||||||
for path in $llvm_lib/libLLVM*.a; do
|
|
||||||
name=$(basename $path)
|
|
||||||
echo " '${name:3:-2}'," >>$wrap_file
|
|
||||||
done
|
|
||||||
echo " ]" >>$wrap_file
|
|
||||||
echo " _deps += cpp.find_library(d, dirs : _search)" >>$wrap_file
|
|
||||||
echo "endforeach" >>$wrap_file
|
|
||||||
echo "" >>$wrap_file
|
|
||||||
echo "dep_llvm = declare_dependency(" >>$wrap_file
|
|
||||||
echo " include_directories : include_directories(" >>$wrap_file
|
|
||||||
echo " '$(realpath $llvm_root/llvm/include)'," >>$wrap_file
|
|
||||||
echo " '$(realpath $llvm_root/build/include)'," >>$wrap_file
|
|
||||||
echo " )," >>$wrap_file
|
|
||||||
echo " dependencies : _deps," >>$wrap_file
|
|
||||||
echo " version : '$llvm_version'," >>$wrap_file
|
|
||||||
echo ")" >>$wrap_file
|
|
||||||
|
|
||||||
gallium_driver=llvmpipe
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
mkdir -p subprojects/llvm
|
||||||
|
|
||||||
|
wrap_file='subprojects/llvm/meson.build'
|
||||||
|
echo "project('llvm', ['cpp'])" >$wrap_file
|
||||||
|
echo "" >>$wrap_file
|
||||||
|
echo "cpp = meson.get_compiler('cpp')" >>$wrap_file
|
||||||
|
echo "" >>$wrap_file
|
||||||
|
echo "_deps = []" >>$wrap_file
|
||||||
|
echo "_search = '$llvm_lib'" >>$wrap_file
|
||||||
|
echo "foreach d : [" >>$wrap_file
|
||||||
|
for path in $llvm_lib/libLLVM*.a; do
|
||||||
|
name=$(basename $path)
|
||||||
|
echo " '${name:3:-2}'," >>$wrap_file
|
||||||
|
done
|
||||||
|
echo " ]" >>$wrap_file
|
||||||
|
echo " _deps += cpp.find_library(d, dirs : _search)" >>$wrap_file
|
||||||
|
echo "endforeach" >>$wrap_file
|
||||||
|
echo "" >>$wrap_file
|
||||||
|
echo "dep_llvm = declare_dependency(" >>$wrap_file
|
||||||
|
echo " include_directories : include_directories(" >>$wrap_file
|
||||||
|
echo " '$llvm_root/llvm/include'," >>$wrap_file
|
||||||
|
echo " '$llvm_root/build/include'," >>$wrap_file
|
||||||
|
echo " )," >>$wrap_file
|
||||||
|
echo " dependencies : _deps," >>$wrap_file
|
||||||
|
echo " version : '$llvm_version'," >>$wrap_file
|
||||||
|
echo ")" >>$wrap_file
|
||||||
|
}
|
||||||
|
|
||||||
|
configure() {
|
||||||
meson setup \
|
meson setup \
|
||||||
--reconfigure \
|
--reconfigure \
|
||||||
--cross-file "$MESON_CROSS_FILE" \
|
--cross-file "$MESON_CROSS_FILE" \
|
||||||
"${CONFIGURE_OPTIONS[@]}" \
|
"${CONFIGURE_OPTIONS[@]}" \
|
||||||
"-Dgallium-drivers=$gallium_driver" \
|
|
||||||
build || exit 1
|
build || exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
diff -ruN mesa-25.0.7/include/drm-uapi/drm.h mesa-25.0.7-banan_os/include/drm-uapi/drm.h
|
||||||
|
--- mesa-25.0.7/include/drm-uapi/drm.h 2025-05-28 18:20:23.000000000 +0300
|
||||||
|
+++ mesa-25.0.7-banan_os/include/drm-uapi/drm.h 2025-11-07 00:31:02.881817684 +0200
|
||||||
|
@@ -44,7 +44,9 @@
|
||||||
|
#else /* One of the BSDs */
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
+#if 0
|
||||||
|
#include <sys/ioccom.h>
|
||||||
|
+#endif
|
||||||
|
#include <sys/types.h>
|
||||||
|
typedef int8_t __s8;
|
||||||
|
typedef uint8_t __u8;
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
diff -ru mesa-25.0.7-banan_os/src/gallium/drivers/llvmpipe/lp_texture.c mesa-25.0.7-x86_64/src/gallium/drivers/llvmpipe/lp_texture.c
|
|
||||||
--- mesa-25.0.7-banan_os/src/gallium/drivers/llvmpipe/lp_texture.c 2025-05-28 18:20:23.000000000 +0300
|
|
||||||
+++ mesa-25.0.7-x86_64/src/gallium/drivers/llvmpipe/lp_texture.c 2025-08-03 19:16:20.254971098 +0300
|
|
||||||
@@ -59,7 +59,7 @@
|
|
||||||
#include "frontend/sw_winsys.h"
|
|
||||||
#include "git_sha1.h"
|
|
||||||
|
|
||||||
-#ifndef _WIN32
|
|
||||||
+#if !defined(_WIN32) && !defined(__banan_os__)
|
|
||||||
#include "drm-uapi/drm_fourcc.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1713,7 +1713,7 @@
|
|
||||||
case PIPE_RESOURCE_PARAM_LAYER_STRIDE:
|
|
||||||
*value = lpr->img_stride[level];
|
|
||||||
return true;
|
|
||||||
-#ifndef _WIN32
|
|
||||||
+#if !defined(_WIN32) && !defined(__banan_os__)
|
|
||||||
case PIPE_RESOURCE_PARAM_MODIFIER:
|
|
||||||
*value = lpr->dmabuf ? DRM_FORMAT_MOD_LINEAR : DRM_FORMAT_MOD_INVALID;
|
|
||||||
return true;
|
|
||||||
Loading…
Reference in New Issue