diff --git a/.ci/macos/build.sh b/.ci/macos/build.sh new file mode 100755 index 0000000000..0405194a6f --- /dev/null +++ b/.ci/macos/build.sh @@ -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 diff --git a/.ci/macos/package.sh b/.ci/macos/package.sh new file mode 100755 index 0000000000..11e8b626ed --- /dev/null +++ b/.ci/macos/package.sh @@ -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/ diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 9259639107..f30dfaf096 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -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});