Commit Graph

71 Commits

Author SHA1 Message Date
John 3b81d2e333
[video_core/host1x/vic] Fix a Regression in Big Brain Academy in Linux (#3412)
Patch from Lizz

Fixes out of bounds read/writes from vector implementation of the VIC decoder

Authored-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3412
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: John <john@eden-emu.dev>
Co-committed-by: John <john@eden-emu.dev>
2026-01-28 23:50:59 +01:00
lizzie 6afe209b60
[android] fix blue tint on DBZ by using proper swizzle per format (#3367)
just another missing swizzle after translation... heh

Signed-off-by: lizzie lizzie@eden-emu.dev

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3367
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: DraVee <dravee@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-01-22 03:14:03 +01:00
lizzie 8663913510
[video_core/vic] Partial revert to fix Link Awakening's blue tint (#3348)
fixes link awakening intro screen on non-SSE 4.1

Signed-off-by: lizzie lizzie@eden-emu.dev
Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3348
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 23:58:14 +01:00
lizzie 4d7b51d798
[host1x/vic] fix bad vectorization codegen in (windows) (#3285)
clang and gcc appropriatedly generate paths... but you msvc? you generate NOTHING

* This PR fixed regression introduced on #2856 and fixed stuttering/low fps on Megaman Battle Network Legacy Collection v2 and also Sonic Racing Crossworld.

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3285
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: DraVee <dravee@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-01-10 09:58:28 +01:00
MaranBr f0fe283038
[host1x] Fix memory leak caused by unbounded frame buffering (#3180)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3180
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
2025-12-21 00:51:26 +01:00
crueter 363d861011
[ffmpeg] update to 8.0.1, enable VTBox/mediacodec/d3d12 hwaccels (#3156)
MediaCodec needs some jvm shenanigans to work, but the others should
Just Work(TM). Need tests on Windows (AMD/Intel), macOS

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3156
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2025-12-13 20:32:37 +01:00
lizzie 5c6aaa7eb1
[video_core/vic] remove handrolled vector implementation that also uses software prefetching(!!!!); don't try to outsmart compiler - also remove template spam (#2856)
Also removes sse2neon :)
Software prefetching SUCKS and it's evil don't do it
Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2856
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-10-29 03:13:24 +01:00
Bix 191dd892e5
[android] Legacy build flavor (#51)
This adds a "legacy" build flavor, similar to the genshinSpoof flavor. The legacy flavor uses a white icon bg, alongside building with `YUZU_LEGACY=ON`, which applies the previously-made SD865 patches iff that value is truthy.

Co-authored-by: Bixthefin <114880614+Bixthefin@users.noreply.github.com>
Co-authored-by: Calchan <denis.dupeyron@gmail.com>
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/51
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: Bix <bix@bixed.xyz>
Co-committed-by: Bix <bix@bixed.xyz>
2025-10-05 05:41:20 +02:00
MaranBr 326865cba2
[host1x] Improve FFmpeg error handling (#2643)
This improves the FFmpeg error handling.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2643
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
2025-10-02 00:15:14 +02:00
crueter 76a8a6e039
[cmake] feat: FFmpeg CI, allow 16kb android builds, update translations for transifex (#2543)
Uses an FFmpeg CI for Android and Windows, also available for Linux. Saves compile time on Linux and is more consistent on Windows/Android.

Also, updates VVL and FFmpeg to allow for a fully 16kb-compliant Android build. Bonus: APK size is down 30%

Updated all localization files for Transifex while I was at it

TODO for future: Android 8.0 with vp9_vulkan et al.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2543
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2025-09-23 19:38:11 +02:00
lizzie 191e4c75a1
[meta] fix license headers (#2547)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2547
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-09-21 21:58:59 +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
lizzie 8407510f76
[video_core] fix nixOS flake build patch (#339)
See https://github.com/NixOS/nixpkgs/pull/406630/files

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/339
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-28 01:32:37 +02:00
lizzie 9d53933a95
[fmt] use {:#X} for format instead of 0x{:X} (#309)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/309
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-27 22:39:11 +02:00
crueter f1e74f6855
[meta] remove MicroProfile (#185)
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/185
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2025-08-06 07:48:11 +02:00
MaranBr 7249bc0d22
[host1x] Remove unused code (#161)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/161
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
2025-07-30 21:08:43 +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
MaranBr 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: 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
MaranBr 7cb8a1acd3
[host1x] Fix GPU decoding for VP8 video codec (#72)
This fixes GPU decoding for the VP8 video codec on supported devices.

Co-authored-by: MaranBr <maranbr@outlook.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/72
Co-authored-by: MaranBr <maranbr@eden-emu.dev>
Co-committed-by: MaranBr <maranbr@eden-emu.dev>
2025-07-18 22:55:05 +02:00
MaranBr e9ca3f4c06
[host1x] Fix FFmpeg crash on Linux (#37)
This fixes the FFmpeg crash on Linux / Steam Deck.

Credit to Maufeat for AVERROR_EOF check.

Co-authored-by: MaranBr <maranbr@outlook.com>
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/37
Co-authored-by: MaranBr <maranbr@eden-emu.dev>
Co-committed-by: MaranBr <maranbr@eden-emu.dev>
2025-07-14 22:30:54 +02:00
SDK-Chan a8564a09b7
[host1x] FreeBSD: Fix random crashes due to CUDA/VAAPI check sideeffects (#64)
FreeBSD doesn't support NVDEC, CUDA, and partially supports VAAPI (mostly for firefox).
Implementing VAAPI for other use cases would be a little bit complicated so, I chose to switch it off for FreeBSD.
This PR ensures that FFmpeg will always default to software decoding on FreeBSD, but should remain the same functionalities for other OS's.
The results are slight CPU increases while decoding in software mode, but still neglectable and they don't really harm performance.

Co-authored-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/64
Co-authored-by: SDK-Chan <sdkchan@eden-emu.dev>
Co-committed-by: SDK-Chan <sdkchan@eden-emu.dev>
2025-07-14 22:30:07 +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
SDK-Chan 7f48f4efb6
Add native FreeBSD building functionality (#35)
This commit enables native building on FreeBSD through Cmake + ninja.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/35
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: SDK-Chan <sdkchan@eden-emu.dev>
Co-committed-by: SDK-Chan <sdkchan@eden-emu.dev>
2025-07-11 10:05:17 +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
MaranBr c4a26be180
[host1x] Simplify the FFmpeg code a bit more (#243)
This simplifies the FFmpeg code a bit more and removes unused variables left in the code.

Co-authored-by: MaranBr <maranbr@outlook.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/243
2025-07-02 00:42:55 +00:00
MaranBr 2fe728766e Fix FFmpeg GPU decoding (#242)
This fixes the FFmpeg GPU decoding on some platforms.

Co-authored-by: MaranBr <maranbr@outlook.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/242
2025-06-30 14:37:00 +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 c88d0b3967 [video_core] ffmpeg 7.1.1 fix (#224)
Simplified and add AVERROR_EOF check, seems to do the trick.
Fixed Blasphemous 2 and Burnout Paradise crash and more

Co-authored-by: MaranBr <maranbr@outlook.com>
Co-authored-by: MaranBr <maranbr@fake.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/224
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Co-committed-by: Maufeat <sahyno1996@gmail.com>
2025-06-28 13:34:32 +00:00
MaranBr cc7f2808ed Update FFmpeg to 7.1.1, libvpx to 1.13.1 and libx264 to c24e06c on Android (#187)
This updates FFmpeg to 7.1.1, libvpx to 1.13.1 and libx264 to c24e06c on Android.

Co-authored-by: MaranBr <maranbr@outlook.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/187
Reviewed-by: crueter <crueter@noreply.localhost>
Co-authored-by: MaranBr <maranbr@noreply.localhost>
Co-committed-by: MaranBr <maranbr@noreply.localhost>
2025-06-14 17:42:22 +00:00
crueter a9f9b207c2 Fix License headers & CI (#168)
Signed-off-by: crueter <swurl@swurl.xyz>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/168
Co-authored-by: crueter <swurl@swurl.xyz>
Co-committed-by: crueter <swurl@swurl.xyz>
2025-06-09 01:40:21 +00:00
MaranBr 6397bb0809 Fix video decoding on newer versions of FFmpeg (#155)
Fixes video decoding issues and enables compatibility with newer versions of FFmpeg.

Co-authored-by: MaranBr <maranbr@outlook.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/155
2025-06-04 19:06:48 +00:00
MaranBr 621d1c3d8a Enable FFmpeg GPU decoding for NVIDIA and AMD graphic cards (#139)
This enables the DXVA2, D3D11VA, D3D11VA2 and NVENC decoders for GPU decoding of H264 and VP9 formats on Windows.

Co-authored-by: MaranBr <maranbr@outlook.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/139
2025-05-29 21:20:13 +00:00
swurl 7e943732bf fix a large variety of issues (#101)
- GLASM/SPIR-V mixup on Android
- potential greenscreen fix (thx suyu)
- save memory layout and add 10gb/12gb options
- potential samsung gaming hub fix
- fix layout of controller UI
- fix default settings to sensible defaults.
- note to TotK that you should increase memory layout
- Error checking for Windows linking
- fix an IDE error
- improved migration system w/threading and busy indicator
- disabled citron migration for now
- replaced some user-facing legacy strings with eden
- Added 10GB and 12GB DRAM layouts
- Fix Android black screen issues
- add discord link & update FAQ/Quickstart
- update links in about page
- add back rich presence
- add Don't show again for desktop pre alpha banner
- add citron warning to android and polaris to desktop

Signed-off-by: swurl <swurl@swurl.xyz>
Co-authored-by: Pavel Barabanov <pavelbarabanov94@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/101
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
2025-05-11 23:58:25 +00:00
darktux 616619c8f7 Port changes from Early Access 2025-04-04 03:40:46 +02: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
Fernando Sahmkow 4d65645d80 MemoryManager: Reduce the page table size based on last big page address. 2024-02-01 13:00:36 +01:00
Fernando Sahmkow b206089ea7 Core: Clang format and other small issues. 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 bb7b14acd5 GPU SMMU: Expand to 34 bits 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 eb4f7f35ea NVDRV: Implement sessions and initial implementation of SMMU 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
Viktor Szépe e895ebb546 Fix typos in video_core 2024-01-07 22:44:55 +00:00
lat9nq c7e0ee60cd codec: Update to use av frame flags
Resolves Clang -Wdeprecated-declarations warning from interlaced_frame
2023-12-05 21:10:38 -05:00
Liam 767b024755 video_core: refactor video frame and packet parsing 2023-11-16 17:01:38 -05:00