CamilleLaVey
74248bd35a
Removing remanents of NCE changes to previous state
2026-03-10 03:20:05 -04:00
CamilleLaVey
852b8e176f
Revert "[nce] Added rasterizer memory handling by nce page faults + intercepted memory access in nce with cached rasterizer data"
2026-03-10 03:12:19 -04:00
CamilleLaVey
b2b07abbc8
Revert "[nce] Added "tainted" page fault handling inside dual channel"
2026-03-10 03:10:37 -04:00
CamilleLaVey
ce2f2187bd
Revert "[nce] Adjusted precise access fault window handling + decay mechanism"
2026-03-10 03:09:30 -04:00
CamilleLaVey
8c077fc4cd
Revert "[nce] Added case for access fault handling to manage page edge cases"
2026-03-10 03:01:02 -04:00
CamilleLaVey
b88ca5b635
Revert "[nce] Added dual channel handling for guest access faults"
2026-03-10 02:58:57 -04:00
CamilleLaVey
e20875d8fc
fix build from nce changes
2026-03-09 01:57:29 -04:00
CamilleLaVey
570cd64c03
[nce] Added rasterizer memory handling by nce page faults + intercepted memory access in nce with cached rasterizer data
2026-03-09 01:16:07 -04:00
CamilleLaVey
b0a607539a
[nce] Added rasterizer caching checks to memory management
2026-03-09 00:34:12 -04:00
CamilleLaVey
11d5c0f96a
[nce] Adjusted precise access fault window handling + decay mechanism
2026-03-08 16:07:05 -04:00
CamilleLaVey
ca42578d4e
[nce] Added "tainted" page fault handling inside dual channel
2026-03-08 15:55:06 -04:00
CamilleLaVey
b7087a16ba
[nce] Added dual channel handling for guest access faults
2026-03-08 15:37:29 -04:00
CamilleLaVey
1bdedc17ad
[nce] Added case for access fault handling to manage page edge cases
2026-03-08 15:12:47 -04:00
lizzie
06a08de68a
[core/loader] prevent program_image reallocations in NSO+KIP loading methods ( #3639 )
...
also changes some methods to std::span<> as well, but mainly std::vector<> in the NSO/KIP loading stuff is not needed to be memcpy'ed and memmove'd around
this should save a marginal amount of loading time (RDR1)
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3639
Reviewed-by: DraVee <dravee@eden-emu.dev >
Reviewed-by: Maufeat <sahyno1996@gmail.com >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2026-02-28 01:06:33 +01:00
lizzie
f76dc401c3
[dynarmic] remove dead-code interpreter ( #3547 )
...
interpreter was never called in practice and doesn't do anything other than just crash
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3547
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: crueter <crueter@eden-emu.dev >
Reviewed-by: DraVee <dravee@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2026-02-21 01:53:34 +01:00
lizzie
efd26c3e4d
[android, nce] Remove LRU-Cache ( #3500 )
...
This PR removes the obsolete logic of LRU-cache within, removing old and dead code, allows Android to avoid unnecesary usage of memory caching, aside to prevent some old bugs to arise in other systems that allows NCE, improves a small margin of performance and makes memory ram consumption overall better, by 300 - 500mb, revealing that part of the code was still active, even if LRU wasn't enabled.
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Signed-off-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3500
Reviewed-by: DraVee <dravee@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2026-02-10 03:45:02 +01:00
lizzie
a8093c2a3c
[*] change all std::unordered_map and std::unordered_set into ankerl::unordered_dense::map/set variants ( #3442 )
...
mainly doing this to reduce memory footprint; we all know how nice ankerl::unordered_dense is
in theory 4x faster - in practice these maps arent that "hot" anyways so not likely to have much perf gained
i just want to reduce mem fragmentation to ease my porting process, plus it helps other platforms as well (ahem weak Mediatek devices) :)
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3442
Reviewed-by: DraVee <dravee@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2026-02-10 03:34:07 +01:00
Maufeat
e544cb3cf6
[nce] add split patch mode to support modules bigger than 128MB ( #3489 )
...
nce patcher was extended to support modules larger than 128MB due to ARM64 branch limit. now added a pre-patch and (existing) post-patch module code. Allowwing MRS/MSR/SVC handler to remain within branch branch range
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3489
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Co-committed-by: Maufeat <sahyno1996@gmail.com >
2026-02-07 22:59:38 +01:00
Maufeat
998460b78b
[nce] use correct process memory in fault handlers ( #3391 )
...
Lets you correctly play games in qlaunch on NCE
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3391
Reviewed-by: DraVee <dravee@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Co-committed-by: Maufeat <sahyno1996@gmail.com >
2026-01-27 04:27:49 +01:00
Caio Oliveira
3413fbd9da
[FIXUP] Partially revert "[NCE] Fix cache invalidation and signal interrupt race condition ( #3063 )" ( #3190 )
...
* this fixes Jamboree and SSB
This reverts commit e3c942b209 .
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3190
Reviewed-by: Maufeat <sahyno1996@gmail.com >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Co-committed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
2025-12-22 02:58:40 +01:00
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