lizzie
58dee53305
[fmt] use {#:x} instead of 0x{:#x} ( #4170 )
...
continuation of #309 but applying to even more files than before :)
also makes them lowercase because `0xfafafa` is better as `0XFAFAFA`
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4170
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: Maufeat <sahyno1996@gmail.com >
2026-07-25 21:47:07 +02:00
lizzie
29f712d3b5
[core/device_memory_manager] use more pointer/iterator stable std::vector<> instead of deque<> for multi address scatter/gather ( #4098 )
...
this SHOULD fix a specific issue where a deque can be reallocated causing spurious crashes
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4098
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
2026-07-07 20:17:29 +02:00
lizzie
6693b99ae4
[core] coalesce tracking entries for GPU ( #3677 )
...
I think I may have attempted this before, but I doubt it.
Anyways this should reduce virtual buffers from 3 to just 1, also improved access times :)
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3677
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2026-03-08 22:45:38 +01:00
lizzie
c9c136bea7
[texture_cache, buffer_cache] Added TLS handling + changed command queue for GPU threading. ( #3579 )
...
(Merge of #3495 + #3108 )
This PR works around to simplify math operations on hot pointers inside the access and requests to the cache of buffers and texture cache, removing previous logic of indirection and replaced by a PoD approach.
This will ensure less CPU times spended on the same request and flow directly into another chain of the render, in the same way, command queue currently uses an internal mutex that constraints the flow of data within the GPU threads, we're moving over a single command, I verified to keep using mutexes instead of internal mutex + mutex per operation, which are resolved by themselves.
In simplier words, this aims to improve performance on those games and devices where the waits for next orders on GPU commands were heavier than a single verification.
Co-Authored-by: @CamilleLaVey
Co-Authored-by: @Lizzie
Co-authored-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3579
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2026-02-20 00:52:07 +01:00
lizzie
651585963a
[core] Fix range batching using nil ranges ( #3349 )
...
this fixes mario rabbids flickering at start
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3349
Reviewed-by: Maufeat <sahyno1996@gmail.com >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2026-01-19 22:19:34 +01:00
lizzie
b9da45cb1f
[tests] fix compile+linking issues with PlayTime ( #3345 )
...
fixes linking + comp issues but not the test themselves, who have now became invalid
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Co-authored-by: DraVee <caiooliveirafarias0@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3345
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-01-19 16:27:18 +01:00
CamilleLaVey
1a9b4b37e1
[buffer_cache] Add batching support for memory tracker updates ( #3288 )
...
I added a batching/ coalescing of ranges in WordManager to reduce calls per pages in UpdatePagesCachedCount, also a test to verify if FlushCachedWrites coalesced (reduces callings to UpdatePagesCachedCount) callings and register each of them to inspect them.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3288
Reviewed-by: Maufeat <sahyno1996@gmail.com >
Reviewed-by: DraVee <dravee@eden-emu.dev >
Co-authored-by: CamilleLaVey <camillelavey99@gmail.com >
Co-committed-by: CamilleLaVey <camillelavey99@gmail.com >
2026-01-18 03:48:09 +01:00
CamilleLaVey
3c6ef765af
revert [vk] Fast UBO: fix tracking, resize heuristics, add debug guard ( #2695 ) ( #2706 )
...
revert [vk] Fast UBO: fix tracking, resize heuristics, add debug guard (#2695 )
Well, stuff showed up after testing phase, that showed us this change break SMO and some mods after being merged directly into master, we will keep stuying why happens this and add a better handling later.
Co-authored-by: Ribbit <ribbit@placeholder.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2695
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: Ribbit <ribbit@eden-emu.dev >
Co-committed-by: Ribbit <ribbit@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2706
Co-authored-by: CamilleLaVey <camillelavey99@gmail.com >
Co-committed-by: CamilleLaVey <camillelavey99@gmail.com >
2025-10-09 21:37:27 +02:00
Ribbit
8078990b9b
[vk] Fast UBO: fix tracking, resize heuristics, add debug guard ( #2695 )
...
Co-authored-by: Ribbit <ribbit@placeholder.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2695
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: Ribbit <ribbit@eden-emu.dev >
Co-committed-by: Ribbit <ribbit@eden-emu.dev >
2025-10-08 05:39:08 +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
Narr the Reg
565921a463
Merge pull request #13000 from liamwhite/skip-null-memory
...
device_memory_manager: skip unregistered interfaces on invalidate
2024-02-22 11:34:23 -06:00
FearlessTobi
4d55e58ee4
scope_exit: Make constexpr
...
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
2024-02-19 16:00:46 +01:00
Liam
ebf7e6f2f5
device_memory_manager: skip unregistered interfaces on invalidate
2024-02-12 20:02:59 -05:00
Fernando Sahmkow
4a9c6d933a
SMMU: Ensure the backing address range matches the current
2024-02-07 23:47:42 +01:00
Fernando Sahmkow
bdc1ed0ffe
Device Memory Manager: ensure raster protection only within mapped device addresses.
2024-01-31 16:38:51 +01:00
Fernando Sahmkow
0ed58aa5ac
DeviceMemory: Make counter types configurable
2024-01-31 16:38:51 +01:00
Liam
27989bd49c
smmu: use new range mutex construction for protecting counters
2024-01-31 16:38:51 +01:00
Liam
50854fb55b
device_memory_manager: fix ScratchBuffer indexing
2024-01-22 14:07:33 -05:00
Liam
6d97731e7d
device_memory_manager: use unique_lock for update
2024-01-18 21:12:30 -05:00
Liam
bf2dab5b2b
nvdrv: use static typing for SessionId, smmu Asid types
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
71996e6d18
SMMU: Fix Right Shift UB.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
eda09c091a
SMMU: Fix 8Gb layout.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
b206089ea7
Core: Clang format and other small issues.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
0797d63a36
SMMU: Add continuity tracking optimization.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
43de47538a
SMMU: Simplify and remove old code.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
355bbea52d
SMMU: Add Android compatibility
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
ff6cd1c212
GPU-SMMU: Estimate game leak and preallocate device region.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
e689874797
SMMU: Fix Unregister on MultiAddress
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
f11218a03e
SMMU: Implement physical memory mirroring
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
9db159da71
SMMU: Initial adaptation to video_core.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
d0329a2c00
SMMU: Implement backing CPU page protect/unprotect
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
04b4af6044
Core: Initial implementation of device memory mapping
2024-01-18 21:12:30 -05:00