Commit graph

842 commits

Author SHA1 Message Date
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: aa56430f2a
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
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
GPUCode a1818cddf6 arm: Print backtrace on data abort 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
Liam 317741356f core: check for thread dpc before eret 2023-11-13 11:28:23 -05:00