This commit is contained in:
schm1dtmac 2025-12-27 21:22:29 +00:00 committed by GitHub
commit f433b98878
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 37 additions and 8 deletions

View File

@ -6,6 +6,15 @@ export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
export HOMEBREW_NO_ENV_HINTS=1
export HOMEBREW_NO_INSTALL_CLEANUP=1
if [ "$BUILD_MAC_KK" -eq 1 ]; then
git clone https://gitlab.freedesktop.org/mesa/mesa.git kosmickrisp; cd kosmickrisp
brew install meson libclc spirv-llvm-translator spirv-tools
pip3 install mako packaging pyyaml --break-system-packages
export PATH="/opt/homebrew/opt/llvm/bin:$PATH"
meson setup build --prefix=/opt/homebrew --buildtype=release -Dplatforms=macos -Dvulkan-drivers=kosmickrisp -Dgallium-drivers= -Dopengl=false -Dzstd=disabled
ninja -C build; cd ../
fi
brew install -f --overwrite --quiet googletest opencv@4 ffmpeg@5 "llvm@$LLVM_COMPILER_VER" sdl3 vulkan-headers vulkan-loader
brew unlink --quiet ffmpeg qtbase qtsvg qtdeclarative

View File

@ -16,11 +16,19 @@ echo "AVVER=$AVVER" >> ../.ci/ci-vars.env
cd bin
mkdir "rpcs3.app/Contents/lib/" || true
mkdir -p "rpcs3.app/Contents/Resources/vulkan/icd.d" || true
wget https://github.com/KhronosGroup/MoltenVK/releases/download/v1.4.1/MoltenVK-macos-privateapi.tar
tar -xvf MoltenVK-macos-privateapi.tar
cp "MoltenVK/MoltenVK/dynamic/dylib/macOS/libMoltenVK.dylib" "rpcs3.app/Contents/Frameworks/libMoltenVK.dylib"
cp "MoltenVK/MoltenVK/dynamic/dylib/macOS/MoltenVK_icd.json" "rpcs3.app/Contents/Resources/vulkan/icd.d/MoltenVK_icd.json"
sed -i '' "s/.\//..\/..\/..\/Frameworks\//g" "rpcs3.app/Contents/Resources/vulkan/icd.d/MoltenVK_icd.json"
if [ "$BUILD_MAC_KK" -eq 1 ]; then
cp "$WORKDIR/kosmickrisp/build/src/kosmickrisp/vulkan/libvulkan_kosmickrisp.dylib" "rpcs3.app/Contents/Frameworks/libvulkan_kosmickrisp.dylib"
cp "$WORKDIR/kosmickrisp/build/src/kosmickrisp/vulkan/kosmickrisp_mesa_icd.aarch64.json" "rpcs3.app/Contents/Resources/vulkan/icd.d/kosmickrisp_mesa_icd.aarch64.json"
cp "$(realpath /opt/homebrew/lib/libSPIRV-Tools.dylib)" "rpcs3.app/Contents/Frameworks/libSPIRV-Tools.dylib"
install_name_tool -change "/opt/homebrew/opt/spirv-tools/lib/libSPIRV-Tools.dylib" "@rpath/libSPIRV-Tools.dylib" "rpcs3.app/Contents/Frameworks/libvulkan_kosmickrisp.dylib"
sed -i '' "s/\/opt\/homebrew\/lib\//..\/..\/..\/Frameworks\//g" "rpcs3.app/Contents/Resources/vulkan/icd.d/kosmickrisp_mesa_icd.aarch64.json"
else
wget https://github.com/KhronosGroup/MoltenVK/releases/download/v1.4.1/MoltenVK-macos-privateapi.tar
tar -xvf MoltenVK-macos-privateapi.tar
cp "MoltenVK/MoltenVK/dynamic/dylib/macOS/libMoltenVK.dylib" "rpcs3.app/Contents/Frameworks/libMoltenVK.dylib"
cp "MoltenVK/MoltenVK/dynamic/dylib/macOS/MoltenVK_icd.json" "rpcs3.app/Contents/Resources/vulkan/icd.d/MoltenVK_icd.json"
sed -i '' "s/.\//..\/..\/..\/Frameworks\//g" "rpcs3.app/Contents/Resources/vulkan/icd.d/MoltenVK_icd.json"
fi
cp "$(realpath /opt/homebrew/opt/llvm@$LLVM_COMPILER_VER/lib/c++/libc++abi.1.0.dylib)" "rpcs3.app/Contents/Frameworks/libc++abi.1.dylib"
cp "$(realpath /opt/homebrew/opt/gcc/lib/gcc/current/libgcc_s.1.1.dylib)" "rpcs3.app/Contents/Frameworks/libgcc_s.1.1.dylib"

View File

@ -123,15 +123,25 @@ jobs:
matrix:
include:
- name: Intel
runs-on: macos-14
build_sh: .ci/build-mac.sh
BUILD_MAC_KK: 0
UPLOAD_COMMIT_HASH: 51ae32f468089a8169aaf1567de355ff4a3e0842
UPLOAD_REPO_FULL_NAME: rpcs3/rpcs3-binaries-mac
- name: Apple Silicon
runs-on: macos-14
build_sh: .ci/build-mac-arm64.sh
BUILD_MAC_KK: 0
UPLOAD_COMMIT_HASH: 8e21bdbc40711a3fccd18fbf17b742348b0f4281
UPLOAD_REPO_FULL_NAME: rpcs3/rpcs3-binaries-mac-arm64
- name: Apple Silicon (KosmicKrisp)
runs-on: macos-15
build_sh: .ci/build-mac-arm64.sh
BUILD_MAC_KK: 1
UPLOAD_COMMIT_HASH: ""
UPLOAD_REPO_FULL_NAME: ""
name: RPCS3 Mac ${{ matrix.name }}
runs-on: macos-14
runs-on: ${{ matrix.runs-on }}
env:
CCACHE_DIR: /tmp/ccache_dir
QT_VER: '6.10.1'
@ -140,6 +150,7 @@ jobs:
RELEASE_MESSAGE: ../GitHubReleaseMessage.txt
UPLOAD_COMMIT_HASH: ${{ matrix.UPLOAD_COMMIT_HASH }}
UPLOAD_REPO_FULL_NAME: ${{ matrix.UPLOAD_REPO_FULL_NAME }}
BUILD_MAC_KK: ${{ matrix.BUILD_MAC_KK }}
RUN_UNIT_TESTS: github.event_name == 'pull_request' && 'ON' || 'OFF'
steps:
- name: Checkout repository
@ -183,6 +194,7 @@ jobs:
- name: Deploy master build to GitHub Releases
if: |
env.BUILD_MAC_KK == 0 &&
github.event_name != 'pull_request' &&
github.repository == 'RPCS3/rpcs3' &&
github.ref == 'refs/heads/master'
@ -191,14 +203,14 @@ jobs:
run: .ci/github-upload.sh
- name: Save Build Ccache
if: github.ref == 'refs/heads/master'
if: env.BUILD_MAC_KK == 0 && github.ref == 'refs/heads/master'
uses: actions/cache/save@main
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ steps.restore-build-ccache.outputs.cache-primary-key }}
- name: Save Qt Cache
if: github.ref == 'refs/heads/master'
if: env.BUILD_MAC_KK == 0 && github.ref == 'refs/heads/master'
uses: actions/cache/save@main
with:
path: /tmp/Qt