Commit Graph

2140 Commits

Author SHA1 Message Date
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
swurl be552c37a1 ui/overlay: Fix enhanced frame pacing naming and disable frameskip for now. (#99)
Signed-off-by: swurl <swurl@swurl.xyz>
2025-05-10 11:38:06 -04:00
swurl aa333e6fb1 Vulkan 1.4 and New Extensions (#93)
- Add descriptor_indexing, VIDS, provoking_vertex
- Fix up EDS
- Implement VK 1.4

Co-authored-by: JPikachu <jpikachu.eden@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/93
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
2025-05-09 14:19:51 +00:00
MrPurple666 d75dc79f26 Some fixes before Release (#92)
Co-authored-by: MrPurple666 <antoniosacramento666@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/92
2025-05-08 23:03:52 +00:00
swurl f786802b9b User Data Migration from Citron, Sudachi, and Yuzu (#91)
Includes citron, sudachi, yuzu

currently broken, because the eden dir is always made early?

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/91
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
2025-05-08 22:16:07 +00:00
swurl d659d6f5b4 Runtime option for flushing logs by line (#90)
Signed-off-by: swurl <swurl@swurl.xyz>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/90
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
2025-05-08 06:20:20 +00:00
edendev b01e20414f Readd Revert Problematic Commits 2025-05-04 08:24:54 +00:00
edendev 4181b53e19 revert Remove problematic commits
revert Remove problematic commits
2025-05-04 08:17:03 +00:00
MrPurple666 b689d74bc9 Remove problematic commits 2025-05-03 16:01:11 -03:00
Briar 54c3c4503a android: Add initial frontend for LAN network rooms (#76)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/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
MrPurple666 7bd606bece Merge https://git.eden-emu.dev/eden-emu/eden 2025-04-30 16:19:06 -03:00
MrPurple666 b5bec371ae Add toggle for LRU 2025-04-30 04:05:45 -03:00
JPikachu e4e27ef86b implement: New API for Multiplayer Support 2025-04-30 06:34:25 +00:00
Pavel Barabanov 37a508c3ba Add USE AUTO STUB to Android 2025-04-30 03:00:46 +03:00
MrPurple666 b695ca5a2a Revert some wip changes 2025-04-28 16:14:42 -03:00
swurl 808276b48a 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: https://git.eden-emu.dev/eden-emu/eden/pulls/57
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
2025-04-27 17:07:49 -04:00
swurl 9f806138ab Merge branch 'log-by-line'
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-24 15:58:49 -04:00
CamilleLaVey 30670bd92a Merge pull request 'Add configurations for VkExtendedDynamicState extensions' (#53) from crueter/eden:dynamic-state-config into master
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/53
2025-04-24 19:55:58 +00:00
swurl 83cf9774e1 switch dynamic state to a slider
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-24 12:08:01 -04:00
swurl 9cb03cd007 Log by line compilation option
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-24 10:58:22 -04:00
swurl 1949e7c438 Add dynamic state extension configs
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-23 20:57:53 -04:00
swurl 8795b96d46 Fix Qt <6.7 build and allow speed limit to be saved
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-23 18:36:39 -04:00
FireBurn b03d51f06f Include memory header
This stops build failures for missing std::shared_ptr which is in multiple files

Signed-off-by: FireBurn <mike@fireburn.co.uk>
2025-04-19 17:56:48 -03:00
Zephyron 34693001aa Add Windows support to Hybrid Memory Manager
This commit adds Windows-specific implementation of the fault-managed memory
system, providing similar functionality to the existing Linux/Android implementation.

Key changes:
- Added Windows-specific memory management using VirtualAlloc/VirtualFree
- Implemented Windows vectored exception handler for page fault handling
- Added proper memory protection and page fault handling on Windows
- Updated memory snapshot functionality to work on Windows
- Added proper cleanup of Windows-specific resources
- Fixed type conversion issues in memory management code
- Added proper error handling for Windows memory operations
- Fixed VRAM Memory Layout Mode to allow up to 12Gb

The implementation uses Windows-specific APIs:
- VirtualAlloc/VirtualFree for memory management
- AddVectoredExceptionHandler for page fault handling
- VirtualProtect for memory protection management

This change maintains feature parity with the Linux/Android implementation
while using Windows-native APIs for better performance and reliability.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-04-12 23:42:24 -03:00
Zephyron 9615e910f9 feat(video_core): Implement HybridMemory for advanced Vulkan memory management
Adds a new cross-platform memory management system with enhanced capabilities:
- Fault-managed memory allocation for Linux/Android platforms
- Memory snapshot and differential snapshot support
- Predictive memory reuse tracking for optimized access patterns
- Vulkan compute buffer integration
- User-configurable settings for enabling features

The system integrates with the existing Vulkan renderer to provide more
efficient memory handling, especially for compute-intensive workloads.

Co-authored-by: boss.sfc <boss.sfc@citron-emu.org>
Co-committed-by: boss.sfc <boss.sfc@citron-emu.org>
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-04-12 23:41:26 -03:00
Zephyron c57a5fef92 WIP: Enhance shader compilation performance and control
This commit adds new settings and optimizations for shader compilation:

- Add new settings:
  - use_enhanced_shader_building: Enable enhanced shader compilation
  - shader_compilation_priority: Control shader compilation priority

- Improve shader compilation performance:
  - Optimize worker thread allocation based on CPU cores
  - Add smarter async shader compilation heuristics
  - Prioritize vertex and fragment shader compilation
  - Add performance tracking and logging

- Add performance monitoring:
  - Track shader compilation times
  - Log slow shader compilations
  - Monitor async shader compilation statistics

This is a work in progress commit. Further optimizations and refinements
will be needed based on testing and feedback.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-04-12 23:37:11 -03:00
Pavel Barabanov 38737f26e5 Optimize SpiriV output 2025-04-12 22:54:32 -03:00
Pavel Barabanov bd2f935c4d delete "enable" in setting.h 2025-04-12 22:54:32 -03:00
Pavel Barabanov be2e838f0d FRAME_SKIPPING and FRAME_INTERPOLATION only android and delete "enable" 2025-04-12 22:54:32 -03:00
Pavel Barabanov 70c2439d8c Add sync core speed 2025-04-12 22:54:32 -03:00
Pavel Barabanov d25bea5762 Android: add FRAME_SKIPPING and FRAME_INTERPOLATION 2025-04-12 22:54:32 -03:00
crueter 9cef9f5dce Update fmt to allow for v11
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-10 01:11:22 +02:00
Briar 6f45ab5344 Revert "Disabled MCO_USE_VMEM_ALLOCATOR because standard stack size seems to suffice"
This reverts commit ada5dcf01a.
2025-04-06 22:52:55 -03:00
darktux ada5dcf01a Disabled MCO_USE_VMEM_ALLOCATOR because standard stack size seems to suffice 2025-04-04 03:40:48 +02:00
darktux a1d4963fb8 Remove accidental use of standard format instead of libfmt format 2025-04-04 03:40:48 +02:00
darktux 5af02a5cea Save memory by using dyamic stack size in Fiber 2025-04-04 03:40:48 +02:00
darktux bc2fdfee13 Fixed minicoro.h formatting 2025-04-04 03:40:47 +02:00
darktux 4a71984803 clang-formated new fiber.cpp and minicoro.h 2025-04-04 03:40:47 +02:00
darktux 16f92e5b32 Implemented rewindless Fiber without Boost (using minicoro) 2025-04-04 03:40:47 +02:00
darktux 2032d035a3 Removed telemetry and anonymized SCM (git) strings 2025-04-04 03:40:47 +02:00
darktux 616619c8f7 Port changes from Early Access 2025-04-04 03:40:46 +02:00
Briar 8364ab1b00 android: Rename default device name to eden 2025-04-04 03:23:31 +02:00
Briar 0c4d8a8b08 Rename log file to `eden_log` 2025-04-01 18:36:48 +02:00
voidanix d60cf76e2d Fix GCC builds with Debug build type 2025-04-01 18:31:44 +02:00
liamwhite 67120d9623 Merge pull request #13159 from liamwhite/web-error
core: enable error applet, add stubs for web applet
2024-02-26 12:44:55 -05:00
Liam 9db29b4e20 settings: remove global override for smash on amdvlk 2024-02-26 11:16:18 -05:00
Liam e850ec7aa9 settings: enable error applet 2024-02-24 22:56:08 -05:00
wheremyfoodat 8a5329b19a common/ring_buffer: Include <limits> header 2024-02-24 02:34:09 +02:00
liamwhite 56834236dc Merge pull request #13100 from liamwhite/audio-ipc
audio: move to new ipc
2024-02-23 11:34:21 -05:00
Narr the Reg 615cc06ca4 Merge pull request #13001 from liamwhite/scaled-availability
vulkan_device: don't use fixed cap for memory limits
2024-02-22 11:31:17 -06:00