Commit graph

27570 commits

Author SHA1 Message Date
b2914247c3
[cmake] Build presets and System profiles (#135)
- Build Preset (Linux only): enables arch optimizations, e.g. generic,
  v3, zen2/4, armv8, armv9
- System Profiles: currently only steamdeck, uses an older sdl commit to
  fix virtual gamepad bug

Signed-off-by: crueter <crueter@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/135
2025-07-27 06:36:33 +02:00
MaranBr
b5bbe6d865
[externals] Update some submodules (#119)
This updates some submodules to keep the project in sync with the latest, stable fixes.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/119
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
2025-07-27 02:41:08 +02:00
Maufeat
77a8f7b6a7
[vk, hle] fix storage buffer cache, unstubbed TryPopFriendInvitation (#129)
This fixes Jamboree + unstubes friend invitation channel which spammed a lot while testing jamboree.

Culprit was: #2

Co-authored-by: Maufeat <sahyno1996@gmail.com>
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/129
Co-authored-by: Maufeat <maufeat@eden-emu.dev>
Co-committed-by: Maufeat <maufeat@eden-emu.dev>
2025-07-27 02:37:29 +02:00
3bcd5f95fe
[git] fix dup xbyak (#140)
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/140
2025-07-27 02:36:18 +02:00
12d8cf79ea
Revert "[nvnflinger] unstub AdjustRefcount (#120)"
This reverts commit 410e782291.
2025-07-26 20:20:03 -04:00
fac153509a
[externals] Revert xbyak to v7.22 (#137)
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/137
2025-07-26 23:06:14 +02:00
Shinmegumi
b1f3b568fb
[vk] Fix query cache leak on missed sync (#131)
Provided by community member, elementary-particle. Submitted as PR by MaranBR.

Fixed issues:

1. The queue cache forgot to put the host query into unregister queue if they weren't synced. This will block all the banks from freeing causing a major leak.

2. SamplesQueryCounter is not aligned with renderpass begin/end. This creates invalid queries.

3. Conditional rendering is not turned on/off at the correct location making them invalid.

Co-authored-by: Maufeat <sahyno1996@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/131
Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-committed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2025-07-26 18:12:54 +02:00
lizzie
c7c2ed7b46
[vk] copy incompatible alpha patch 1.5(2) (#123)
Avoid copy size incompatible textures and reinterpret it instead. Uses existing logic to properly re-interpret to a compatible texture.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/123
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-26 05:58:04 +02:00
Gamer64
ac675c5296
[core]: Custom CPU Ticks rewrite (#118)
For now this is for testing purposes

Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/118
Co-authored-by: Gamer64 <gamer64@eden-emu.dev>
Co-committed-by: Gamer64 <gamer64@eden-emu.dev>
2025-07-26 04:11:40 +02:00
8dd0e84343
[android, ci] disable workflows, update ERF desc, default flush_lines to on (#132)
title says it all

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/132
2025-07-26 03:59:33 +02:00
Maufeat
410e782291
[nvnflinger] unstub AdjustRefcount (#120)
Some checks failed
eden-build / source (push) Has been cancelled
eden-build / windows (msvc) (push) Has been cancelled
eden-build / linux (push) Has been cancelled
eden-build / android (push) Has been cancelled
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/120
Co-authored-by: Maufeat <maufeat@eden-emu.dev>
Co-committed-by: Maufeat <maufeat@eden-emu.dev>
2025-07-25 19:58:35 +02:00
lizzie
5de03f47df
[renderdoc] update (#100)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/100
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-25 09:52:12 +02:00
lizzie
35e45fbad3
[deps] update dynarmic deps (#110)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/110
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-25 08:37:38 +02:00
lizzie
bdfcb6c950
[shader_recompiler/ Maxwell] ISBERD initial implementation
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
Adds the initial support for Internal Stage Buffer Entry Read - ISBERD, a mechanism used to read internal stage buffer entries with accurate per-stage synchronization. This enables more precise tracking of GPU buffer accesses, improving compatibility with games relying on fine-grained intermediate rendering stages (especially UE4 titles and post-processing heavy engines).

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/124
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-25 04:38:50 +02:00
7617f743f9
[android] fix erroneous placement of early release fences
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
Signed-off-by: crueter <crueter@eden-emu.dev>
2025-07-24 21:31:39 -04:00
57f11fbf1e
[desktop] fix links n such
Signed-off-by: crueter <crueter@eden-emu.dev>
2025-07-24 21:31:39 -04:00
lizzie
111f2c3be5
[dynarmic] remove mcl/assert.h and mcl/stdint.h (depends on #81) (#89)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
Co-authored-by: crueter <crueter@crueter.xyz>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/89
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-25 02:22:38 +02:00
lizzie
1e90df7c3b [dynarmic] better LRU prioritize empty regs 2025-07-24 22:45:45 +02:00
lizzie
0a67c5a324 [dynarmic] fix tests 2025-07-24 22:45:45 +02:00
lizzie
ca2d2381dc [dynarmic] new LRU allocation scheme 2025-07-24 22:45:45 +02:00
758d10b998
[desktop] move About Eden below Discord
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
Signed-off-by: crueter <crueter@eden-emu.dev>
2025-07-24 13:59:53 -04:00
SDK-Chan
87f171e884
[cmake, core] Unbreak FreeBSD Building Process (#117)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
During building eden on FreeBSD, it always assumed that FreeBSD due to being part of the unix family, has gamemode support, too.
Since it doesn't the building process failed.
This commit aims to fix that by separating out Unix and Linux for CMake to ensure there are no conflicts.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/117
Co-authored-by: SDK-Chan <sdkchan@eden-emu.dev>
Co-committed-by: SDK-Chan <sdkchan@eden-emu.dev>
2025-07-24 18:52:21 +02:00
Lizzie
b9c21a5c50
[docs] document how to bisect and how to use gdb for debugging jit aarch64 (#112)
Adds documents that can be made available in the future on the website about using debugging tools and how to properly bisect Git commits.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/112
Co-authored-by: Lizzie <lizzie@eden-emu.dev>
Co-committed-by: Lizzie <lizzie@eden-emu.dev>
2025-07-24 18:42:14 +02:00
d78289a742
[android] Early release fences option (#95)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/95
2025-07-24 17:00:00 +02:00
SDK-Chan
03ab350bc6
[nvdrv] Add AllocGPFIFOEX1 + modify GPFIFOEXs (#115)
I noticed that AllocGPFIFOEX was missing from eden.
It is the same as GPFIFOEX2, but is called separately, even on the real console.
I updated the struct to match closely the one seen on switchbrew, and changed the STUBS, because according to sources they seem to be complete.
My guess is that the STUBS were remained due to the unknowns back then.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/115
Co-authored-by: SDK-Chan <sdkchan@eden-emu.dev>
Co-committed-by: SDK-Chan <sdkchan@eden-emu.dev>
2025-07-24 16:57:53 +02:00
SDK-Chan
46ddbea71c
[nvdrv] Unstub Allocate Object Context (#104)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
Adds proper checking to allocate object context, and saves each context separately, based on old stubs from Yuzu's, implemented now to resolve services and better handling of future issues.

Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/104
Co-authored-by: SDK-Chan <sdkchan@eden-emu.dev>
Co-committed-by: SDK-Chan <sdkchan@eden-emu.dev>
2025-07-24 16:34:18 +02:00
Shinmegumi
67dfa81dc7
[host1x] Fix typo (#116)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/116
2025-07-24 15:55:26 +02:00
MaranBr
4fc711587f Fix headers 2025-07-24 09:53:02 -04:00
MaranBr
4ced8d23ac Fix typo 2025-07-24 09:47:56 -04:00
Bix
df8f32b7ad
Set app name to "Eden Optimised" for Optimised build. (#101)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
This commit updates the 'genshinSpoof' build flavour to display "Eden Optimised" as the app name by setting 'resValue("string", "app_name_suffixed", "Eden Optimised")'. This helps differentiate the optimised spoofed build from other versions.

Authored-by: Bix <bix@bixed.xyz>
Signed-off-by: Bix <bix@bixed.xyz>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/101
Co-authored-by: Bix <bix@bixed.xyz>
Co-committed-by: Bix <bix@bixed.xyz>
2025-07-24 14:02:02 +02:00
Shinmegumi
b2b993b665
[build, cmake] fix android (#106)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
Approved by Shinmegumi. Confirmed build issue fixed with this commit.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/106
2025-07-23 19:08:26 +02:00
lizzie
bb689637cb [build, cmake] fix android 2025-07-23 19:08:26 +02:00
lizzie
ca06dad650
[docs] add solaris to build inst on readme (#105)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/105
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-23 18:40:59 +02:00
lizzie
016ebf3cd8
[cmake, build] fix android and aarch64 (#103)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/103
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-23 17:49:51 +02:00
lizzie
e1763a726e
[build, cmake] port to solaris (#96)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/96
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-23 10:00:29 +02:00
lizzie
23c77a0d4f
[cmake] patches from debian upstream (#99)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/99
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-23 09:54:26 +02:00
lizzie
fb459c75d9
[wifi] conditionally enable (#90)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/90
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-23 09:54:00 +02:00
lizzie
275d64e653
[docs] add into docs/ and make links local (#93)
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/93
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-23 09:53:45 +02:00
lizzie
7962c81738
[spirv] new castings for int8/int16/etc (#86)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
This commit introduces extended support for low-precision integer casting (int8, int16) in the SPIR-V shader generation pipeline, improving compatibility and performance across both Android and PC platforms.

Co-authored-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/86
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-23 01:02:10 +02:00
a974c5a29c
[vk] Enable line stipple and depth bound reg transfer (#59)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
It should improve line stipple accuracy and the depth stencilling as part of the ExtendedDynamicState improvements.

Co-authored-by: crueter <crueter@eden-emu.dev>
Signed-off-by: Aleksandr Popovich <popovich@eden-emu.dev>
Co-authored-by: crueter <crueter@crueter.xyz>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/59
Co-authored-by: Aleksandr Popovich <popovich@eden-emu.dev>
Co-committed-by: Aleksandr Popovich <popovich@eden-emu.dev>
2025-07-22 21:34:38 +02:00
lizzie
b66adfe04c
[vulkan] add native cubic filtering (#88)
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/88

This implements the use of VK_FILTER_CUBIC_EXT as a replacement for the software-based bicubic window adapting filter, used primarily for texture sampling in upscaled or downscaled surfaces such as UI, transparency effects, and screen-space elements in Unreal Engine 4 titles.

The Vulkan cubic filter is now conditionally enabled if the following are satisfied:

The device supports VK_EXT_filter_cubic

The format used supports VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT

This change improves visual quality while reducing GPU workload by offloading cubic filtering to the driver instead of running custom sampling code in shaders. On supported hardware (e.g. desktop GPUs or high-end Adreno/AMD devices), it results in smoother transitions, improved transparency sampling, and better fidelity with lower shader complexity.

Fallback to the original software bicubic logic remains in place for devices lacking the extension or format capability.

Tested on several UE4 titles and confirmed to preserve or enhance visual output, especially in alpha-blended and UI-heavy scenes.
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-22 20:49:00 +02:00
8d86b615d5
[discord] Update RPC ID
Signed-off-by: crueter <crueter@eden-emu.dev>
2025-07-22 14:42:33 -04:00
MaranBr
7db5eb8f08
[host1x] Fix hardware detection and improve compatibility (#85)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
This fixes green screen on unsupported devices trying to use GPU decoding and improve compatibility with default builds of FFmpeg on all platforms.

Co-authored-by: MaranBr <maranbr@outlook.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/85
Co-authored-by: MaranBr <maranbr@eden-emu.dev>
Co-committed-by: MaranBr <maranbr@eden-emu.dev>
2025-07-22 07:31:36 +02:00
CamilleLaVey
be9a415157 Revert [Android] 0 FPS Error fix for certain titles.
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
revert [android] Fix 0fps errors on DKCR, Subnautica, and Ori 2 (#79)

Co-authored-by: Pavel Barabanov <pavelbarabanov94@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/79


Option reverted due problems caused with another games and make some advances worst when testing, if necessary it's going to be refined to be converted into a toggle.
2025-07-21 13:44:26 +02:00
Maufeat
be97bf3c1b
[nvnflinger] add GetBufferHistory from sudachi (#82)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Co-authored-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/82

This commit adds a working implementation of the `GetBufferHistory` transaction in `BufferQueueProducer`, removing the previous stub.

Adapted by Jarrod Norwell for Sudachi, this implementation references the behavior in Ryujinx; commit rescued by Maufeat and another Eden teammate from Sudachi's reference, fixed and adapted for Eden usage.

It helps improve compatibility with Unreal Engine 4 titles and others that depend on proper surface history tracking for rendering pipelines, especially with regard to lighting, bloom, and alpha transitions.

Functionality has been tested for stability and does not introduce regressions, though further validation is recommended.
Co-authored-by: Maufeat <maufeat@eden-emu.dev>
Co-committed-by: Maufeat <maufeat@eden-emu.dev>
2025-07-21 07:16:26 +02:00
lizzie
12a690e15f
[nvdrv] ZBC table implement stubs (#83)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/83

This commit introduces an implementation for `ZBCSetTable` in `nvhost_ctrl_gpu`, which is invoked by games and system services to configure default clear values for depth, stencil, and color attachments on the GPU, allowing better instructions on how the ZCull Block Compression expects to work within the emulated GPU.

This is an important step for compatibility with titles or system modules that expect ZBC configuration support.
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-21 04:35:43 +02:00
e8e0d7fa20
[vk] tmp: workaround for RAII crash on exit
Prevent double-free

Signed-off-by: crueter <crueter@eden-emu.dev>
2025-07-20 22:11:02 -04:00
Pavel Barabanov
ce56a4b83c updating translations
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
2025-07-20 19:17:04 +03:00
9dfe3cece0
[desktop, core] yuzu -> Eden, eden -> Eden
Some checks failed
eden-build / source (push) Has been cancelled
eden-build / windows (msvc) (push) Has been cancelled
eden-build / linux (push) Has been cancelled
eden-build / android (push) Has been cancelled
Signed-off-by: crueter <crueter@eden-emu.dev>
2025-07-19 00:12:21 -04:00
d125994270
[android] Fix 0fps errors on DKCR, Subnautica, and Ori 2 (#79)
Some checks are pending
eden-build / source (push) Waiting to run
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
Co-authored-by: Pavel Barabanov <pavelbarabanov94@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/79
2025-07-19 04:43:11 +02:00