Collecting
b5a472ced1
fix(gamescope): Add Boolean for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:36:08 +00:00
Collecting
1d80ba5da1
fix(gamescope): Fix VRAM Monitor for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:35:15 +00:00
Collecting
4f9017258a
fix(gamescope): Fix VRAM Monitor for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:34:33 +00:00
Collecting
2d6669ade2
fix(gamescope): Fix Perf Overlay for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:34:02 +00:00
Collecting
847c648dfe
fix(gamescope): Fix Perf Overlay for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:33:16 +00:00
Collecting
1c7ca1d5ef
fix(gamescope): Fix MP Overlay for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:32:36 +00:00
Collecting
4b5fbfd5c6
fix(gamescope): Fix MP Overlay for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:31:53 +00:00
Collecting
6046f2c913
fix(gamescope): Restructure Update Dialog for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:31:13 +00:00
Collecting
9185b5ed5b
fix(gamescope): Restructure Update Dialog for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:30:47 +00:00
Collecting
88c8b4cdbb
fix(gamescope): Restructure Multiplayer Dialogs for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:30:07 +00:00
Collecting
9c49ec0e97
fix(gamescope): Restructure Multiplayer Dialogs for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:29:41 +00:00
Collecting
28000c203d
fix(gamescope): Restructure Multiplayer Dialogs for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:28:56 +00:00
Collecting
b48d726a11
fix(gamescope): Add Gamescope Logic
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:27:55 +00:00
Collecting
21a19e79e7
fix(gamescope): Restructure Controller Overlay for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:26:33 +00:00
Collecting
3ed38c872f
fix(gamescope): Restructure Controller Overlay for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:26:02 +00:00
Collecting
85e24df186
fix(gamescope): Restructure Configure Dialog UI for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:25:05 +00:00
Collecting
7b3ad22711
fix(gamescope): Restructure Configure Dialog UI for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:09:18 +00:00
Collecting
d3f2ce7e7f
fix(gamescope): Restructure About Dialog UI for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:08:34 +00:00
Collecting
0f6049c888
fix(gamescope): Restructure About Dialog UI for Gamescope
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-05 10:08:02 +00:00
Zephyron
f5b9abc77c
Merge pull request 'audio_core: Add Audio Renderer REV12 and REV13 support' ( #85 ) from feature/audio-renderer-rev12-rev13 into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/85
2026-01-03 05:35:02 +00:00
Zephyron
ee95621b47
Merge pull request 'fix(hotkey): unlock framerate hotkey during gameplay' ( #84 ) from fix/ctrl+u into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/84
2026-01-03 05:24:44 +00:00
Collecting
11711f92d9
fix(hotkey): unlock framerate hotkey during gameplay
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-03 05:21:08 +00:00
Collecting
0fffc5ced8
fix(hotkey): unlock framerate hotkey during gameplay
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-03 05:20:01 +00:00
Collecting
23eb437f5a
fix(hotkey): unlock framerate hotkey during gameplay
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-03 05:19:13 +00:00
Zephyron
f1dce2578e
audio_core: Add Audio Renderer REV12 and REV13 support
...
Implements support for Audio Renderer revisions 12 and 13, adding:
- REV12: Splitter biquad filter support with fixed-point coefficients
- REV13: Explicit splitter previous volume reset and compressor statistics
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2026-01-03 15:14:44 +10:00
Collecting
d8c343d5ec
Merge pull request 'fix(fs): race condition in save mirroring during config changes' ( #83 ) from fix/mirroring into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/83
2026-01-03 04:39:43 +00:00
Collecting
3136d2b782
fix(fs): race condition in save mirroring during config changes
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-03 04:38:12 +00:00
Collecting
0b92148362
fix(fs): race condition in save mirroring during config changes
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-03 04:36:21 +00:00
Collecting
8d881b6822
fix(fs): race condition in save mirroring during config changes
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-03 04:32:44 +00:00
Zephyron
2c398023ea
chore: update Vulkan submodules
...
- Vulkan-Headers: 80207f9da -> 450bd2232
- Vulkan-Utility-Libraries: 524f8910d -> 9a3f4105c
- VulkanMemoryAllocator: 2f382df21 -> e722e57c8
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2026-01-02 17:34:19 +10:00
Collecting
f6b8535bef
fix(fs): prevent stack exhaustion in save mirroring recursion
...
- Moved the copy buffer to the heap via std::make_unique.
- Added explicit null-safety and system shutdown checks to mirroring logic.
- Hardened recursion guards during directory traversal to ensure stability.
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-01 21:44:31 +00:00
Zephyron
29e5a963ba
revert 1274fcec3b
...
revert Merge pull request 'feature/texture-component-type-support' (#81 ) from feature/texture-component-type-support into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/81
2026-01-01 21:33:19 +00:00
Zephyron
bf139d1e7f
Merge pull request 'feat(renderer): add CRT shader filter with configurable effects' ( #82 ) from feature/renderer/crt-shader into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/82
2026-01-01 08:23:31 +00:00
Zephyron
efef746299
feat(renderer): add CRT shader filter with configurable effects
...
Add CRT (Cathode Ray Tube) shader implementation as scaling filter
options (CRT EasyMode and CRT Royale) in the Window Adapting Filter
dropdown. Provides classic TV effects including scanlines, phosphor
masks, curvature distortion, gamma correction, bloom, brightness, and
alpha transparency.
- Add CRTEasyMode and CRTRoyale to ScalingFilter enum
- Implement vulkan_crt_easymode.frag shader with single-pass effects
- Integrate CRT filter into WindowAdaptPass rendering pipeline
- Add configurable CRT parameters to settings with user-friendly labels
- Add UI translations for desktop and Android platforms
- Support CRT push constants in present pipeline
The CRT filter appears alongside other scaling filters like FSR and
FSR 2.0. CRT parameter settings are only active when a CRT filter
is selected.
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2026-01-01 18:18:05 +10:00
Zephyron
d8c1cad245
fix(service/nvnflinger): implement GetBufferHistory to prevent game hangs
...
Return empty buffer history list instead of stubbing to allow games to
proceed past loading screens.
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-12-31 16:58:05 +10:00
Zephyron
1274fcec3b
Merge pull request 'feature/texture-component-type-support' ( #81 ) from feature/texture-component-type-support into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/81
2025-12-31 06:13:40 +00:00
Zephyron
aaa565203c
feat(renderer): add BCn unswizzle shader and build improvements
...
- Add block_linear_unswizzle_3d_bcn.comp compute shader for BCn format support
- Update host shaders CMakeLists to include new shader
This adds a new compute shader for BCn format handling.
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-12-31 16:12:36 +10:00
Zephyron
65daba6179
feat(shader): integrate component type into texture pass optimization
...
- Update texture descriptor comparison to include component_type
- Add ReadTextureComponentType helper in texture_pass.cpp
- Use component type when creating texture descriptors
This ensures texture descriptors are properly differentiated by component type.
Co-Authored-By: ForrestMarkX <forrestmarkx@outlook.com >
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-12-31 16:10:48 +10:00
Zephyron
f09951331b
feat(video-core): update shader environment to support texture component types
...
- Add ConvertSamplerComponentType conversion function
- Implement ReadTextureComponentType for Graphics/Compute/File environments
- Update Serialize/Deserialize to include texture_component_types
- Cache component types alongside texture types
This enables proper component type caching and serialization.
Co-Authored-By: ForrestMarkX <forrestmarkx@outlook.com >
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-12-31 16:10:06 +10:00
Zephyron
a53408a758
feat(shader): implement texture component type handling in SPIR-V backend
...
- Add ComponentScalarType helper function
- Update ImageType to use component-specific sampled types
- Add TextureColorResultType and TextureSampleResultToFloat helpers
- Update all texture sampling functions to handle component types correctly
- Add proper type conversions for integer and stencil textures
- Add Flat decorations for integer inputs in fragment shaders
- Add NonWritable decoration for read-only storage buffers
This ensures textures are sampled with the correct component types,
improving accuracy for integer and depth/stencil textures.
Co-Authored-By: ForrestMarkX <forrestmarkx@outlook.com >
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-12-31 16:09:26 +10:00
Zephyron
00421f4ace
feat(shader): add SamplerComponentType enum and infrastructure
...
- Add SamplerComponentType enum to shader_info.h
- Add ReadTextureComponentType to Environment interface
- Add texture_component_types cache to shader environments
- Update texture descriptor to include component_type field
This is the foundation for proper texture component type handling.
Co-Authored-By: ForrestMarkX <forrestmarkx@outlook.com >
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-12-31 16:08:12 +10:00
Zephyron
e166c4aba9
Merge pull request 'video_core: Add ETC2 texture compression format support' ( #80 ) from feature/etc2-texture-compression-support into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/80
2025-12-31 04:57:54 +00:00
Zephyron
db213082e0
Merge pull request 'feat(fs): Cross-Compatible Emulator Save Pathing w/ Custom Save Paths' ( #79 ) from feat/cross-compatible-saves into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/79
2025-12-31 04:36:39 +00:00
Collecting
8aba08322e
feat(fs): Cross-Compatible Emulator Save Pathing w/ Custom Save Paths
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2025-12-31 04:01:30 +00:00
Collecting
43319bde2d
feat(fs): Cross-Compatible Emulator Save Pathing w/ Custom Save Paths
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2025-12-31 04:00:32 +00:00
Collecting
678d6c095f
feat(fs): Cross-Compatible Emulator Save Pathing w/ Custom Save Paths
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2025-12-31 03:59:31 +00:00
Collecting
1ca62a0302
feat(fs): Cross-Compatible Emulator Save Pathing w/ Custom Save Paths
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2025-12-31 03:58:49 +00:00
Collecting
bbd74891fd
feat(fs): Cross-Compatible Emulator Save Pathing w/ Custom Save Paths
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2025-12-31 03:58:00 +00:00
Collecting
63e48d9191
feat(fs): Cross-Compatible Emulator Save Pathing w/ Custom Save Paths
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2025-12-31 03:57:15 +00:00
Collecting
4a81f4ff83
feat(fs): Cross-Compatible Emulator Save Pathing w/ Custom Save Paths
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2025-12-31 03:56:04 +00:00