Commit graph

27271 commits

Author SHA1 Message Date
2133c04d20 Update FFmpeg: (#84)
Update: 9c1294eadd → 62e1c44263
Reviewed-on: eden-emu/eden#84

Thanks JPikachu for caring about this.
Co-authored-by: JPikachu <jpikachu.eden@gmail.com>
Co-committed-by: JPikachu <jpikachu.eden@gmail.com>
2025-05-06 17:59:19 -07:00
143d74fc78 revert 8390c7dff7
revert Add rasterizer_accelerated (#79)

Credit: Antique - [Sudachi] Dev (https://sudachi.emuplace.app/)
2025-05-06 17:59:19 -07:00
c2cfd71078 Add rasterizer_accelerated (#79)
Credit: Antique - [Sudachi] Dev (https://sudachi.emuplace.app/)
Reviewed-on: eden-emu/eden#79
Co-authored-by: JPikachu <jpikachu@noreply.localhost>
Co-committed-by: JPikachu <jpikachu@noreply.localhost>
2025-05-06 17:58:48 -07:00
5b08d7ef3d Readd Revert Problematic Commits 2025-05-04 08:24:54 +00:00
14d8e99651 revert Remove problematic commits
revert Remove problematic commits
2025-05-04 08:17:03 +00:00
MrPurple666
b2371163ae Remove problematic commits 2025-05-03 16:01:11 -03:00
Briar
0d206c99a7 android: Add initial frontend for LAN network rooms (#76)
Reviewed-on: eden-emu/eden#76
Co-authored-by: Briar <205427297+icy-briar@users.noreply.github.com>
Co-committed-by: Briar <205427297+icy-briar@users.noreply.github.com>
2025-05-03 17:53:09 +00:00
Pavel Barabanov
76fd41dc5d renamed SetTouchScreenOutputRanges to SetTouchScreenOutputRanges [20.0.0+] 2025-05-03 06:26:24 +03:00
Pavel Barabanov
400ce804f0 started adding services for firmware 20.0.0 without implementation 2025-05-03 06:15:23 +03:00
Briar
3fe0cbe3fb renderer_vulkan: Use raw surface handles and improve release logic (#75)
Should fix or at least lessen the crashes when leaving runtime emulation on both Android / PC
Also, may have improved the time required to leave the game

Reviewed-on: eden-emu/eden#75
Co-authored-by: Briar <205427297+icy-briar@users.noreply.github.com>
Co-committed-by: Briar <205427297+icy-briar@users.noreply.github.com>
2025-05-02 18:42:58 +00:00
0d034ba584 Add LRU toggle in Android settings (#72)
Reviewed-on: eden-emu/eden#72
2025-05-01 07:23:15 +00:00
c9f8594bb9 Revert "Add more audio logging to pinpoint issues better"
This reverts commit 01b790ff29.
2025-04-30 18:21:01 -07:00
01b790ff29 Add more audio logging to pinpoint issues better 2025-04-30 18:01:26 -07:00
MrPurple666
c0bc9c3f51 Merge https://git.eden-emu.dev/eden-emu/eden 2025-04-30 16:19:06 -03:00
MrPurple666
8d3ca74664 Use a different approach for the LRU toggle 2025-04-30 16:11:15 -03:00
MrPurple666
fe8ea33a4e Add toggle for LRU 2025-04-30 04:05:45 -03:00
MrPurple666
3b66092a5b Fix some issues in RAII 2025-04-30 03:57:11 -03:00
JPikachu
bc5d36778d service: sm/kernel/loader: Implement QueryPointerBufferSize, automatic pointer buffer sizing, and SM service improvements
This commit introduces multiple improvements to IPC handling and system management services, enhancing game compatibility and emulator stability.

--- 1. Fully Implemented QueryPointerBufferSize Service:
- Exposes the per-process IPC pointer buffer size through `QueryPointerBufferSize` instead of returning stubbed values.
- Added `m_pointer_buffer_size` field to `KProcess`, initialized with a safe default (0x8000).
- Introduced getter and setter methods (`GetPointerBufferSize()` / `SetPointerBufferSize()`).
- Registered new handler in `sm_controller` for handling QueryPointerBufferSize requests.
- Ensures accurate buffer size reporting for games relying on this service.

--- 2. Automatic Pointer Buffer Sizing Per-Game:
- Automatically determines heap size by parsing `main.npdm` from the game’s ExeFS:
  - Heap size > 1 GiB → pointer buffer size set to `0x10000`.
  - Heap size > 512 MiB → pointer buffer size set to `0xC000`.
  - Otherwise, defaults to `0x8000`.
- Gracefully handles missing or malformed `main.npdm` by falling back to default settings.
- Automatically configures pointer buffer size during `AppLoader_NCA::Load`.
- Added logging for heap size detection and buffer size configuration for easier debugging.

--- 3. SM Service Improvements:
- Added full implementation of `QueryPointerBufferSize` within the SM service framework.
- Cleaned up stubbed methods and ensured correct domain handling.
- Registered new service commands (e.g., `SetPointerBufferSize` and `QueryPointerBufferSize`) in `sm_controller`.
- Improved session handling with proper conversion to domain objects where necessary.

--- Benefits:
- Greatly improves compatibility with games that require larger IPC pointer buffers
- Eliminates the need for manual per-game pointer buffer overrides.
- More accurate emulation of Switch system services, improving stability for both commercial titles and homebrew.
- Provides cleaner logging for easier debugging and maintenance.
- Future-proofs IPC handling for upcoming titles with higher memory demands.

--- Additional Notes:
- Default pointer buffer size remains 0x8000 for smaller titles or if heap size cannot be determined.
- Falls back to safe defaults without affecting overall emulator performance.
- All new service calls properly registered and integrated without breaking existing functionality.
2025-04-30 06:35:22 +00:00
JPikachu
b2dcc2d0d2 vulkan_device: Fully disable dynamic state extensions/features when dyna_state = 0
If the user selects dynamic state = 0, force-disable all Vulkan dynamic state extensions and related struct fields.
This ensures compatibility with drivers and simplifies shader pipeline logic.

Also logs all removals for clarity.
2025-04-30 06:34:49 +00:00
82d2f14f48 fix syntax
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-30 06:34:49 +00:00
JPikachu
521312cf8f vulkan_device: Remove must_emulate_scaled_formats = false for all Qualcomm and Arm processes 2025-04-30 06:34:49 +00:00
JPikachu
17fd5aa3b6 vulkan_device: Dynamically control scaled format emulation based on dynamic state setting fixing the "0" option
If the setting dyna_state is set to 0 (dynamic state disabled), must_emulate_scaled_formats is forced "true" for proper rendering.
If dyna_state is set to 1, 2, or 3 (dynamic state enabled), must_emulate_scaled_formats is forced "false" for proper dyna-state use.

This change applies globally after all device-specific quirks and is logged clearly at boot for easier debugging.
2025-04-30 06:34:49 +00:00
JPikachu
77787ad55a implement: New API for Multiplayer Support 2025-04-30 06:34:25 +00:00
Pavel Barabanov
d6e17f1f9c Add USE AUTO STUB to Android 2025-04-30 03:00:46 +03:00
Pavel Barabanov
49fb0ce348 Remove the stub for GetCradleFwVersion 2025-04-30 02:52:04 +03:00
MrPurple666
01db6e61b4 Initial MMO implementation
MMO (Multithreaded Memory Operations)
2025-04-28 16:44:35 -03:00
MrPurple666
9efdf44a75 Better FastMemcpy and FastMemset
Use 16-byte copy paths
2025-04-28 16:44:21 -03:00
MrPurple666
b51a8294d9 Use 4MB cache size instead of 1MB 2025-04-28 16:38:44 -03:00
MrPurple666
4feb1a5afe Some RAII fixes 2025-04-28 16:27:54 -03:00
MrPurple666
4901eb17db Initial RAII implementation 2025-04-28 16:27:42 -03:00
MrPurple666
4d682a6793 Replace std::memcpy/memset with intrinsics on known sizes 2025-04-28 16:27:30 -03:00
MrPurple666
674cc6f6be Revert some wip changes 2025-04-28 16:14:42 -03:00
013b8d8b28
Dynamic State Fixes (#57)
- Forcefully disabled dynamic state extensions if Vulkan reports that
  the device doesn't support it (need to update UI for this)
- Adds some more supported state 3 extensions
- Adds back stencil reinterpretation
- default to 0 on Android and 1 on desktop

Signed-off-by: swurl <swurl@swurl.xyz>

Reviewed-on: eden-emu/eden#57
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
2025-04-27 17:07:49 -04:00
1b25d9e604
updated build guide links (#60)
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-26 18:32:42 -04:00
Bix
42f9b4c0bd Some slight changes to the readme. (#59)
Just a small fix to the readme, I tested it by the way.
Fixed "Levey" to "LaVey"
Made shortened words complete.
Declared Language.
Used "en-gb" complaint Language.

Signed-off-by: Bix <xq9zp7f2@proton.me>

Reviewed-on: eden-emu/eden#59
Co-authored-by: Bix <xq9zp7f2@proton.me>
Co-committed-by: Bix <xq9zp7f2@proton.me>
2025-04-26 19:07:48 +00:00
36d917a3c9
fix cmake formatting
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-24 16:19:38 -04:00
fdf3a31f6c
Merge branch 'game-warnings'
Closes #55

Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-24 16:00:29 -04:00
1d932cec61
Merge branch 'log-by-line'
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-24 15:58:49 -04:00
9819f6c1bc Merge pull request 'Add configurations for VkExtendedDynamicState extensions' (#53) from crueter/eden:dynamic-state-config into master
Reviewed-on: eden-emu/eden#53
2025-04-24 19:55:58 +00:00
c494c4a094 Merge pull request 'Fix Qt <6.7 build and allow speed limit to be saved' (#52) from crueter/eden:fix-limit-speed into master
Reviewed-on: eden-emu/eden#52
2025-04-24 19:55:16 +00:00
3cbb80b123 Merge pull request 'shader compiler: Ensure all clip distances are initialized when used' (#48) from JPikachu/eden:EOW into master
Reviewed-on: eden-emu/eden#48
2025-04-24 19:54:59 +00:00
55a909f048
add tick marks to desktop slider
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-24 15:32:42 -04:00
Briar
e236db1369 android: Add dyna_state setting to UI 2025-04-24 21:20:49 +02:00
be5a8bfe3e
switch bad updates list to hex
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-24 13:40:43 -04:00
825e7af597
fix android setting
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-24 12:09:59 -04:00
7ba2be2e2b
switch dynamic state to a slider
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-24 12:08:01 -04:00
dd362fa1de
Warn about updates for affected games
Some games suck with updates on Yuzu, this lets the user know about it.
Currently, only Tears of the Kingdom is known to be affected, but this
can easily be expanded to include more games.

Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-24 11:55:19 -04:00
72772cee78
add notice for extensions
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-24 11:07:17 -04:00
622d9c8348
proper placement of clip distance init
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-24 11:00:28 -04:00
b2b035dcca
Log by line compilation option
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-24 10:58:22 -04:00