mirror of
https://github.com/utmapp/UTM.git
synced 2026-10-12 02:24:01 +00:00
build: add MoltenVK to dependencies
This commit is contained in:
@@ -87,7 +87,8 @@ jobs:
|
||||
run: |
|
||||
brew uninstall cmake
|
||||
brew install bison pkg-config gettext glib-utils libgpg-error nasm make meson cmake
|
||||
pip3 install --user six pyparsing pyyaml setuptools distlib mako
|
||||
pip3 install --break-system-packages --user six pyparsing pyyaml setuptools distlib mako
|
||||
gem install --user-install xcpretty
|
||||
rm -f /usr/local/lib/pkgconfig/*.pc
|
||||
- name: Build Sysroot
|
||||
if: steps.cache-sysroot.outputs.cache-matched-key == '' || github.event.inputs.rebuild_sysroot == 'true'
|
||||
|
||||
@@ -49,6 +49,8 @@ VIRGLRENDERER_REPO="https://github.com/utmapp/virglrenderer.git"
|
||||
VIRGLRENDERER_COMMIT="31d91c3860749534aed7bd26af8f47f7de412681"
|
||||
MESA_REPO="https://gitlab.freedesktop.org/osy/mesa.git"
|
||||
MESA_COMMIT="79bc850d884a1307356ff61c017e58901b90c7e2"
|
||||
MOLTENVK_REPO="https://github.com/KhronosGroup/MoltenVK.git"
|
||||
MOLTENVK_COMMIT="bf60f60d0805e9b3ab989cfc1b69f780f96fd123"
|
||||
|
||||
# Decompiled Hypervisor for iOS
|
||||
HYPERVISOR_REPO="https://github.com/utmapp/Hypervisor.git"
|
||||
|
||||
@@ -176,6 +176,7 @@ download_all () {
|
||||
clone $HYPERVISOR_REPO $HYPERVISOR_COMMIT
|
||||
clone $LIBUCONTEXT_REPO $LIBUCONTEXT_COMMIT
|
||||
clone $MESA_REPO $MESA_COMMIT
|
||||
clone $MOLTENVK_REPO $MOLTENVK_COMMIT
|
||||
}
|
||||
|
||||
copy_private_headers() {
|
||||
@@ -708,10 +709,48 @@ patch_vulkan_icd() {
|
||||
fi
|
||||
}
|
||||
|
||||
build_moltenvk() {
|
||||
pushd "$BUILD_DIR/MoltenVK.git"
|
||||
# for xcpretty if installed
|
||||
if which ruby >/dev/null && which gem >/dev/null; then
|
||||
PATH="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin:$PATH"
|
||||
fi
|
||||
case $PLATFORM in
|
||||
ios_simulator* )
|
||||
MVK_PLATFORM="iossim"
|
||||
;;
|
||||
ios* )
|
||||
MVK_PLATFORM="ios"
|
||||
;;
|
||||
visionos_simulator* )
|
||||
MVK_PLATFORM="visionossim"
|
||||
;;
|
||||
visionos* )
|
||||
MVK_PLATFORM="visionos"
|
||||
;;
|
||||
macos )
|
||||
MVK_PLATFORM="macos"
|
||||
;;
|
||||
esac
|
||||
env -i PATH=$PATH HOME=$HOME LANG=en_US.UTF-8 ./fetchDependencies --$MVK_PLATFORM -v
|
||||
env -i PATH=$PATH HOME=$HOME LANG=en_US.UTF-8 make $MVK_PLATFORM
|
||||
if [ "$PLATFORM" == "macos" ]; then
|
||||
$(xcrun --sdk $SDK --find lipo) "Package/Release/MoltenVK/dylib/macOS/libMoltenVK.dylib" -extract $ARCH -output "$PREFIX/lib/libMoltenVK.dylib"
|
||||
else
|
||||
find "Package/Release/MoltenVK/dynamic/MoltenVK.xcframework" -name "MoltenVK.framework" -exec cp -a \{\} "$PREFIX/Frameworks/" \;
|
||||
fi
|
||||
cp -a "MoltenVK/icd/MoltenVK_icd.json" "$PREFIX/share/vulkan/icd.d/"
|
||||
popd
|
||||
}
|
||||
|
||||
build_vulkan_drivers () {
|
||||
export PATH="$(brew --prefix mesa)/bin:$PATH"
|
||||
mkdir -p "$PREFIX/share/vulkan/icd.d"
|
||||
meson_darwin_build $MESA_REPO -Dmesa-clc=system -Dgallium-drivers= -Dvulkan-drivers=kosmickrisp -Dplatforms=macos
|
||||
patch_vulkan_icd "$PREFIX/share/vulkan/icd.d/kosmickrisp_mesa_icd.$ARCH.json"
|
||||
mv "$PREFIX/share/vulkan/icd.d/kosmickrisp_mesa_icd.$ARCH.json" "$PREFIX/share/vulkan/icd.d/kosmickrisp_mesa_icd.json"
|
||||
build_moltenvk
|
||||
patch_vulkan_icd "$PREFIX/share/vulkan/icd.d/MoltenVK_icd.json"
|
||||
}
|
||||
|
||||
fixup () {
|
||||
|
||||
Reference in New Issue
Block a user