Commit Graph

28054 Commits

Author SHA1 Message Date
Zephyron
89a45a327f feat(shader): add buffer device address support to shader profile
- Add support_buffer_device_address flag to shader Profile

- Add global_memory_tracking_failed flag to shader Info

- Track global memory instruction coverage in optimization pass

- Prepare infrastructure for global memory emulation via BDA
2026-01-21 18:53:59 +10:00
Zephyron
7af18a2aa8 fix(texture_cache): handle unmapped memory regions gracefully
- Skip upload for unmapped texture regions with zeroed staging buffer

- Add safety checks in UploadImageContents for unmapped GPU memory

- Prevents GPU errors from invalid memory access during texture upload
2026-01-21 18:53:40 +10:00
Zephyron
317103aba0 fix(nvdec): add memory validation for H264 decoder and VIC
- Add IsFullyMappedRange checks before GPU memory reads in H264

- Add IsFullyMappedRange checks for VIC config and output surfaces

- Zero buffers and skip operations for unmapped memory regions

- Prevents crashes from unmapped GPU memory access during video decode
2026-01-21 18:53:22 +10:00
Zephyron
8a606458d6 fix(vulkan): coordinate query cache with render pass boundaries
- Close queries before ending render pass in EndRenderPass

- Close queries before starting new render pass in RequestRenderpass

- Simplify EndPendingOperations to delegate to EndRenderPass

- Fixes validation errors about queries started in wrong render pass context
2026-01-21 18:53:01 +10:00
Zephyron
3295065597 fix(vulkan): clamp image dimensions and copy extents to GPU limits
- Add validation in MakeImage to clamp dimensions to maxImageDimension2D

- Add validation in UploadMemory to clamp buffer-to-image copy extents

- Check framebuffer limits for attachment images

- Fixes crashes when games request textures exceeding GPU capabilities
2026-01-21 18:52:10 +10:00
Zephyron
07180ad265 fix(vulkan): add fallback for unsupported line rasterization modes
- Check for rectangularLines and smoothLines feature support

- Fall back to VK_LINE_RASTERIZATION_MODE_DEFAULT when unavailable

- Fixes validation errors on GPUs without rectangular line support
2026-01-21 18:51:17 +10:00
Zephyron
d344908a8b feat(vulkan): add VK_KHR_buffer_device_address support infrastructure
- Add vkGetBufferDeviceAddress function pointer loading

- Add GetBufferAddress method to Device wrapper with null checks

- Add buffer device address feature detection and AMD GPU disable

- Add VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT to buffer creation

- Store and expose device address in Buffer class

- Update VMA allocator with BUFFER_DEVICE_ADDRESS_BIT flag

- Add IsRectangularLinesSupported/IsSmoothLinesSupported checks

