Compare commits

...
Sign in to create a new pull request.

3 commits

Author SHA1 Message Date
886b5bf37d
fix
Signed-off-by: crueter <crueter@eden-emu.dev>
2025-07-27 22:13:57 -04:00
fffc093b48
[ci] add macos scripts
Signed-off-by: crueter <crueter@eden-emu.dev>
2025-07-27 22:09:50 -04:00
711a305929
[vk] fix macos comp errors
Signed-off-by: crueter <crueter@eden-emu.dev>
2025-07-27 21:32:13 -04:00
3 changed files with 65 additions and 2 deletions

29
.ci/macos/build.sh Executable file
View file

@ -0,0 +1,29 @@
#!/bin/sh
export LIBVULKAN_PATH="/opt/homebrew/lib/libvulkan.1.dylib"
if [ -z "$BUILD_TYPE" ]; then
export BUILD_TYPE="Release"
fi
if [ "$DEVEL" != "true" ]; then
export EXTRA_CMAKE_FLAGS=("${EXTRA_CMAKE_FLAGS[@]}" -DENABLE_QT_UPDATE_CHECKER=ON)
fi
mkdir -p build
cd build
cmake .. -GNinja \
-DYUZU_TESTS=OFF \
-DYUZU_USE_BUNDLED_QT=OFF \
-DENABLE_QT_TRANSLATION=ON \
-DYUZU_ENABLE_LTO=ON \
-DUSE_DISCORD_PRESENCE=ON \
-DYUZU_CMD=OFF \
-DYUZU_ROOM_STANDALONE=OFF \
-DCMAKE_CXX_FLAGS="-w" \
-DCMAKE_BUILD_TYPE="$BUILD_TYPE" \
-DYUZU_USE_PRECOMPILED_HEADERS=OFF \
"${EXTRA_CMAKE_FLAGS[@]}"
ninja

34
.ci/macos/package.sh Executable file
View file

@ -0,0 +1,34 @@
#!/bin/sh
# credit: escary and hauntek
cd build
APP=./bin/eden.app
macdeployqt "$APP"
macdeployqt "$APP" -always-overwrite
# FixMachOLibraryPaths
find "$APP/Contents/Frameworks" ""$APP/Contents/MacOS"" -type f \( -name "*.dylib" -o -perm +111 \) | while read file; do
if file "$file" | grep -q "Mach-O"; then
otool -L "$file" | awk '/@rpath\// {print $1}' | while read lib; do
lib_name="${lib##*/}"
new_path="@executable_path/../Frameworks/$lib_name"
install_name_tool -change "$lib" "$new_path" "$file"
done
if [[ "$file" == *.dylib ]]; then
lib_name="${file##*/}"
new_id="@executable_path/../Frameworks/$lib_name"
install_name_tool -id "$new_id" "$file"
fi
fi
done
codesign --deep --force --verify --verbose --sign - "$APP"
ZIP_NAME="eden-macos.zip"
mkdir -p artifacts
mv $APP .
7z a -tzip "$ZIP_NAME" eden.app
mv "$ZIP_NAME" artifacts/

View file

@ -1373,8 +1373,8 @@ void TextureCacheRuntime::CopyImage(Image& dst, Image& src,
// these images that aren't size-compatible
if (BytesPerBlock(src.info.format) != BytesPerBlock(dst.info.format)) {
auto oneCopy = VideoCommon::ImageCopy{
.src_offset = VideoCommon::Offset3D(0, 0, 0),
.dst_offset = VideoCommon::Offset3D(0, 0, 0),
.src_offset = VideoCommon::Offset3D{0, 0, 0},
.dst_offset = VideoCommon::Offset3D{0, 0, 0},
.extent = dst.info.size
};
return ReinterpretImage(dst, src, std::span{&oneCopy, 1});