Commit Graph

28838 Commits

Author SHA1 Message Date
lizzie 949dca2ca4 DISABLE BY DEFAULT ON IOS FFS 2026-07-10 05:57:46 +00:00
lizzie fc207d3743 fix life 2026-07-10 05:57:46 +00:00
lizzie aecfce90ad fix sirit i think, add ios-aarch64 2026-07-10 05:57:44 +00:00
lizzie 30455c6c7e changes? 2026-07-10 05:55:47 +00:00
lizzie 499bbf6028 fix shit? 2026-07-10 05:55:47 +00:00
lizzie f140435e52 fix #include "common/logging.h" 2026-07-10 05:55:47 +00:00
lizzie 9ff6f41f0b fix IOS again fucking objc bridge 2026-07-10 05:55:47 +00:00
lizzie 5f535fdb00 fix? 2026-07-10 05:55:47 +00:00
lizzie 90676b1680 properly use bridging header, fix headers 2026-07-10 05:55:47 +00:00
lizzie 65b037fb39 fix swift driver I HOPE 2026-07-10 05:55:47 +00:00
lizzie 9d8665f839 license 2026-07-10 05:55:46 +00:00
lizzie 55c028a5ad [temporary c++ shit] 2026-07-10 05:55:30 +00:00
lizzie 7547d2bf7d bit of cmake fuckery 2026-07-10 05:54:50 +00:00
lizzie c30a37cd00 use language generator exprs 2026-07-10 05:53:30 +00:00
lizzie f1921d4a2f $<$<COMPILE_LANGUAGE:C,CXX>:-Werror=missing-declarations> 2026-07-10 05:53:30 +00:00
lizzie 114ec07423 proper linkings?! 2026-07-10 05:53:30 +00:00
lizzie b2a3ec8cc2 bridge changes/fixes 2026-07-10 05:53:30 +00:00
lizzie eb6fb5ccd0 fix license 2026-07-10 05:53:30 +00:00
lizzie e637aeafea fix xcode 2? 2026-07-10 05:53:30 +00:00
lizzie df140f3cce fix xcode paths? 2026-07-10 05:53:28 +00:00
lizzie 51dac10293 fx 2026-07-10 05:53:09 +00:00
lizzie a51c8a511c fx 2026-07-10 05:53:09 +00:00
lizzie 5eb0bec5ab fix boost 2026-07-10 05:53:08 +00:00
lizzie 0b7c74a847 fx 2026-07-10 05:52:46 +00:00
lizzie f7b34b0780 fix stuff 2026-07-10 05:52:46 +00:00
lizzie 657ef99529 stupid macos 2026-07-10 05:52:46 +00:00
lizzie be83ecaa05 fix1 2026-07-10 05:52:45 +00:00
lizzie e2a6893dea fx 2026-07-10 05:51:58 +00:00
lizzie cf84410794 fix spirv-tools 2026-07-10 05:51:32 +00:00
lizzie 6c160d3e36 fix license 2026-07-10 05:51:32 +00:00
lizzie 92065d7496 fix ffmpeg 2026-07-10 05:51:30 +00:00
lizzie bdfe4ba7b9 fx 2026-07-10 05:48:52 +00:00
lizzie 9c02a26e3d fx 2026-07-10 05:48:18 +00:00
lizzie 189437151c license 2026-07-10 05:48:18 +00:00
lizzie 1c2667ed06 ios toolchain cmake 2026-07-10 05:48:18 +00:00
lizzie 64f21a1fda license 2026-07-10 05:48:18 +00:00
lizzie 7bb30f4de2 license headers 2026-07-10 05:48:15 +00:00
lizzie fb4470b332 flatten + cmake 2026-07-10 05:45:34 +00:00
lizzie 8f7c28ee3e flatten 2026-07-10 05:45:34 +00:00
lizzie cb5c185c27 loicense 2026-07-10 05:45:34 +00:00
lizzie 86b793ed5c modernize #1 2026-07-10 05:45:34 +00:00
lizzie c103cf580e sudachi ios stuff 2026-07-10 05:45:34 +00:00
MaranBr a27d35463e [video_core] Improve synchronization and refactor buffer cache timing logic (#4182)
This simplifies the GPU accuracy setting by removing the intermediate Balanced mode and setting High as the default on desktop platforms.

It introduces a dedicated setting for GPU fence behavior, allowing the synchronization policy to be configured independently of GPU accuracy.

The Vulkan buffer cache now tracks GPU recording timeline ticks and waits only when necessary, reducing unnecessary synchronization while maintaining correctness for hard-to-trace graphical bugs.

GPU buffer readback has also been refined to synchronize only the affected upload regions when needed, and default DMA behavior has been updated to align with the new GPU accuracy model.

### TL;DR

The fix for particles freezing and unfreezing in mid-air in `Super Mario Odyssey` has been improved, resulting in less of a performance hit.
This game requires the new `Enable GPU Buffer Readback` option to be enabled to fix this issue.

The vertex explosions that occurred in `Super Mario Bros. Wonder`, especially in World 4, have been completely eliminated. You can now enjoy a smooth experience without graphical glitches exploding across the screen.
This game requires the new `GPU Fence Behavior` option to be set to `Strict` to fully fix this issue.

The flickering issue inside certain Shrines in `The Legend of Zelda: Tears of the Kingdom` has also been fixed.
For now, this game requires the new `GPU Fence Behavior` option to be set to `Accurate` to fully fix this issue.

These options are intended to fix graphical bugs in games that require better synchronization behavior between CPU and GPU, so other games may be affected as well.

Co-authored-by: xbzk <xbzk@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4182
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-07-10 05:25:12 +02:00
John 5606edd1a6 [Vulkan] Regression Fix - Return BindVertexBuffer2EXT old path (#4199)
Fixes Triangle SMO Smoke Regression

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4199
2026-07-10 05:00:49 +02:00
crueter cd003e5ec9 [cmake] Fix CPMUtil on Windows by avoiding a temp dir (#4195)
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4195
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-07-10 01:21:17 +02:00
crueter 813b248bc3 [docs] Tighten AI restrictions and switch to CONTRIBUTING.md (#4193)
Also removes some now-unnecessary docs files.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4193
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-07-09 23:06:46 +02:00
lizzie 3fd6eeaf9f Revert #3970 #4177 (#4187)
3970 revert fixes crash caused by scheduler
4177 fix mario galaxy and metroid prime 4 not booting

Co-authored-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4187
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-07-09 19:02:26 +02:00
CamilleLaVey 372bdfccbc [vulkan, android] Mediacodec implementation + Vulkan fixes (#4191)
This is the first step into the conversion on full GPU video decoding for Android; currently due to the VIC structure, I couldn't set it on surface mode to prevent the latency when sending video decoded (which is processed by GPU now), because currently we convert YUV420 into the Nvidia's format each frame constantly on CPU, aside the requirements from other extensions to work + VIC rewrite, which is a work currently not planned to happen on this PR; the actual configuration for video decoding is ByteBuffer, using GPU to decode NVDEC data (all codecs supported, h264, vp8 and vp9) and send it to CPU for display purposes, which is more faster than relying purely on CPU for any drawing task, saving devices resources/ heating, the downside on this will be the slight latency when a new frame is displayed, which is gonna be a black frame for less than a second, nothing major to harm the experience rather than actually trying our best to take advantage on hardware accelerated.

Aside this, I also added a bunch of minor Vulkan fixes to grant drivers less thinkering when receiving spir-v instructions, meaning this has new bans for extensions on QCOM (following reported issues on other projects working around Adreno driver behavior), this more than providing performance aims to enhance the stability on the driver, performance it's gonna likely to be hit based on the UBO's (StorageBufferAccess) operations and SSBO (uniformStorageBufferAccess), there was an already existing path for the emulation which forces to wide them into 32bit packed operations. I also included some smaller changes/ bugs + VUID's fixes from earlier changes on my work.

Special Thanks:

-> Mr. Smoly Gidolard (@gidoly)

Sources:

1.- https://github.com/microsoft/DirectXShaderCompiler/issues/2842
2.- https://github.com/mlc-ai/web-llm/issues/836
3.- https://github.com/ggml-org/llama.cpp/issues/5186
4.- https://github.com/encounter/aurora/pull/202

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4191
2026-07-09 06:55:54 +02:00
Eden CI 3699795315 [dist, android] Update translations from Transifex for Jul 07 (#4185)
Automatic translation update for Jul 07

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4185
2026-07-09 06:53:08 +02:00
CamilleLaVey 3a6ac6e418 [video_core] Implementation on ASTC HDR formats + Vulkan fixes (#4190)
Based on the register of the ASTC implementation from Ameerj (yuzu), currently our conversion from ASTC on Desktop tends to duplicates the unpacking of ASTC converted textures, leading to bad performance; since there are some graphical effects that actually access on the band of 32bits (RGAF32) than the common 16bits (RGAF16) from our ASTC path decoding method, which commonly uses ARGB8 (degradation -> LDR) transformation to reduce the memory cost per conversion; meanwhile it could actually provide initially better performance; the engine tended to get stalled when this writted stage effect got skipped; mostly because CPU tends to look for an unimplemented texture/ format query (from which doesn't exist on our MaxwellToVK); unlike what's commonly believed HDR was a format to write enviroment effects even before their appearance on video output (since Switch doesn't have HDR, only SDR on certain engines).

The test result on this PR showed games like Astral Chain and other heavy reliant on ASTC decoding improved their performance and stability by around 15%; meanwhile could it be tied to a hardware gain, it's clearly a gain for direct access on what's required on most games. This PR also contains few Vulkan bug fix I encountered along this implementation.

Special Thanks:

-> Mr. Smoly Gidolard (@gidoly)

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4190
2026-07-09 05:29:50 +02:00