- Disable buffer_device_address on AMD GPUs for stability
2026-01-21 18:50:53 +10:00
Collecting
e822aa41b2 Merge pull request 'feat(compatibility): Add automated compatibility reporting and remote list syncing' (#106) from feat/compat-list-overhaul into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/106
2026-01-21 08:45:48 +01:00
Collecting
02e7a689bd feat(compatibility): Overhaul Compatibility Logic for GitHub Parsing
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-21 08:41:13 +01:00
Collecting
1f1fa1e215 feat(compatibility): Fix QString w/ game_name to display properly w/ issues
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-21 08:39:52 +01:00
Collecting
04552f33b9 Merge pull request 'feat(android): Permission for Read/Write/Managing External Storage Directories w/ Scoped' (#105) from test-android into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/105
2026-01-21 04:47:28 +01:00
Collecting
c6ca62e706 Update src/android/app/src/main/AndroidManifest.xml
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-20 10:31:07 +01:00
Zephyron
4e0078d6d4 cmake: Switch external binaries to yuzu-mirror
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2026-01-20 16:46:09 +10:00
Zephyron
c720e354d2 service/ldn: Implement SetProtocol and SetWirelessAudioPolicy commands
Adds support for LDN service commands introduced in firmware 20.0.0+:
- Command 105: SetWirelessAudioPolicy (stubbed)
- Command 106: SetProtocol

This enables ACNH Update 3.0 and other games using newer SDK versions
to properly initialize LDN for local multiplayer functionality.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2026-01-19 16:29:46 +10:00
Collecting
23bb5078a7 fix(multiplayer): Z-A Connection Issues
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-18 22:39:29 +00:00
Collecting
ead238ba35 Merge pull request 'feat(add): Xenoblade Title ID for Optimizer' (#104) from add/title-id-optimizer into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/104
2026-01-18 04:01:12 +00:00
Collecting
78d70c6b48 add: Title ID for Optimizer
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-18 04:00:40 +00:00
Collecting
4d018eb894 add: Title ID for Optimizer
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-18 03:59:58 +00:00
Collecting
bd32690a76 revert c575341d1e
revert Merge pull request 'fix(multiplayer): Race Condition during Packet Discovery' (#101) from fix/lan_discovery_race_condition into main

Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/101
2026-01-18 00:01:51 +00:00
Collecting
df97c4f325 revert 47edb00351
revert Merge pull request 'Service: Sockets: Fix busy-waiting CPU starvation and Close/Socket race conditions' (#100) from fix-socket-performance-and-crashes into main

Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/100
2026-01-17 23:28:32 +00:00
Zephyron
d77cc3e518 chore: bump Citroen version
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2026-01-18 00:48:31 +10:00
Collecting
c5c241aa73 Watch what you're typing next time
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-17 10:08:25 +00:00
Collecting
ad35ac85ef Typo buddy
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-17 10:07:56 +00:00
Collecting
c7220e4c27 Update src/citron/mod_manager/mod_service.cpp
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-17 09:55:31 +00:00
Collecting
d3d7f41536 Update src/core/file_sys/patch_manager.cpp
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-17 09:54:48 +00:00
Collecting
2107ca9c95 Merge pull request 'fix(mods): Remove Unused Nx-Optimizer Title ID's' (#103) from remove-title-ids into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/103
2026-01-17 09:01:20 +00:00
Collecting
e0b13d9414 Remove Un-used Title ID's
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-17 09:00:46 +00:00
Collecting
a380ba4c60 Remove Un-used Title IDs
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-17 09:00:03 +00:00
Collecting
2873e3b97f Update src/citron/configuration/configure_per_game_addons.cpp
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-17 02:38:31 +00:00
Collecting
ab1eea69de Merge pull request 'feat/fix: Introduce Nx-Optimizer by MaxLastBreath Tool & Fix Corrupted Shader Alloc' (#102) from feat/fix/nx-optimizer/bad_alloc into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/102
2026-01-17 02:09:41 +00:00
Collecting
fb168f9283 fix: Corrupted Cache Cleanup
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-17 02:06:48 +00:00
Collecting
c30c7689c8 fix: Patch Manager Logic
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-17 02:04:27 +00:00
Collecting
7baf163539 add: Nx-Optimizer
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-17 02:00:20 +00:00
Collecting
c3dc22820e add: Nx-Optimizer
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-17 01:59:19 +00:00
Collecting
a3de20eea5 add: Nx-Optimizer
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-17 01:57:08 +00:00
Collecting
c575341d1e Merge pull request 'fix(multiplayer): Race Condition during Packet Discovery' (#101) from fix/lan_discovery_race_condition into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/101
2026-01-16 23:27:59 +00:00
collecting
5905d0bcff fix(multiplayer): Race Condition during Packet Discovery 2026-01-16 18:26:21 -05:00
Collecting
47edb00351 Merge pull request 'Service: Sockets: Fix busy-waiting CPU starvation and Close/Socket race conditions' (#100) from fix-socket-performance-and-crashes into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/100
2026-01-16 22:43:48 +00:00
collecting
0b5701624a Service: Sockets: Fix busy-waiting CPU starvation and Close/Socket race conditions 2026-01-16 17:42:54 -05:00
Collecting
79d4fd8e31 I should of looked at the compiler before pushing last fix
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-16 20:16:45 +00:00
Collecting
1b2363ba81 fix(mods): romfs/exefs regression from Mod Downloader
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-16 20:10:20 +00:00
Collecting
36baa59393 Update src/core/file_sys/patch_manager.cpp
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-16 12:17:30 +00:00
Collecting
d5b8d08ebc Work Smarter, Not Harder
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-16 11:48:47 +00:00
Collecting
932904ed06 Work Smarter, Not Harder
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-16 10:49:11 +00:00
Collecting
31d0bca2da fix: Cross-Platform Compiler Errors
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-16 09:13:45 +00:00
Collecting
6f1faf3923 Merge pull request 'Frontend: Introduce Integrated Mod Downloader and Revamp Add-ons UI' (#99) from feat/mod-installer into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/99
2026-01-16 08:36:30 +00:00
Collecting
bf17270fd6 Add Mod Installer Folder Logic
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-16 08:34:31 +00:00
Collecting
cb403a3a3b Add Mod Installer Logic
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-16 08:33:53 +00:00
Collecting
4846101587 feat(mod_manager): Add Installer Logic
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-16 08:33:22 +00:00
Collecting
18904f2008 feat: Add ModManager Context menu & service
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-01-16 08:32:46 +00:00