diff --git a/.github/workflows/rolling-release.yml b/.github/workflows/rolling-release.yml index 05929d511..e1e7c554f 100644 --- a/.github/workflows/rolling-release.yml +++ b/.github/workflows/rolling-release.yml @@ -368,7 +368,11 @@ jobs: run: | mkdir build cd build - ../scripts/make-universal-macos-binary.sh .. + export MACOSX_DEPLOYMENT_TARGET=11.0 + cmake -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENGL=OFF -DCMAKE_PREFIX_PATH="$HOME/deps" -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -G Ninja .. + cmake --build . --parallel + mv bin/DuckStation.app . + codesign -s - --deep -f -v DuckStation.app zip -r duckstation-mac-release.zip DuckStation.app/ - name: Upload macOS .app diff --git a/CMakeLists.txt b/CMakeLists.txt index d501dfb67..6fc17823e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -135,31 +135,44 @@ endif() # Detect processor type. -if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64") - # Cross-compile on macos. - set(CPU_ARCH "aarch64") +if(APPLE AND NOT "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "") + # Universal binaries. + if("x86_64" IN_LIST CMAKE_OSX_ARCHITECTURES) + set(CPU_ARCH_X64 TRUE) + message("Building x86_64 MacOS binaries.") + endif() + if("arm64" IN_LIST CMAKE_OSX_ARCHITECTURES) + set(CPU_ARCH_ARM64 TRUE) + message("Building ARM64 MacOS binaries.") + endif() elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64" OR "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "amd64" OR "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "AMD64" OR "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64") if(CMAKE_SIZEOF_VOID_P EQUAL 8) - set(CPU_ARCH "x64") + set(CPU_ARCH_X64 TRUE) + message("Building x86_64 binaries.") else() # Cross-compiling 32-bit build. 32-bit hosts are not supported. - set(CPU_ARCH "x86") + set(CPU_ARCH_X86 TRUE) + message("Building x86_32 binaries [not supported].") endif() elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86" OR "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386" OR "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i686") - set(CPU_ARCH "x86") + set(CPU_ARCH_X86 TRUE) + message("Building x86_32 binaries [not supported].") elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64" OR "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "arm64") if(CMAKE_SIZEOF_VOID_P EQUAL 8) # Might have an A64 kernel, e.g. Raspbian. - set(CPU_ARCH "aarch64") + set(CPU_ARCH_ARM64 TRUE) + message("Building ARM64 binaries.") else() - set(CPU_ARCH "aarch32") + set(CPU_ARCH_ARM32 TRUE) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -marm -march=armv7-a") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -marm -march=armv7-a") + message("Building ARM32 binaries on ARM64.") endif() elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "arm" OR "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "armv7-a" OR "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "armv7l") - set(CPU_ARCH "aarch32") + set(CPU_ARCH_ARM32 TRUE) + message("Building ARM32 binaries.") if(ANDROID) # Force ARM mode, since apparently ANDROID_ARM_MODE isn't working.. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -marm") @@ -171,6 +184,7 @@ elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "arm" OR "${CMAKE_SYSTEM_PROCESSOR}" endif() elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "riscv64") set(CPU_ARCH "riscv64") + message("Building RISC-V 64 binaries.") # Not done for us. Or we should inline atomics? link_libraries("-latomic") @@ -208,7 +222,7 @@ find_package(Threads REQUIRED) # Enable large file support on Linux 32-bit platforms. # Android is deliberately ommitted here as it didn't support 64-bit ops on files until Android 7/N. -if((LINUX OR FREEBSD) AND (${CPU_ARCH} STREQUAL "x86" OR ${CPU_ARCH} STREQUAL "aarch32")) +if((LINUX OR FREEBSD) AND (CPU_ARCH_X86 OR CPU_ARCH_ARM32)) add_definitions("-D_FILE_OFFSET_BITS=64") endif() diff --git a/dep/CMakeLists.txt b/dep/CMakeLists.txt index 368363ef2..63daac0ad 100644 --- a/dep/CMakeLists.txt +++ b/dep/CMakeLists.txt @@ -49,18 +49,18 @@ if(ENABLE_DISCORD_PRESENCE) disable_compiler_warnings_for_target(discord-rpc) endif() -if(${CPU_ARCH} STREQUAL "x64") +if(CPU_ARCH_X64) add_subdirectory(xbyak EXCLUDE_FROM_ALL) add_subdirectory(zydis EXCLUDE_FROM_ALL) disable_compiler_warnings_for_target(zydis) endif() -if(${CPU_ARCH} STREQUAL "aarch32" OR ${CPU_ARCH} STREQUAL "aarch64") +if(CPU_ARCH_ARM32 OR CPU_ARCH_ARM64) add_subdirectory(vixl EXCLUDE_FROM_ALL) disable_compiler_warnings_for_target(vixl) endif() -if(${CPU_ARCH} STREQUAL "riscv64") +if(CPU_ARCH_RISCV64) add_subdirectory(biscuit EXCLUDE_FROM_ALL) disable_compiler_warnings_for_target(biscuit) add_subdirectory(riscv-disas EXCLUDE_FROM_ALL) diff --git a/dep/soundtouch/CMakeLists.txt b/dep/soundtouch/CMakeLists.txt index 9045a61f8..ccbb4811d 100644 --- a/dep/soundtouch/CMakeLists.txt +++ b/dep/soundtouch/CMakeLists.txt @@ -33,9 +33,9 @@ target_compile_definitions(soundtouch PRIVATE ${COMPILE_DEFINITIONS}) target_compile_options(soundtouch PRIVATE ${COMPILE_OPTIONS}) target_compile_definitions(soundtouch PUBLIC SOUNDTOUCH_FLOAT_SAMPLES ST_NO_EXCEPTION_HANDLING=1) -if("${CPU_ARCH}" STREQUAL "aarch32" OR "${CPU_ARCH}" STREQUAL "aarch64") +if(CPU_ARCH_ARM32 OR CPU_ARCH_ARM64) target_compile_definitions(soundtouch PRIVATE SOUNDTOUCH_USE_NEON) - if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7.*)$") + if(CPU_ARCH_ARM32) target_compile_options(soundtouch PRIVATE -mfpu=neon) endif() endif() diff --git a/dep/vixl/CMakeLists.txt b/dep/vixl/CMakeLists.txt index 4ec955642..6a17843bb 100644 --- a/dep/vixl/CMakeLists.txt +++ b/dep/vixl/CMakeLists.txt @@ -27,7 +27,7 @@ target_compile_definitions(vixl PUBLIC VIXL_CODE_BUFFER_MALLOC ) -if(${CPU_ARCH} STREQUAL "aarch32") +if(CPU_ARCH_ARM32) target_sources(vixl PRIVATE include/vixl/aarch32/assembler-aarch32.h include/vixl/aarch32/constants-aarch32.h @@ -52,7 +52,7 @@ if(${CPU_ARCH} STREQUAL "aarch32") ) endif() -if(${CPU_ARCH} STREQUAL "aarch64") +if(CPU_ARCH_ARM64) target_sources(vixl PRIVATE include/vixl/aarch64/abi-aarch64.h include/vixl/aarch64/assembler-aarch64.h diff --git a/dep/xxhash/CMakeLists.txt b/dep/xxhash/CMakeLists.txt index 6383188cc..f33a164aa 100644 --- a/dep/xxhash/CMakeLists.txt +++ b/dep/xxhash/CMakeLists.txt @@ -5,7 +5,7 @@ set(SRCS add_library(xxhash ${SRCS}) -if(${CPU_ARCH} STREQUAL "x86" OR ${CPU_ARCH} STREQUAL "x64") +if(CPU_ARCH_X86 OR CPU_ARCH_X64) # Required if building with -mavx or -march=native, but you shouldn't be building with it. target_compile_definitions(xxhash PRIVATE "XXH_X86DISPATCH_ALLOW_AVX") target_sources(xxhash PRIVATE diff --git a/dep/xxhash/src/xxh_x86dispatch.c b/dep/xxhash/src/xxh_x86dispatch.c index 503672499..bb35d8397 100644 --- a/dep/xxhash/src/xxh_x86dispatch.c +++ b/dep/xxhash/src/xxh_x86dispatch.c @@ -52,9 +52,7 @@ extern "C" { #endif -#if !(defined(__x86_64__) || defined(__i386__) || defined(_M_IX86) || defined(_M_X64)) -# error "Dispatching is currently only supported on x86 and x86_64." -#endif +#if defined(__x86_64__) || defined(__i386__) || defined(_M_IX86) || defined(_M_X64) /*! * @def XXH_X86DISPATCH_ALLOW_AVX @@ -764,6 +762,8 @@ XXH3_128bits_update_dispatch(XXH3_state_t* state, const void* input, size_t len) return XXH_g_dispatch128.update(state, (const xxh_u8*)input, len); } +#endif // defined(__x86_64__) || defined(__i386__) || defined(_M_IX86) || defined(_M_X64) + #if defined (__cplusplus) } #endif diff --git a/dep/zstd/CMakeLists.txt b/dep/zstd/CMakeLists.txt index c81a88151..2e8818ab6 100644 --- a/dep/zstd/CMakeLists.txt +++ b/dep/zstd/CMakeLists.txt @@ -28,7 +28,7 @@ add_library(zstd lib/decompress/zstd_decompress.c ) -if(NOT MSVC AND CPU_ARCH STREQUAL "x64") +if(NOT MSVC AND CPU_ARCH_X64) target_sources(zstd PRIVATE lib/decompress/huf_decompress_amd64.S) endif() diff --git a/dep/zydis/include/Zydis/ShortString.h b/dep/zydis/include/Zydis/ShortString.h index c75988555..b3132e914 100644 --- a/dep/zydis/include/Zydis/ShortString.h +++ b/dep/zydis/include/Zydis/ShortString.h @@ -44,7 +44,7 @@ extern "C" { /* Enums and types */ /* ============================================================================================== */ -#if !(defined(ZYAN_AARCH64) && defined(ZYAN_APPLE)) +#if !(defined(ZYAN_APPLE)) # pragma pack(push, 1) #endif @@ -68,7 +68,7 @@ typedef struct ZydisShortString_ ZyanU8 size; } ZydisShortString; -#if !(defined(ZYAN_AARCH64) && defined(ZYAN_APPLE)) +#if !(defined(ZYAN_APPLE)) # pragma pack(pop) #endif diff --git a/scripts/make-universal-macos-binary.sh b/scripts/make-universal-macos-binary.sh deleted file mode 100755 index 58d11588a..000000000 --- a/scripts/make-universal-macos-binary.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh - -set -e - -DEPS=$HOME/deps - -if [ "$#" -ne 1 ]; then - echo "Syntax: $0 " - exit 1 -fi - -# no realpath... -SOURCEDIR="$1" - -echo "Build x64..." -mkdir build-x64 -cd build-x64 -export MACOSX_DEPLOYMENT_TARGET=11.0 -cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENGL=OFF -DCMAKE_PREFIX_PATH="$DEPS" -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -G Ninja "../$SOURCEDIR" -cmake --build . --parallel -cd .. - -echo "Build arm64..." -mkdir build-arm64 -cd build-arm64 -export MACOSX_DEPLOYMENT_TARGET=11.00 -cmake -DCMAKE_OSX_ARCHITECTURES=arm64 -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENGL=OFF -DCMAKE_PREFIX_PATH="$DEPS" -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -G Ninja "../$SOURCEDIR" -cmake --build . --parallel -cd .. - -echo "Combine binary..." -unset MACOSX_DEPLOYMENT_TARGET -BINPATH=bin/DuckStation.app/Contents/MacOS/DuckStation -UPDATERPATH=bin/DuckStation.app/Contents/Resources/Updater.app/Contents/MacOS/Updater -lipo -create "build-x64/$BINPATH" "build-arm64/$BINPATH" -o "build-x64/$BINPATH" -lipo -create "build-x64/$UPDATERPATH" "build-arm64/$UPDATERPATH" -o "build-x64/$UPDATERPATH" - -# For some reason, the svg image format plugin doesn't get included in combined builds... -if [ -f $HOME/deps/plugins/imageformats/libqsvg.dylib ]; then - cp -v -n $HOME/deps/plugins/imageformats/libqsvg.dylib build-x64/bin/DuckStation.app/Contents/PlugIns/imageformats -fi - -echo "Grab app..." -mv build-x64/bin/DuckStation.app . -rm -fr build-x64 build-arm64 - -echo "Sign binary with self-signed cert..." -codesign -s - --deep -f -v DuckStation.app diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 8b49b6f95..a6720815f 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -133,16 +133,20 @@ target_include_directories(core PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/..") target_link_libraries(core PUBLIC Threads::Threads common util zlib) target_link_libraries(core PRIVATE stb xxhash imgui rapidjson rcheevos) -if(${CPU_ARCH} STREQUAL "x64") +if(CPU_ARCH_X64) target_compile_definitions(core PUBLIC "ENABLE_RECOMPILER=1" "ENABLE_NEWREC=1" "ENABLE_MMAP_FASTMEM=1") target_sources(core PRIVATE ${RECOMPILER_SRCS} ${NEWREC_SOURCES} cpu_recompiler_code_generator_x64.cpp cpu_newrec_compiler_x64.cpp cpu_newrec_compiler_x64.h ) - target_link_libraries(core PRIVATE xbyak zydis) + target_link_libraries(core PRIVATE xbyak) + if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") + target_link_libraries(core PRIVATE zydis) + endif() message("Building x64 recompiler") -elseif(${CPU_ARCH} STREQUAL "aarch32") +endif() +if(CPU_ARCH_ARM32) target_compile_definitions(core PUBLIC "ENABLE_RECOMPILER=1" "ENABLE_NEWREC=1") target_sources(core PRIVATE ${RECOMPILER_SRCS} ${NEWREC_SOURCES} cpu_recompiler_code_generator_aarch32.cpp @@ -151,7 +155,8 @@ elseif(${CPU_ARCH} STREQUAL "aarch32") ) target_link_libraries(core PUBLIC vixl) message("Building AArch32 recompiler") -elseif(${CPU_ARCH} STREQUAL "aarch64") +endif() +if(CPU_ARCH_ARM64) target_compile_definitions(core PUBLIC "ENABLE_RECOMPILER=1" "ENABLE_NEWREC=1" "ENABLE_MMAP_FASTMEM=1") target_sources(core PRIVATE ${RECOMPILER_SRCS} ${NEWREC_SOURCES} cpu_recompiler_code_generator_aarch64.cpp @@ -160,7 +165,8 @@ elseif(${CPU_ARCH} STREQUAL "aarch64") ) target_link_libraries(core PUBLIC vixl) message("Building AArch64 recompiler") -elseif(${CPU_ARCH} STREQUAL "riscv64") +endif() +if(CPU_ARCH_RISCV64) target_compile_definitions(core PUBLIC "ENABLE_NEWREC=1" "ENABLE_MMAP_FASTMEM=1") target_sources(core PRIVATE ${NEWREC_SOURCES} cpu_newrec_compiler_riscv64.cpp @@ -168,8 +174,6 @@ elseif(${CPU_ARCH} STREQUAL "riscv64") ) target_link_libraries(core PUBLIC biscuit::biscuit riscv-disas) message("Building RISC-V 64-bit recompiler") -else() - message("Not building recompiler") endif() if(ENABLE_DISCORD_PRESENCE) diff --git a/src/core/cpu_newrec_compiler_aarch32.cpp b/src/core/cpu_newrec_compiler_aarch32.cpp index 3dccbfe36..d3f97b97e 100644 --- a/src/core/cpu_newrec_compiler_aarch32.cpp +++ b/src/core/cpu_newrec_compiler_aarch32.cpp @@ -14,6 +14,9 @@ #include "settings.h" #include "timing_event.h" #include + +#ifdef CPU_ARCH_ARM32 + Log_SetChannel(CPU::NewRec); #define PTR(x) vixl::aarch32::MemOperand(RSTATE, (((u8*)(x)) - ((u8*)&g_state))) @@ -2260,3 +2263,5 @@ u32 CPU::NewRec::CompileLoadStoreThunk(void* thunk_code, u32 thunk_space, void* return static_cast(armAsm->GetCursorOffset()); } + +#endif // CPU_ARCH_ARM32 diff --git a/src/core/cpu_newrec_compiler_aarch32.h b/src/core/cpu_newrec_compiler_aarch32.h index 43be93b55..604330d82 100644 --- a/src/core/cpu_newrec_compiler_aarch32.h +++ b/src/core/cpu_newrec_compiler_aarch32.h @@ -2,9 +2,12 @@ // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) #pragma once + #include "cpu_newrec_compiler.h" #include +#ifdef CPU_ARCH_ARM32 + #include "vixl/aarch32/assembler-aarch32.h" #include "vixl/aarch32/operands-aarch32.h" @@ -162,3 +165,5 @@ private: }; } // namespace CPU::NewRec + +#endif // CPU_ARCH_ARM32 \ No newline at end of file diff --git a/src/core/cpu_newrec_compiler_aarch64.cpp b/src/core/cpu_newrec_compiler_aarch64.cpp index 114b35d42..2840fea29 100644 --- a/src/core/cpu_newrec_compiler_aarch64.cpp +++ b/src/core/cpu_newrec_compiler_aarch64.cpp @@ -14,6 +14,9 @@ #include "settings.h" #include "timing_event.h" #include + +#ifdef CPU_ARCH_ARM64 + Log_SetChannel(CPU::NewRec); #define PTR(x) vixl::aarch64::MemOperand(RSTATE, (((u8*)(x)) - ((u8*)&g_state))) @@ -2248,3 +2251,5 @@ u32 CPU::NewRec::CompileLoadStoreThunk(void* thunk_code, u32 thunk_space, void* return static_cast(armAsm->GetCursorOffset()); } + +#endif // CPU_ARCH_ARM64 diff --git a/src/core/cpu_newrec_compiler_aarch64.h b/src/core/cpu_newrec_compiler_aarch64.h index c5749f890..95503261b 100644 --- a/src/core/cpu_newrec_compiler_aarch64.h +++ b/src/core/cpu_newrec_compiler_aarch64.h @@ -5,6 +5,8 @@ #include "cpu_newrec_compiler.h" #include +#ifdef CPU_ARCH_ARM64 + #include "vixl/aarch64/assembler-aarch64.h" namespace CPU::NewRec { @@ -163,3 +165,5 @@ private: }; } // namespace CPU::NewRec + +#endif // CPU_ARCH_ARM64 diff --git a/src/core/cpu_newrec_compiler_riscv64.cpp b/src/core/cpu_newrec_compiler_riscv64.cpp index be3146192..5c2f646c1 100644 --- a/src/core/cpu_newrec_compiler_riscv64.cpp +++ b/src/core/cpu_newrec_compiler_riscv64.cpp @@ -13,6 +13,9 @@ #include "settings.h" #include "timing_event.h" #include + +#ifdef CPU_ARCH_RISCV64 + Log_SetChannel(CPU::NewRec); #ifdef ENABLE_HOST_DISASSEMBLY @@ -2480,3 +2483,5 @@ u32 CPU::NewRec::CompileLoadStoreThunk(void* thunk_code, u32 thunk_space, void* return static_cast(rvAsm->GetCodeBuffer().GetSizeInBytes()); } + +#endif // CPU_ARCH_RISCV64 diff --git a/src/core/cpu_newrec_compiler_riscv64.h b/src/core/cpu_newrec_compiler_riscv64.h index 041e00dad..af2e592be 100644 --- a/src/core/cpu_newrec_compiler_riscv64.h +++ b/src/core/cpu_newrec_compiler_riscv64.h @@ -5,6 +5,8 @@ #include "cpu_newrec_compiler.h" #include +#ifdef CPU_ARCH_RISCV64 + namespace CPU::NewRec { class RISCV64Compiler final : public Compiler @@ -168,3 +170,5 @@ private: }; } // namespace CPU::NewRec + +#endif // CPU_ARCH_RISCV64 diff --git a/src/core/cpu_newrec_compiler_x64.cpp b/src/core/cpu_newrec_compiler_x64.cpp index 991995a82..5d5629a22 100644 --- a/src/core/cpu_newrec_compiler_x64.cpp +++ b/src/core/cpu_newrec_compiler_x64.cpp @@ -15,6 +15,9 @@ #include "settings.h" #include "timing_event.h" #include + +#ifdef CPU_ARCH_X64 + Log_SetChannel(CPU::NewRec); #define RMEMBASE cg->rbx @@ -2223,3 +2226,5 @@ u32 CPU::NewRec::CompileLoadStoreThunk(void* thunk_code, u32 thunk_space, void* return static_cast(cg->getSize()); } + +#endif // CPU_ARCH_X64 diff --git a/src/core/cpu_newrec_compiler_x64.h b/src/core/cpu_newrec_compiler_x64.h index 1c90eb93b..10205406d 100644 --- a/src/core/cpu_newrec_compiler_x64.h +++ b/src/core/cpu_newrec_compiler_x64.h @@ -3,9 +3,10 @@ #pragma once #include "cpu_newrec_compiler.h" -#include #include +#ifdef CPU_ARCH_X64 + namespace CPU::NewRec { class X64Compiler final : public Compiler @@ -139,3 +140,5 @@ private: }; } // namespace CPU::NewRec + +#endif // CPU_ARCH_X64 diff --git a/src/core/cpu_recompiler_code_generator_aarch32.cpp b/src/core/cpu_recompiler_code_generator_aarch32.cpp index 577470456..7ff3d6c6a 100644 --- a/src/core/cpu_recompiler_code_generator_aarch32.cpp +++ b/src/core/cpu_recompiler_code_generator_aarch32.cpp @@ -12,6 +12,9 @@ #include "cpu_recompiler_thunks.h" #include "settings.h" #include "timing_event.h" + +#ifdef CPU_ARCH_ARM32 + Log_SetChannel(CPU::Recompiler); #ifdef ENABLE_HOST_DISASSEMBLY @@ -2301,3 +2304,5 @@ void CodeGenerator::EmitLoadGlobalAddress(HostReg host_reg, const void* ptr) } } // namespace CPU::Recompiler + +#endif // CPU_ARCH_ARM32 diff --git a/src/core/cpu_recompiler_code_generator_aarch64.cpp b/src/core/cpu_recompiler_code_generator_aarch64.cpp index 035261743..63d2d0256 100644 --- a/src/core/cpu_recompiler_code_generator_aarch64.cpp +++ b/src/core/cpu_recompiler_code_generator_aarch64.cpp @@ -11,6 +11,9 @@ #include "cpu_recompiler_thunks.h" #include "settings.h" #include "timing_event.h" + +#ifdef CPU_ARCH_ARM64 + Log_SetChannel(CPU::Recompiler); #ifdef ENABLE_HOST_DISASSEMBLY @@ -2592,3 +2595,5 @@ void CodeGenerator::EmitLoadGlobalAddress(HostReg host_reg, const void* ptr) } } // namespace CPU::Recompiler + +#endif // CPU_ARCH_ARM64 diff --git a/src/core/cpu_recompiler_code_generator_x64.cpp b/src/core/cpu_recompiler_code_generator_x64.cpp index 69212680f..67af733ba 100644 --- a/src/core/cpu_recompiler_code_generator_x64.cpp +++ b/src/core/cpu_recompiler_code_generator_x64.cpp @@ -13,6 +13,8 @@ #include "common/assert.h" #include "common/log.h" +#ifdef CPU_ARCH_X64 + Log_SetChannel(Recompiler::CodeGenerator); #ifdef ENABLE_HOST_DISASSEMBLY @@ -3207,3 +3209,5 @@ void CodeGenerator::EmitLoadGlobalAddress(HostReg host_reg, const void* ptr) m_emit->mov(GetHostReg64(host_reg), reinterpret_cast(ptr)); } } // namespace CPU::Recompiler + +#endif // CPU_ARCH_X64 diff --git a/src/duckstation-qt/Info.plist.in b/src/duckstation-qt/Info.plist.in index 572ee0d29..cffdc1556 100644 --- a/src/duckstation-qt/Info.plist.in +++ b/src/duckstation-qt/Info.plist.in @@ -34,7 +34,7 @@ CFBundlePackageType APPL NSHumanReadableCopyright - Licensed under GPL version 3 + 2019-2023 Connor McLaughlin <stenzek@gmail.com> LSMinimumSystemVersion ${CMAKE_OSX_DEPLOYMENT_TARGET} NSHighResolutionCapable