This commit is contained in:
lizzie 2026-02-09 11:02:07 +00:00
parent 70f8179eec
commit 709fcb9e6c
8 changed files with 65 additions and 31 deletions

View File

@ -193,8 +193,6 @@ cmake_dependent_option(YUZU_USE_BUNDLED_SDL2 "Download bundled SDL2 build" "${MS
option(ENABLE_CUBEB "Enables the cubeb audio backend" ON) option(ENABLE_CUBEB "Enables the cubeb audio backend" ON)
# See https://github.com/llvm/llvm-project/issues/123946
# OpenBSD va_list doesn't play nice with precompiled headers
set(EXT_DEFAULT OFF) set(EXT_DEFAULT OFF)
if (MSVC OR ANDROID) if (MSVC OR ANDROID)
set(EXT_DEFAULT ON) set(EXT_DEFAULT ON)
@ -313,7 +311,6 @@ if (YUZU_LEGACY)
add_compile_definitions(YUZU_LEGACY) add_compile_definitions(YUZU_LEGACY)
endif() endif()
# TODO: APPLE
if (ARCHITECTURE_arm64 AND (ANDROID OR PLATFORM_LINUX)) if (ARCHITECTURE_arm64 AND (ANDROID OR PLATFORM_LINUX))
set(HAS_NCE 1) set(HAS_NCE 1)
add_compile_definitions(HAS_NCE=1) add_compile_definitions(HAS_NCE=1)
@ -466,15 +463,16 @@ if (YUZU_USE_CPM)
add_library(zstd::libzstd ALIAS libzstd_static) add_library(zstd::libzstd ALIAS libzstd_static)
endif() endif()
# Opus if (NOT YUZU_STATIC_ROOM)
AddJsonPackage(opus) # nlohmann
if (Opus_ADDED) AddJsonPackage(nlohmann)
if (MSVC AND CXX_CLANG)
target_compile_options(opus PRIVATE # zlib
-Wno-implicit-function-declaration AddJsonPackage(zlib)
)
if (ZLIB_ADDED)
add_library(ZLIB::ZLIB ALIAS zlibstatic)
endif() endif()
endif()
# Opus # Opus
AddJsonPackage(opus) AddJsonPackage(opus)

View File

@ -1,9 +1,9 @@
# SPDX-FileCopyrightText: Copyright 2026 crueter # SPDX-FileCopyrightText: Copyright 2026 crueter
# SPDX-License-Identifier: LGPL-3.0-or-later # SPDX-License-Identifier: LGPL-3.0-or-later
cmake_minimum_required(VERSION 3.22) set(CPM_SOURCE_CACHE "${PROJECT_SOURCE_DIR}/.cache/cpm" CACHE STRING "" FORCE)
if (MSVC OR ANDROID) if(MSVC OR ANDROID)
set(BUNDLED_DEFAULT ON) set(BUNDLED_DEFAULT ON)
else() else()
set(BUNDLED_DEFAULT OFF) set(BUNDLED_DEFAULT OFF)
@ -15,6 +15,7 @@ option(CPMUTIL_FORCE_BUNDLED
option(CPMUTIL_FORCE_SYSTEM option(CPMUTIL_FORCE_SYSTEM
"Force system packages for all CPM dependencies (NOT RECOMMENDED)" OFF) "Force system packages for all CPM dependencies (NOT RECOMMENDED)" OFF)
cmake_minimum_required(VERSION 3.22)
include(CPM) include(CPM)
# cpmfile parsing # cpmfile parsing

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project // SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
#pragma once #pragma once
@ -7,7 +7,6 @@
#include <shared_mutex> #include <shared_mutex>
#include <unordered_map> #include <unordered_map>
#include <utility> #include <utility>
#include <mutex>
#include "common/logging/log.h" #include "common/logging/log.h"

View File

@ -5,14 +5,15 @@
#include <bit> #include <bit>
#include "common/arm64/native_clock.h" #include "common/arm64/native_clock.h"
#include "common/literals.h" #include "common/literals.h"
#include "core/arm/nce/arm_nce.h"
#include "core/arm/nce/guest_context.h" #include "core/arm/nce/guest_context.h"
#include "core/arm/nce/instructions.h" #include "core/arm/nce/instructions.h"
#include "core/arm/nce/patcher.h" #include "core/arm/nce/patcher.h"
#include "core/core.h" #include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hle/kernel/svc.h" #include "core/hle/kernel/svc.h"
#include "core/hle/kernel/k_thread.h"
#include "core/memory.h" #include "core/memory.h"
#include "core/hle/kernel/k_thread.h"
namespace Core::NCE { namespace Core::NCE {

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project // SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
/* This file is part of the dynarmic project. /* This file is part of the dynarmic project.
@ -6,8 +6,6 @@
* SPDX-License-Identifier: 0BSD * SPDX-License-Identifier: 0BSD
*/ */
#include "dynarmic/backend/exception_handler.h"
#include <cstring> #include <cstring>
#include <functional> #include <functional>
#include <memory> #include <memory>
@ -121,9 +119,8 @@ void SigHandler::SigAction(int sig, siginfo_t* info, void* raw_context) {
CTX_DECLARE(raw_context); CTX_DECLARE(raw_context);
#if defined(ARCHITECTURE_x86_64) #if defined(ARCHITECTURE_x86_64)
{ {
std::shared_lock<std::shared_mutex> guard(sig_handler->code_block_infos_mutex); std::shared_lock guard(sig_handler->code_block_infos_mutex);
const auto iter = sig_handler->FindCodeBlockInfo(CTX_RIP); if (auto const iter = sig_handler->FindCodeBlockInfo(CTX_RIP); iter != sig_handler->code_block_infos.end()) {
if (iter != sig_handler->code_block_infos.end()) {
FakeCall fc = iter->second.cb(CTX_RIP); FakeCall fc = iter->second.cb(CTX_RIP);
CTX_RSP -= sizeof(u64); CTX_RSP -= sizeof(u64);
*std::bit_cast<u64*>(CTX_RSP) = fc.ret_rip; *std::bit_cast<u64*>(CTX_RSP) = fc.ret_rip;
@ -134,9 +131,8 @@ void SigHandler::SigAction(int sig, siginfo_t* info, void* raw_context) {
fmt::print(stderr, "Unhandled {} at rip {:#018x}\n", sig == SIGSEGV ? "SIGSEGV" : "SIGBUS", CTX_RIP); fmt::print(stderr, "Unhandled {} at rip {:#018x}\n", sig == SIGSEGV ? "SIGSEGV" : "SIGBUS", CTX_RIP);
#elif defined(ARCHITECTURE_arm64) #elif defined(ARCHITECTURE_arm64)
{ {
std::shared_lock<std::shared_mutex> guard(sig_handler->code_block_infos_mutex); std::shared_lock guard(sig_handler->code_block_infos_mutex);
const auto iter = sig_handler->FindCodeBlockInfo(CTX_PC); if (const auto iter = sig_handler->FindCodeBlockInfo(CTX_PC); iter != sig_handler->code_block_infos.end()) {
if (iter != sig_handler->code_block_infos.end()) {
FakeCall fc = iter->second.cb(CTX_PC); FakeCall fc = iter->second.cb(CTX_PC);
CTX_PC = fc.call_pc; CTX_PC = fc.call_pc;
return; return;

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project // SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
#pragma once #pragma once
@ -122,7 +122,6 @@
# error "unimplemented" # error "unimplemented"
#endif #endif
// TODO: FreeBSD/OpenBSD
#ifdef ARCHITECTURE_arm64 #ifdef ARCHITECTURE_arm64
#ifdef __APPLE__ #ifdef __APPLE__
inline _STRUCT_ARM_NEON_STATE64* GetFloatingPointState(mcontext_t& host_ctx) { inline _STRUCT_ARM_NEON_STATE64* GetFloatingPointState(mcontext_t& host_ctx) {

View File

@ -21,7 +21,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
<key>CFBundleIconName</key> <key>CFBundleIconName</key>
<string>eden_liquidglass</string> <string>eden_liquidglass</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>com.eden-emu.eden</string> <!-- May be required by 3rd party ext --> <string>com.yuzu-emu.yuzu</string> <!-- May be required by 3rd party ext -->
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleLongVersionString</key> <key>CFBundleLongVersionString</key>

View File

@ -1,6 +1,6 @@
#!/bin/sh -ex #!/bin/sh -ex
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project # SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# Updates main icons for eden # Updates main icons for eden
@ -32,5 +32,45 @@ magick -size 256x256 -background transparent "$EDEN_NAMED_SVG" -resize 256x256 d
optipng -o7 dist/qt_themes/default/icons/256x256/eden.png optipng -o7 dist/qt_themes/default/icons/256x256/eden.png
optipng -o7 dist/qt_themes/default/icons/256x256/eden_named.png optipng -o7 dist/qt_themes/default/icons/256x256/eden_named.png
png2icns dist/eden.icns $TMP_PNG || echo 'non fatal' # Android adaptive icon (API 26+)
rm $TMP_PNG
EDEN_ANDROID_RES="src/android/app/src/main/res"
EDEN_ANDROID_FG="$EDEN_ANDROID_RES/drawable/ic_launcher_foreground.png"
EDEN_ANDROID_BG_COLOR=$(cat $EDEN_BG_COLOR)
# Update Icon Background Color
echo "<?xml version='1.0' encoding='utf-8'?><resources><color name='ic_launcher_background'>${EDEN_ANDROID_BG_COLOR}</color></resources>" > "$EDEN_ANDROID_RES/values/colors.xml"
magick -size 1080x1080 -background transparent "$EDEN_BASE_SVG" -gravity center -resize 660x660 -extent 1080x1080 "$EDEN_ANDROID_FG" || exit
magick -background transparent "$EDEN_BASE_SVG" -gravity center -resize 512x512 "$EDEN_ANDROID_RES/drawable/ic_yuzu.png" || exit
magick -size 512x512 -background transparent "$EDEN_BASE_SVG" -gravity center -resize 338x338 -extent 512x512 "$EDEN_ANDROID_RES/drawable/ic_yuzu_splash.png" || exit
magick -background transparent "$EDEN_NAMED_SVG" -gravity center -resize 512x512 "$EDEN_ANDROID_RES/drawable/ic_yuzu_named.png" || exit
optipng -o7 "$EDEN_ANDROID_FG"
optipng -o7 "$EDEN_ANDROID_RES/drawable/ic_yuzu.png"
optipng -o7 "$EDEN_ANDROID_RES/drawable/ic_yuzu_splash.png"
optipng -o7 "$EDEN_ANDROID_RES/drawable/ic_yuzu_named.png"
# Android legacy launcher icon (API <= 24)
BASE_LEGACY="$EDEN_ANDROID_RES/mipmap-xxxhdpi/ic_launcher.png"
magick -size 512x512 xc:${EDEN_ANDROID_BG_COLOR} "$EDEN_ANDROID_FG" -gravity center -resize 384x384 -composite "$BASE_LEGACY" || exit
magick "$BASE_LEGACY" -resize 192x192 "$EDEN_ANDROID_RES/mipmap-xxhdpi/ic_launcher.png"
magick "$BASE_LEGACY" -resize 144x144 "$EDEN_ANDROID_RES/mipmap-xhdpi/ic_launcher.png"
magick "$BASE_LEGACY" -resize 96x96 "$EDEN_ANDROID_RES/mipmap-hdpi/ic_launcher.png"
magick "$BASE_LEGACY" -resize 72x72 "$EDEN_ANDROID_RES/mipmap-mdpi/ic_launcher.png"
optipng -o7 "$EDEN_ANDROID_RES"/mipmap-*/ic_launcher.png
# macOS
# TODO: Update Assets.car too
TMP_PNG="dist/eden-tmp.png"
magick -size 1024x1024 -background none "$EDEN_BASE_SVG" "$TMP_PNG" || exit
png2icns dist/eden.icns "$TMP_PNG" || echo 'non fatal'
rm "$TMP_PNG"