Zephyron
97602d0389
Merge branch 'add-low-gpu-accuracy' into 'main'
...
feat: add Low GPU Accuracy setting for maximum performance
See merge request citron/emulator!64
2025-10-01 21:46:08 +10:00
Zephyron
9090a24c2e
feat: add Low GPU Accuracy setting for maximum performance
...
Implements a new "Low" GPU accuracy level that prioritizes performance
over accuracy by aggressively cutting corners in GPU emulation.
Changes:
- Add GpuAccuracy::Low enum and setting infrastructure
- Implement IsGPULevelNormal() helper function
- Skip texture cache checks and query operations
- Use unsafe memory reads for DMA operations
- Disable fence delays and query precision
- Add UI support for desktop (Qt) and Android
Performance optimizations:
- Skips texture cache coherency checks (vk/gl_rasterizer.cpp)
- Non-blocking query synchronization (query_cache.h)
- Unsafe memory operations (dma_pusher.cpp)
- No macro parameter refresh (maxwell_3d.cpp)
- Immediate fence signaling (fence_manager.h)
- Non-precise Vulkan queries (vk_query_cache.cpp)
Ideal for lower-end hardware and users prioritizing FPS over accuracy.
Works on both desktop and Android platforms.
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-10-01 21:45:23 +10:00
Zephyron
746f748973
nim: Add CreateServerInterface2
...
- As Seen Via Logs "[ 46.275081] Debug <Critical> core\hle\service\service.cpp:operator ():78: Assertion Failed!
Unknown / unimplemented function '5': port='nim:eca' cmd_buf={[0]=0x6, [1]=0x8000000C, [2]=0x3, [3]=0x0, [4]=0x4F434653, [5]=0x2001C4, [6]=0x0, [7]=0x0, [8]=0x49434653}"
- Thankyou Dr.Stug <dr.stug@citron-emu.org >
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-10-01 21:00:31 +10:00
collecting
f2474470cd
fix: Untoggle UI & Wayland Fixes
2025-09-29 05:15:48 +00:00
collecting
935e04370a
feat: Wayland UI Linux Option: Performance Optimizations
2025-09-29 04:48:30 +00:00
collecting
fe9683356b
fix: wayland_flag
2025-09-29 04:45:47 +00:00
collecting
ce2909299f
fix: is_wayland_platform flag to prioritize low-latency
2025-09-29 04:11:44 +00:00
collecting
37e5c67616
fix: Untoggle UI & Wayland Qt Functions
2025-09-29 04:08:29 +00:00
collecting
73b2ac113e
create: Flag for UI Layer
2025-09-29 04:06:31 +00:00
collecting
2b73f6c817
fix: Drag-to-move issue w/ Wayland
2025-09-29 02:00:56 +00:00
collecting
528c18b008
fix: Ability to Move Performance Overlay (Wayland)
2025-09-29 01:19:22 +00:00
Zephyron
d627962408
cmake: exclude Boost::process on Android
...
Boost::process is not available on Android, causing build failures.
Conditionally link it only on non-Android platforms.
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-09-27 21:39:28 +10:00
Zephyron
12b1e4b3ae
Merge branch 'acc-u0-service-implementation' into 'main'
...
feat(acc): implement missing acc:u0 functions per SwitchBrew spec
See merge request citron/emulator!56
2025-09-27 21:23:50 +10:00
Zephyron
0ca82d134c
feat(acc): implement missing acc:u0 functions per SwitchBrew spec
...
- Add function 52 (TrySelectUserWithoutInteraction)
- Implement stubbed functions with proper async context classes
- Fix constructor arguments and type conversion warnings
Resolves assertion failure for unimplemented function 52.
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-09-27 21:21:17 +10:00
Zephyron
23352d4a3f
fix(dynarmic): resolve fastmem_pointer type compatibility issues
...
- Convert fastmem_pointer assignments from raw pointers to uintptr_t
- Replace nullptr comparisons with std::optional::has_value()
- Use std::nullopt instead of nullptr for optional types
- Update Dynarmic submodule to commit 9d4582339
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-09-27 20:22:04 +10:00
Zephyron
9e6956a93f
Fix Android build by conditionally excluding boost_process component
...
- Add Android check to only request boost context component on Android
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-09-27 11:53:04 +10:00
Zephyron
274b027668
fix: allow Insane VRAM mode persistence
...
- Update VRAM setting max value from HighEnd to Insane
- Add TAA translation for UI
- Fixes issue where Insane VRAM reverts to HighEnd
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-09-27 11:48:01 +10:00
Zephyron
f75cf14c1f
fix(hid): Add SixAxis sensor validation and error handling
...
- Add parameter validation for joy_xpad_id, device_index, and npad_id
- Implement proper SixAxis resource manager integration with null checks
- Add safe fallback values to prevent crashes in motion sensor games
- Enhance error handling and logging for SixAxis sensor operations
- Address crashes in games like TOTK 1.4.2 that use motion sensors
Resolves SixAxis sensor crashes by following SwitchBrew HID service
specifications and adding proper parameter validation.
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-09-27 10:17:44 +10:00
Zephyron
b6cb5c06e0
Merge branch 'audio-renderer-rev13-support' into 'main'
...
feat(audio): Add REV13 audio renderer support
See merge request citron/emulator!55
2025-09-27 10:14:18 +10:00
Zephyron
2fa3501ff4
feat(audio): Add REV13 audio renderer support
...
- Implement compressor statistics collection and tracking
- Add explicit splitter volume reset functionality
- Implement REV13 audio device notification commands
- Update feature support system to revision 13
- Maintain backward compatibility with older revisions
Resolves REV13 audio renderer feature requirements with proper
Nintendo Switch development practices and SwitchBrew compatibility.
REF: a2c0035013
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-09-27 10:13:32 +10:00
Zephyron
0001539f4a
Merge branch 'Add_Object_Fix' into 'main'
...
fix: create a Service::Set::SerialNumber object
See merge request citron/emulator!54
2025-09-27 08:52:16 +10:00
collecting
c6a2a2a728
fix: create a Service::Set::SerialNumber object
2025-09-26 13:56:09 +00:00
Zephyron
1e8dce4f5e
Merge branch 'qt6-aqtinstall-migration' into 'main'
...
feat: Implement Qt6 migration with aqtinstall 3.3.0
See merge request citron/emulator!52
2025-09-26 19:46:31 +10:00
Zephyron
4e377dde5a
feat: Implement Qt6 migration with aqtinstall 3.3.0
...
- Migrate from Qt5 to Qt6.7.3 using aqtinstall v3.3.0
- Add comprehensive Qt6 API compatibility updates
- Implement responsive UI with High DPI scaling support
- Add MSVC runtime library configuration for consistency
- Update touch/mouse event handling for Qt6 APIs
- Fix locale handling (countryToString → territoryToString)
- Update string size methods (count() → size())
- Remove deprecated Qt5 high DPI attributes
- Add new CopyCitronQt6Deps.cmake for Qt6 dependency management
- Update CMake configuration for Qt6-only approach
- Add aqt_config.ini with mirror configuration for reliable downloads
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-09-26 19:42:30 +10:00
Zephyron
42ee9916b7
chore: Set version to 0.7.1 in title bar and about dialog
...
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-09-26 18:01:41 +10:00
Zephyron
5871f4b418
revert: af223e445f && 5ed7df1e68
...
- Needs To Be A Branch
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-09-26 16:55:32 +10:00
Zephyron
7acd55a005
Merge branch 'collecting-main-patch-05267' into 'main'
...
Audio Stability Fixes
See merge request citron/emulator!51
2025-09-26 15:51:13 +10:00
Zephyron
704c886d3d
Merge branch 'collecting-main-patch-77704' into 'main'
...
Audio Stability Issues
See merge request citron/emulator!50
2025-09-26 15:51:10 +10:00
Zephyron
5241b9d172
Merge branch 'collecting-main-patch-02332' into 'main'
...
Audio Stability Fixes
See merge request citron/emulator!49
2025-09-26 15:51:03 +10:00
Zephyron
51a0e1fcc8
Merge branch 'collecting-main-patch-75734' into 'main'
...
Crash-on-Exit from ServiceManager Null Pointer
See merge request citron/emulator!48
2025-09-26 15:50:59 +10:00
Zephyron
493e9b3965
Merge branch 'collecting-main-patch-15392' into 'main'
...
Initialize variable
See merge request citron/emulator!47
2025-09-26 15:50:55 +10:00
Zephyron
122e550e45
Merge branch 'collecting-main-patch-33675' into 'main'
...
Memory Leak Fix
See merge request citron/emulator!46
2025-09-26 15:50:51 +10:00
collecting
97cd9112a1
Audio Stability Fixes
2025-09-26 04:40:01 +00:00
collecting
38a189c0af
Audio Stability Issues
2025-09-26 04:30:47 +00:00
collecting
1c48d8fb7d
Audio Stability Fixes
2025-09-26 04:27:01 +00:00
collecting
f99fc514df
Crash-on-Exit from ServiceManager Null Pointer
2025-09-26 04:24:23 +00:00
collecting
fe88ad18a7
Memory Leak Fix
2025-09-26 04:20:43 +00:00
collecting
f18c6f09e1
Crash-on-Exit from ServiceManager Null Pointer
2025-09-26 03:33:32 +00:00
collecting
3a517f15da
Initialize Variable
2025-09-26 02:37:40 +00:00
collecting
b65759e413
Initialize variable
2025-09-26 02:32:43 +00:00
collecting
0993d4d86f
Memory Leak Fix
2025-09-26 02:31:32 +00:00
collecting
9ffa26f177
Memory Leak Fix
2025-09-26 02:29:22 +00:00
Zephyron
5ed7df1e68
audio_core: Implement further Audio REV 15 support for SDK 19.0.0+ compatibility
...
This commit adds further Audio REV 15 support to enable compatibility with games
compiled against Nintendo Switch SDK 19.0.0 and later versions.
Fixes: Audio compatibility issues with SDK 19.0.0+ games
Resolves: Missing Audio REV 15 feature support
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-09-25 16:52:04 +10:00
Zephyron
1bcabda885
fix: resolve UpdaterDialog linker errors when auto updater disabled
...
Wrap updater includes and usage in CITRON_USE_AUTO_UPDATER guards to prevent
unresolved external symbol errors when the updater functionality is not enabled.
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-09-25 16:22:16 +10:00
Zephyron
f966f84fd7
Merge branch 'collecting-main-patch-52745' into 'main'
...
Remove unused variable
See merge request citron/emulator!38
2025-09-24 15:54:45 +10:00
Zephyron
385e97e850
Merge branch 'collecting-main-patch-57290' into 'main'
...
Edit main.cpp
See merge request citron/emulator!37
2025-09-24 15:54:21 +10:00
Zephyron
41cd79faf0
Merge branch 'collecting-main-patch-00739' into 'main'
...
Edit CMakeLists.txt w/ Citron Updater
See merge request citron/emulator!36
2025-09-24 15:53:39 +10:00
Zephyron
bb87388ba9
Merge branch 'collecting-main-patch-23223' into 'main'
...
std::vector::at() crash fix
See merge request citron/emulator!35
2025-09-24 15:53:24 +10:00
collecting
90e39d3c3b
Remove unused variable
2025-09-24 04:51:15 +00:00
collecting
4ec8ddbcf7
Edit main.cpp
2025-09-24 04:35:09 +00:00