1
0
Fork 0
forked from eden-emu/eden
Commit graph

24333 commits

Author SHA1 Message Date
8cfcf1e8bf
[vector_math]: Use NEON intrinsics in Vec4 dot operation (#177)
PabloMK7: Changes the Vec4 dot operation to use NEON intrinsics on ARM devices.
This function is used every time a triangle is added to the rendered, so it can be considered hot code. The other vector operations are not used as much, so there is no gain to provide NEON operations for them.

The improvements from this change are most likely minimal.

Co-authored-by: PabloMK7 <hackyglitch2@gmail.com>
Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com>
Reviewed-on: eden-emu/eden#177
Co-authored-by: Gamer64 <gamer64@eden-emu.dev>
Co-committed-by: Gamer64 <gamer64@eden-emu.dev>
2025-08-02 01:48:04 +02:00
56acd4041a
[dynarmic] XMM spill, SSE/AVX emit, sub/add, configurable JIT state pointer, remove unnecessary stuff (#128)
Reviewed-on: eden-emu/eden#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
45e7c0d62d
Fix inversion of toggle for early fences (#175)
This should fix performance regressions in games that didn't need this and fix it to work with the games it is intended to be used for.

Made based on recommendations by Discord Contributor.

Signed-off-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com>
Reviewed-on: eden-emu/eden#175
Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-committed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2025-08-02 00:10:29 +02:00
Gamer64
c47eb9760b Android: Expose "Disable Buffer Reorder" option 2025-08-01 18:11:47 +02:00
6fd10fd85e
[vk] Remove improper check for image depth in texture cache. (#164)
When looking for existing images, ImageBase::TryFindBase checks the depth of the existing image to be greater than the layer of the base + depth of the candidate.
However the depth of images are not updated when cache were merged causing the lookup to fail.
This commit disables this faulty check to fix a critical memory leak that crashes the emulator in some games.

Reviewed-on: eden-emu/eden#164
Co-authored-by: weakboson <weakboson@quantum-field.net>
Co-committed-by: weakboson <weakboson@quantum-field.net>
2025-07-31 17:47:29 +02:00
c1d9cbca64
[cheats] Check for comments in patch line loop (#156)
My test case is this file, after line 27 is not marked as patch because it's after `@` tag but rest is patch lines including comments. <2ac3ff239f/1.0.0.pchtxt (L31)>

Reviewed-on: eden-emu/eden#156
Co-authored-by: notenergydrinks <notenergydrinks@eden-emu.dev>
Co-committed-by: notenergydrinks <notenergydrinks@eden-emu.dev>
2025-07-31 16:55:14 +02:00
Bix
b089e7d4e6
[android] Update Ukrainian translation (#168)
Authored-by: Rondo <Rondo@eden-emu.dev>
Signed-off-by: Bix <bix@bixed.xyz>
Reviewed-on: eden-emu/eden#168
Co-authored-by: Bix <bix@bixed.xyz>
Co-committed-by: Bix <bix@bixed.xyz>
2025-07-31 16:54:04 +02:00
bd2061f44b
[vk] remove config check return (#151)
This is for testing some bugs, the return acually shouldn't happen and misses the rest of ConfigureImpl

Reviewed-on: eden-emu/eden#151
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Co-committed-by: Maufeat <sahyno1996@gmail.com>
2025-07-31 16:47:21 +02:00
3f12ae1e6e
[shader_recompiler/Maxwell] Unstub ISBERD completely (#160)
Unstub previous ISBERD stubs.
Should improve internal shader handling in certain aspects.

Reviewed-on: eden-emu/eden#160
Co-authored-by: SDK Chan <sdkchan@eden-emu.dev>
Co-committed-by: SDK Chan <sdkchan@eden-emu.dev>
2025-07-31 16:42:00 +02:00
c609389ec1
[nifm] Readd room check to fix LAN on MK8D (#166)
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Reviewed-on: eden-emu/eden#166
Co-authored-by: Maufeat <maufeat@eden-emu.dev>
Co-committed-by: Maufeat <maufeat@eden-emu.dev>
2025-07-31 00:03:18 +02:00
f6b6a856a4
[android] Early release fences option fix and translations (#167)
Reviewed-on: eden-emu/eden#167
Co-authored-by: Pavel Barabanov <pavelbarabanov94@gmail.com>
Co-committed-by: Pavel Barabanov <pavelbarabanov94@gmail.com>
2025-07-30 23:51:20 +02:00
7249bc0d22
[host1x] Remove unused code (#161)
Reviewed-on: eden-emu/eden#161
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
2025-07-30 21:08:43 +02:00
06f8823882
[desktop] windows: explicitly set Vista style (#153)
Signed-off-by: crueter <crueter@eden-emu.dev>
Co-authored-by: MaranBr <maranbr@outlook.com>
Reviewed-on: eden-emu/eden#153
2025-07-30 21:00:54 +02:00
9e0e31132a
[icc] fix intel c++ compiler errors (#146)
Reviewed-on: eden-emu/eden#146
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-30 20:59:28 +02:00
ff44444bda
[nvnflinger] add include log header to fix freebsd compile (#159)
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Reviewed-on: eden-emu/eden#159
Co-authored-by: Maufeat <maufeat@eden-emu.dev>
Co-committed-by: Maufeat <maufeat@eden-emu.dev>
2025-07-30 12:47:23 +02:00
e4953d5866
[vk, nvnflinger] Fix RDNA3 gloom + purple lines & reapply adjustrefcount unstubb (#152)
title. **NEVER** touch application_info in vk again, except if you want to break RDNA3 rendering

Co-authored-by: Maufeat <sahyno1996@gmail.com>
Reviewed-on: eden-emu/eden#152
Co-authored-by: Maufeat <maufeat@eden-emu.dev>
Co-committed-by: Maufeat <maufeat@eden-emu.dev>
2025-07-30 07:24:25 +02:00
43f450499c
[cmake] ffmpeg: use CPM and source archive (#155)
Cherry-picked from refactor/cpm. Dramatically reduces download time

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

Reviewed-on: eden-emu/eden#155
2025-07-30 07:06:50 +02:00
f75a8c44c7 Update src/video_core/vulkan_common/vulkan_wrapper.cpp 2025-07-28 09:51:52 +02:00
07cab5ba07 [vk] Revert Engine Name and Update some Params 2025-07-28 08:45:23 +00:00
896bfcdaaa
[vk] revert pApplicationName (#144)
Reverts Vulkan pApplicationName to fix rdna3 lines appearing (tested on totk gloom)

Co-authored-by: Maufeat <sahyno1996@gmail.com>
Reviewed-on: eden-emu/eden#144
Co-authored-by: Maufeat <maufeat@eden-emu.dev>
Co-committed-by: Maufeat <maufeat@eden-emu.dev>
2025-07-28 01:10:16 +02:00
bbeb7dd56b
[ssl] add and unstub alpn option + functions (#142)
Should fix Jackbox 7,8,9,10 unable to connect to server errors. (See discord issues)

Co-authored-by: Maufeat <sahyno1996@gmail.com>
Reviewed-on: eden-emu/eden#142
Co-authored-by: Maufeat <maufeat@eden-emu.dev>
Co-committed-by: Maufeat <maufeat@eden-emu.dev>
2025-07-27 22:06:22 +02:00
eeb68768d6
[vk] Exclude size equal alpha different copies from incompatible copy (#138)
Should fix bugs in Splatoon 2 and TotK

Co-authored-by: Maufeat <sahyno1996@gmail.com>
Reviewed-on: eden-emu/eden#138
Co-authored-by: JPikachu <jpikachu@eden-emu.dev>
Co-committed-by: JPikachu <jpikachu@eden-emu.dev>
2025-07-27 19:56:22 +02:00
0b29fb7c8a
[audio_core] Revert EA3835 audio sink changes (#136)
Fixes diablo/totk audio stutters

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

Reviewed-on: eden-emu/eden#136
2025-07-27 19:46:54 +02:00
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: eden-emu/eden#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
12d8cf79ea
Revert "[nvnflinger] unstub AdjustRefcount (#120)"
This reverts commit 410e782291.
2025-07-26 20:20:03 -04:00
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: eden-emu/eden#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
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: eden-emu/eden#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
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: eden-emu/eden#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: eden-emu/eden#132
2025-07-26 03:59:33 +02:00
410e782291
[nvnflinger] unstub AdjustRefcount (#120)
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Reviewed-on: eden-emu/eden#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
bdfcb6c950
[shader_recompiler/ Maxwell] ISBERD initial implementation
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: eden-emu/eden#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
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
758d10b998
[desktop] move About Eden below Discord
Signed-off-by: crueter <crueter@eden-emu.dev>
2025-07-24 13:59:53 -04:00
87f171e884
[cmake, core] Unbreak FreeBSD Building Process (#117)
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: eden-emu/eden#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
d78289a742
[android] Early release fences option (#95)
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: eden-emu/eden#95
2025-07-24 17:00:00 +02:00
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: eden-emu/eden#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
46ddbea71c
[nvdrv] Unstub Allocate Object Context (#104)
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: eden-emu/eden#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
4fc711587f Fix headers 2025-07-24 09:53:02 -04:00
4ced8d23ac Fix typo 2025-07-24 09:47:56 -04:00
Bix
df8f32b7ad
Set app name to "Eden Optimised" for Optimised build. (#101)
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: eden-emu/eden#101
Co-authored-by: Bix <bix@bixed.xyz>
Co-committed-by: Bix <bix@bixed.xyz>
2025-07-24 14:02:02 +02:00
016ebf3cd8
[cmake, build] fix android and aarch64 (#103)
Reviewed-on: eden-emu/eden#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
e1763a726e
[build, cmake] port to solaris (#96)
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: eden-emu/eden#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
23c77a0d4f
[cmake] patches from debian upstream (#99)
Reviewed-on: eden-emu/eden#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
fb459c75d9
[wifi] conditionally enable (#90)
Reviewed-on: eden-emu/eden#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
7962c81738
[spirv] new castings for int8/int16/etc (#86)
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: eden-emu/eden#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)
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: eden-emu/eden#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
b66adfe04c
[vulkan] add native cubic filtering (#88)
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: eden-emu/eden#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
7db5eb8f08
[host1x] Fix hardware detection and improve compatibility (#85)
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: eden-emu/eden#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