MrPurple666
e3c942b209
[NCE] Fix cache invalidation and signal interrupt race condition ( #3063 )
...
Inspired by PR #3047
This should theoretically fix 3 bugs in NCE:
- **Bug 1**: `ClearInstructionCache()` now properly invalidates L1 instruction cache using IC IALLU instead of only using memory barriers
- **Bug 2**: `InvalidateCacheRange()` implements proper range-based cache invalidation instead of always flushing entire L1 cache
- **Bug 3**: `SignalInterrupt()` adds acquire fence to guarantee memory visibility of the `is_running` flag, preventing lost signals
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3063
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Co-authored-by: MrPurple666 <antoniosacramento666usa@gmail.com >
Co-committed-by: MrPurple666 <antoniosacramento666usa@gmail.com >
2025-12-04 07:25:21 +01:00
lizzie
84cf3e8c84
[nce] remove software prefetching instances ( #2857 )
...
May be a complete hit or miss on performance with NCE
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2857
Reviewed-by: crueter <crueter@eden-emu.dev >
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-11-08 00:42:10 +01:00
lizzie
992bae4e2a
[common] replace Common::BitCast with libc++ provided one ( #2774 )
...
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2774
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-10-22 02:56:28 +02:00
lizzie
1971fbe5af
[core, qt] remove non-ascii from src code ( #2779 )
...
Done with `find src -type f -iname '*.md' -print0 | xargs -0 pcregrep --color='auto' -nr '[^\x00-\x7F]'`
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2779
Reviewed-by: crueter <crueter@eden-emu.dev >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-10-21 21:58:56 +02:00
Bix
191dd892e5
[android] Legacy build flavor ( #51 )
...
This adds a "legacy" build flavor, similar to the genshinSpoof flavor. The legacy flavor uses a white icon bg, alongside building with `YUZU_LEGACY=ON`, which applies the previously-made SD865 patches iff that value is truthy.
Co-authored-by: Bixthefin <114880614+Bixthefin@users.noreply.github.com >
Co-authored-by: Calchan <denis.dupeyron@gmail.com >
Co-authored-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/51
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: Bix <bix@bixed.xyz >
Co-committed-by: Bix <bix@bixed.xyz >
2025-10-05 05:41:20 +02:00
Marcin Serwin
f088f028f3
[cmake] Fix building on aarch64-linux ( #2591 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2591
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: Marcin Serwin <marcin@serwin.dev >
Co-committed-by: Marcin Serwin <marcin@serwin.dev >
2025-09-26 21:46:56 +02:00
lizzie
191e4c75a1
[meta] fix license headers ( #2547 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2547
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-09-21 21:58:59 +02:00
lizzie
9d2681ecc9
[cmake] enable clang-cl and WoA builds ( #348 )
...
Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64.
Compiling on clang is *dramatically* faster so this should be useful for CI.
Co-authored-by: crueter <crueter@eden-emu.dev >
Co-authored-by: crueter <crueter@crueter.xyz >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-09-09 20:47:49 +02:00
wildcard
41ffa5a342
[core, nce] module_id cache key handling ( #195 )
...
Uses Module_id plus offset for cache key, Module_id is unique to each module. Also passes the module_id everytime new patcher is created in case the module is too big.
Co-authored-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/195
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: wildcard <nubieluv@gmail.com >
Co-committed-by: wildcard <nubieluv@gmail.com >
2025-08-04 18:41:28 +02:00
CamilleLaVey
cd394fc40f
revert [android] Snapdragon 865 patches ( #23 )
...
revert [android] Snapdragon 865 patches (#23 )
Co-authored-by: Aleksandr Popovich <alekpopo@pm.me >
Reviewed-on: https://git.bixed.xyz/Bix/eden/pulls/23
Reverted due to heavy performance hits on Android with higher specifications, will be adjusted to be included in a specific build for older A6XX devices, as 855, 860, 865, 870, meanwhile it does fix critical issues with certain games crashing due to memory and VRAM usage, hits performance on SoC that can do it without this special flags.
2025-07-12 20:10:40 +02:00
crueter
444109c251
[android] Snapdragon 865 patches ( #23 )
...
Co-authored-by: Aleksandr Popovich <alekpopo@pm.me >
Reviewed-on: https://git.bixed.xyz/Bix/eden/pulls/23
2025-07-06 18:20:21 +00:00
Gamer64
a002730d68
[VK] Rework SPIRV Shader Optimization ( #238 )
...
The actual SPIRV Shader Optimization option doesn't seem to do anything as long as it isn't vinculed, so let's rework it to make it work
Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com >
Co-authored-by: echosys <echosys@noreply.localhost >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/238
2025-07-03 01:13:33 +00:00
CamilleLaVey
fa600b88b1
revert 91a662431c ( #240 )
...
revert [Texture_cache] Better memory handling for devices with lower memory allocations (#233 )
Means games like Minecraft Dungeons, Sea of Stars, Luigi Mansion 2, Astroneer, Alan Wake, etc are now playable.
It also cleans up the recent abi.cpp and bindless texture commits a bit.
Everything is in #ifdef ANDROID - The biggest change is CACHING_PAGEBITS = 12.
Without that the way the buffercache grows and joins buffers can cause Android to run out of memory (as you end up with just one big buffer that needs to be copied every time it grows)
Also patches up ffmpeg issues.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/233
Co-authored-by: JPikachu <jpikachu.eden@gmail.com >
Co-committed-by: JPikachu <jpikachu.eden@gmail.com >
Had showed some regressions on devices with higher specifications, will be refined to return as a toggle in a later commit.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/240
2025-06-30 12:57:21 +00:00
JPikachu
91a662431c
[Texture_cache] Better memory handling for devices with lower memory allocations ( #233 )
...
Means games like Minecraft Dungeons, Sea of Stars, Luigi Mansion 2, Astroneer, Alan Wake, etc are now playable.
It also cleans up the recent abi.cpp and bindless texture commits a bit.
Everything is in #ifdef ANDROID - The biggest change is CACHING_PAGEBITS = 12.
Without that the way the buffercache grows and joins buffers can cause Android to run out of memory (as you end up with just one big buffer that needs to be copied every time it grows)
Also patches up ffmpeg issues.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/233
Co-authored-by: JPikachu <jpikachu.eden@gmail.com >
Co-committed-by: JPikachu <jpikachu.eden@gmail.com >
2025-06-29 17:14:23 +00:00
Maufeat
2e6a289a0b
Add Airplane Mode + Host Network Interface Details ( #204 )
...
Adds Airplane Mode function to settings, host states, etc.
Windows implemented only for now.
Closes #203
Co-authored-by: crueter <swurl@swurl.xyz >
Co-authored-by: Aleksandr Popovich <alekpopo@pm.me >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/204
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Co-committed-by: Maufeat <sahyno1996@gmail.com >
2025-06-26 18:55:34 +00:00
MrPurple666
2f01c69710
LRU Cache Refactor with Thread-Safety ( #199 )
...
The cache is now thread-safe using std::shared_mutex, allowing concurrent reads without blocking and some other minor things to better maintenance
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/199
Co-authored-by: MrPurple666 <mrpurple666@noreply.localhost >
Co-committed-by: MrPurple666 <mrpurple666@noreply.localhost >
2025-06-21 19:32:32 +00:00
MrPurple666
bb2f527b16
Use a different approach for the LRU toggle
2025-04-30 16:11:15 -03:00
MrPurple666
b5bec371ae
Add toggle for LRU
2025-04-30 04:05:45 -03:00
MrPurple666
be4bc3b477
WIP: DO-NOT-MERGE: NCE experiments: Better Pre-Fetch implementation
...
should make it more performatic as in use with new lru cache implmentation
2025-04-12 22:54:32 -03:00
MrPurple666
739e5c47ea
WIP: DO-NOT-MERGE: NCE experiments: Better LRU cache implementation
...
It uses a better lru implementation, since initial as basic functions to LRU, use a modern system to it to make performance better
2025-04-12 22:54:32 -03:00
MrPurple666
3d43fecece
WIP: DO-NOT-MERGE: NCE experiments: Initial LRU
2025-04-11 17:05:06 -03:00
MrPurple666
27ceda2c6c
WIP: DO-NOT-MERGE: NCE experiments: Fix build errors
2025-04-11 17:04:55 -03:00
MrPurple666
777b674edf
WIP: DO-NOT-MERGE: NCE experiments: Some optimizations on pre-fetch and cache
2025-04-11 17:04:45 -03:00
MrPurple666
d36031849e
WIP: DO-NOT-MERGE: NCE experiments: Ensure guest context reflects thread state during unlock
2025-04-11 17:04:34 -03:00
MrPurple666
d621707001
WIP: DO-NOT-MERGE: NCE experiments
...
botw boots but with poor performance
2025-04-11 17:04:24 -03:00
GPUCode
26a25d2280
core: Support multiple modules per patcher
2024-01-15 00:46:05 +02:00
Fernando S
11fb4a3a11
Merge pull request #12417 from liamwhite/arm64-gcc-fix
...
nce: hide shadowing warnings from dynarmic headers
2023-12-20 18:46:08 +01:00
Liam
cdf5beae3d
nce: hide shadowing warnings from dynarmic headers
2023-12-20 11:07:50 -05:00
Liam
236173f804
nce: increase handler stack size
2023-12-19 15:24:13 -05:00
Liam
f5846edffa
nce: fix read size in simd immediate emulation
2023-12-19 12:51:19 -05:00
Liam
91aefd5d35
nce: adjust initialization for repeated calls
2023-12-11 23:02:01 -05:00
Liam
ecb3d74dcd
nce: implement instruction emulation for misaligned memory accesses
2023-12-10 18:23:42 -05:00
Fernando S
9046851d9f
Merge pull request #12236 from liamwhite/cpu-refactor
...
core: refactor emulated cpu core activation
2023-12-06 14:19:17 +01:00
Liam
3d5c6a73cb
core: refactor emulated cpu core activation
2023-12-04 10:37:16 -05:00
Liam
79d497c022
nce: fix pre-text patch for single modules
2023-12-02 16:14:52 -05:00
GPUCode
e6e15d2d10
core: Rename patcher file
2023-11-29 23:49:16 +02:00
GPUCode
181a7a027f
oaknut: Address warnings
2023-11-25 00:47:43 -05:00
GPUCode
1e5a1d1702
Address more review comments
2023-11-25 00:47:43 -05:00
Liam
2e2b3de592
arm_nce: skip data aborts for crash handling parity
2023-11-25 00:47:36 -05:00
Liam
a3e2b0bd91
patch: check offsets from first code word
2023-11-25 00:47:36 -05:00
Liam
683b58b075
arm_nce: skip dc cvac on possibly write-protected areas
2023-11-25 00:47:36 -05:00
GPUCode
3814ca9d84
Address some review comments
2023-11-25 00:47:35 -05:00
Liam
19619b1b14
arm: Implement native code execution backend
2023-11-25 00:46:47 -05:00