crueter
b4b361e5e9
Revert "[heap_tracker] Use ankerl map instead of rb tree ( #249 )" ( #382 )
...
This reverts commit c9a3baab5d .
this commit caused issues in ender magnolia or something, need to make
sure I didn't mess up the revert
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/382
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Reviewed-by: MaranBr <maranbr@outlook.com >
2025-09-04 18:37:05 -04:00
MaranBr
59f5c4fa29
[core] Add option to control Host MMU Emulation ( #324 )
...
This adds an option to enable or disable Host MMU Emulation [Android/PC], brings better config per-game handling with Disable Buffer Reorder, disables Flush Debug Lines by Log, option which was enabled by default on Android/PC taxing performance and translates to all supported languages the recent changes.
Leaves room for NCE improvements in the foreseable future.
Co-authored-by: crueter <crueter@eden-emu.dev >
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/324
Reviewed-by: crueter <crueter@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: MaranBr <maranbr@outlook.com >
Co-committed-by: MaranBr <maranbr@outlook.com >
2025-08-31 14:59:42 -04:00
lizzie
62953003ee
[fmt] use {:#X} for format instead of 0x{:X} ( #309 )
...
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/309
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-31 14:59:42 -04:00
lizzie
ad37d20fc1
[common/host_memory] use assert instead of throw on Impl() ctor; abort on error ( #316 )
...
Rationale: Throwing when running out of memory just creates sad paths for no reason (and at that point, just abort immediately). We are using MAP_NORESERVE, if there isn't enough memory a crash will follow anyways.
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/316
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-31 14:59:42 -04:00
CamilleLaVey
d461f3af2b
revert [jit] Increase x86_64 default code size to full 2GiB hugepage ( #318 ) ( #337 )
...
revert [jit] Increase x86_64 default code size to full 2GiB hugepage (#318 )
Abuses the existence of transparent huge pages on Unix. 4*2 = 8GiB virtual memory used total by JIT. May reduce native host TLB trees.
--------------
WIP: Wasn't meant to be merged, it's going to be refined to be added later when more data/ testing have been made about this approach.
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/318
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/337
Co-authored-by: CamilleLaVey <camillelavey99@gmail.com >
Co-committed-by: CamilleLaVey <camillelavey99@gmail.com >
2025-08-31 14:59:42 -04:00
Shinmegumi
5ce16c4b05
revert 22847ec78a ( #331 )
...
revert [jit] Disable fastmem (by default) on FreeBSD, Solaris and OpenBSD due to subpar timings of SIGSEGV (#319 )
According to MaranBR, this should have never been merged and should have been closed instead as they iterated on it in 324.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/319
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/331
Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev >
Co-committed-by: Shinmegumi <shinmegumi@eden-emu.dev >
2025-08-31 14:59:42 -04:00
lizzie
489ec2dcb6
[jit] Disable fastmem (by default) on FreeBSD, Solaris and OpenBSD due to subpar timings of SIGSEGV ( #319 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/319
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-31 14:59:42 -04:00
lizzie
31b3e3e0ea
[jit] Increase x86_64 default code size to full 2GiB hugepage ( #318 )
...
Abuses the existence of transparent huge pages on Unix. 4*2 = 8GiB virtual memory used total by JIT. May reduce native host TLB trees.
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/318
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-31 14:59:42 -04:00
crueter
21cd44ec04
[dynarmic] jit fix branch v2 ( #203 )
...
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/203
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
2025-08-27 06:49:50 +02:00
lizzie
c9a3baab5d
[heap_tracker] Use ankerl map instead of rb tree ( #249 )
...
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/249
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-27 05:00:38 +02:00
lizzie
9c6fad7561
[arm] allow duplicate addresses on backtrace ( #251 )
...
As a reminder, never remove duplicate entries from a back-trace, ever.
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/251
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-15 23:20:08 +02:00
crueter
41f0fa97ca
[dynarmic] revert bad changes ( #202 )
...
This reverts commit 56acd4041a .
pr needs rebase and fix, audio broke
Signed-off-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/202
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Signed-off-by: crueter <crueter@eden-emu.dev >
2025-08-04 15:21:54 -04: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
lizzie
56acd4041a
[dynarmic] XMM spill, SSE/AVX emit, sub/add, configurable JIT state pointer, remove unnecessary stuff ( #128 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/128
https://www.agner.org/optimize/
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-02 00:48:10 +02:00
lizzie
7b23cd0df4
[dynarmic] fix userconfig casting warn ( #55 )
...
Co-authored-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/55
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-07-14 00:54:00 +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
EmulationEnjoyer
e6d0c5ea42
arm: Skip duplicate consecutive addresses in backtrace output
...
ref: https://git.citron-emu.org/Citron/Citron/commit/aa56430f2a3179068f77b865d4fd0179aa5cc4c4
2025-04-19 17:56:48 -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
crueter
9cef9f5dce
Update fmt to allow for v11
...
Signed-off-by: swurl <swurl@swurl.xyz >
2025-04-10 01:11:22 +02:00
Briar
c98be3d793
Update fastmem pointer handling to use std::optional
2025-04-04 03:23:32 +02:00
GPUCode
26a25d2280
core: Support multiple modules per patcher
2024-01-15 00:46:05 +02:00
Liam
c366d8e8d9
core: track separate heap allocation for linux
2023-12-25 23:30:56 -05:00
Liam
e2b5f2392e
kernel: instantiate memory separately for each guest process
2023-12-22 21:52:49 -05: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
Liam
e1b32b6c35
debug: fix reading of module names
2023-12-09 11:18:10 -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
33b7353d73
arm: fix context save of vector regs
2023-12-04 22:19:11 -05: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