28198 Commits

Author SHA1 Message Date
lizzie
2fd1d8c34c Arhival notice 2026-02-17 2026-02-16 20:17:05 +00:00
Collecting
659b23d642 feat(ui): Fix .png & .svg rendering issue for game_list / Introduce Play Time editing in Custom Metadata 2026-02-15 20:09:58 -05:00
Collecting
637418dbaf feat(ui): Add Editing of Game Metadata for Custom Icons & Game Titles 2026-02-15 02:02:00 -05:00
Collecting
a56c7a515c revert d493709de9
revert Update externals/CMakeLists.txt

Signed-off-by: Collecting <collecting@noreply.localhost>
2026-02-15 03:29:59 +01:00
Collecting
d493709de9 Update externals/CMakeLists.txt
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-02-15 03:16:14 +01:00
Collecting
d627a08c9b Update externals/CMakeLists.txt
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-02-15 02:55:08 +01:00
Collecting
1a46f96131 revert 57ec0f0a7b
revert Fix duplicate SPIRV-Headers target using patching
2026-02-15 02:41:05 +01:00
Collecting
2036d10c9c fix(SPIR-V): Settings Values 2026-02-14 20:01:45 -05:00
Collecting
57ec0f0a7b Fix duplicate SPIRV-Headers target using patching 2026-02-14 19:06:23 -05:00
Collecting
eb9cc8941e fix(Android): Compilation Issues due to SPIR-V Adjustments 2026-02-14 18:25:42 -05:00
Collecting
475b4fc401 fix(SPIR-V): Re-adjust Setting Enums 2026-02-14 17:56:41 -05:00
Collecting
48f5163431 Add dummy SPIRV-HeadersConfig.cmake for sirit 2026-02-14 17:21:08 -05:00
Collecting
4b4f915d7c Fix duplicate sirit add_subdirectory 2026-02-14 17:11:22 -05:00
Collecting
d3507c2c3a Fix SPIRV-Headers Dependency Order 2026-02-14 17:03:48 -05:00
Collecting
9fbecdf8a7 revert 74bddda9dc
revert fix(compiler): Header Differentiation
2026-02-14 22:56:39 +01:00
collecting
74bddda9dc fix(compiler): Header Differentiation 2026-02-14 16:46:43 -05:00
collecting
57f7999b76 feat(externals): Add SPIR-V Tools to help Optimize Performance 2026-02-14 16:26:43 -05:00
Zephyron
4af75b7544 fix(nvnflinger): exclude overlay layers from frame timing calculation
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2026-02-14 12:20:26 +10:00
Zephyron
5ec6c493f2 fix(shader): use pixel format for texture component type classification
Use the resolved pixel format (IsPixelFormatInteger/SignedInteger)
instead of checking individual TIC component type fields to determine
SamplerComponentType. Inspecting r_type/g_type/b_type/a_type individually
can misclassify textures when unused channels have arbitrary type values
(e.g., BCn compressed or single-channel formats), causing a mismatch
between the SPIR-V image sampled type and the Vulkan image view format
that leads to transparency artifacts on rendered objects.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2026-02-14 11:10:35 +10:00
Collecting
19acc53fb6 Let's try that again
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-02-13 20:29:56 +01:00
collecting
a91c0eec59 fix(MSVC): Rearrange Headers (I keep messing that up) 2026-02-13 14:28:33 -05:00
Collecting
8218f84aa0 Merge pull request 'feat(FS): Add Ability to Read/Use Updates/DLC from External Directories' (#136) from feat/external-update-dlc into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/136
2026-02-13 20:02:30 +01:00
collecting
ab91213423 feat(FS): Add Ability to Read/Use Updates/DLC from External Directories 2026-02-13 20:02:06 +01:00
Collecting
813fe64c0c revert df6ee98a51
revert Merge pull request 'vk_pipeline_cache: Fix unbounded memory growth during shader compilation' (#134) from fix-unbounded-memory into main

Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/134

Needs proper testing, will crash games instead of properly clean
2026-02-12 05:38:28 +01:00
Collecting
0ec9aceccf revert 000f243c82
revert fix(vulkan): Async Presentation & Shader Logic
- Fix race condition in PipelineCache and ShaderPools using std::mutex.
- Fix stutter in Asynchronous Shader Building by properly returning nullptr for unbuilt pipelines (pop-in behavior).
- Modify AcquireNextImage to use MasterSemaphore for safer async presentation.

Needs more testing.
2026-02-12 03:54:36 +01:00
Collecting
fa107b7581 Merge pull request 'fix(vulkan): Async Presentation & Shader Logic' (#135) from fix/async-shader into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/135
2026-02-12 00:09:59 +01:00
collecting
000f243c82 fix(vulkan): Async Presentation & Shader Logic
- Fix race condition in PipelineCache and ShaderPools using std::mutex.
- Fix stutter in Asynchronous Shader Building by properly returning nullptr for unbuilt pipelines (pop-in behavior).
- Modify AcquireNextImage to use MasterSemaphore for safer async presentation.
2026-02-12 00:09:42 +01:00
Collecting
df6ee98a51 Merge pull request 'vk_pipeline_cache: Fix unbounded memory growth during shader compilation' (#134) from fix-unbounded-memory into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/134
2026-02-11 21:21:31 +01:00
collecting
dca10aff6b vk_pipeline_cache: Fix unbounded memory growth during shader compilation 2026-02-11 21:20:57 +01:00
Collecting
dae42407c1 Merge pull request 'feat(shaders): Proper Component Type Handling w/ various types of textures' (#133) from feat/shader-component-type-handling into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/133
2026-02-10 22:58:11 +01:00
collecting
9a8e6a20ca fix(texture): Apply F32 Adjustments for Proper Z-A Rendering 2026-02-10 12:06:54 -05:00
Zephyron
9b7e7b26aa feat(renderer): add BCn unswizzle compute shader
Add block_linear_unswizzle_3d_bcn.comp compute shader for improved
BCn format support. The shader uses GLSL 460 and handles block-space
coordinate conversion for BCn compressed textures.

- Add block_linear_unswizzle_3d_bcn.comp shader
- Update host shaders CMakeLists to include new shader

Co-Authored-By: ForrestMarkX <forrestmarkx@outlook.com>
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2026-02-10 03:09:56 -05:00
Zephyron
f95faaade5 feat(shader): integrate component type into texture pass optimization
Update texture descriptor comparison to include component_type, ensuring
textures with different component types are properly differentiated.

- Add ReadTextureComponentType helper function
- Include component_type in texture descriptor comparison
- Use component type when creating texture descriptors

Co-Authored-By: ForrestMarkX <forrestmarkx@outlook.com>
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2026-02-10 03:09:56 -05:00
Zephyron
9fa9a8056f feat(video-core): add texture component type caching and serialization
Implement texture component type conversion and caching in shader
environments, with full serialization support for shader cache.

- Add ConvertSamplerComponentType using std::bitset for component tracking
- Implement ReadTextureComponentType for Graphics/Compute/File environments
- Add texture_component_types cache to all environment classes
- Update Serialize/Deserialize to include component types
- Cache component types alongside texture types for performance

Co-Authored-By: ForrestMarkX <forrestmarkx@outlook.com>
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2026-02-10 03:09:56 -05:00
Zephyron
46de959188 feat(shader): add SamplerComponentType enum and infrastructure
Add SamplerComponentType enum to classify texture component types
(float, signed int, unsigned int, depth, stencil) and add
ReadTextureComponentType method to Environment interface.

- Add SamplerComponentType enum with constexpr helper functions
- Add component_type field to TextureDescriptor struct
- Add ReadTextureComponentType virtual method to Environment base class

Co-Authored-By: ForrestMarkX <forrestmarkx@outlook.com>
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2026-02-10 03:09:56 -05:00
Zephyron
eb04a096de feat(spirv): implement texture component type handling in SPIR-V backend
Update SPIR-V backend to use component-specific sampled types for
textures, ensuring correct type conversions for integer and depth/stencil
textures.

- Add ComponentScalarType helper function
- Update ImageType to accept component-specific sampled types
- Add TextureColorResultType and TextureSampleResultToFloat helpers
- Update all texture sampling functions to handle component types
- Add output_s32 for signed integer outputs
- Add Flat decorations for integer inputs in fragment shaders
- Add NonWritable decoration for read-only storage buffers

Co-Authored-By: ForrestMarkX <forrestmarkx@outlook.com>
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2026-02-10 03:09:49 -05:00
Collecting
decb26a766 Merge pull request 'fix(vulkan): Combine Lanczos-CRT Constants & Fix MP4 Mountain Jitter' (#132) from fix/jitter/mp4 into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/132
2026-02-10 08:58:41 +01:00
Zephyron
c116f001b5 fix(vulkan): revert query cache FlushBeginTFB order to fix menu freeze
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2026-02-10 17:42:15 +10:00
Zephyron
66ca68a52e perf(vulkan): use double viewport math only when scale < 1
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2026-02-10 17:19:50 +10:00
collecting
48fa6d0e03 fix(vulkan): MP4 Mountain Jitter 2026-02-10 02:03:57 -05:00
Collecting
b04f92eda8 Merge pull request 'fix(macOS): Compiler Issues' (#131) from fix/sigsegv into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/131
2026-02-09 03:19:26 +01:00
collecting
04f2ba8d86 fix(macOS): Compiler Issues 2026-02-08 21:18:18 -05:00
Collecting
00570d4174 Merge pull request 'fix: Race Condition w/ Shutdown Logic' (#130) from fix/sigsegv into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/130
2026-02-09 01:39:11 +01:00
collecting
13e8c06f44 fix: Race Condition w/ Shutdown Logic 2026-02-08 19:08:59 -05:00
Collecting
18a9a4fc94 Merge pull request 'fix/feat: Introduce CAS & Add Dynamic Slider Viewing for Toggled WAF's, and remove Android ASTC visibility on PC' (#129) from fix/feat/cas-sliders into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/129
2026-02-05 09:02:22 +01:00
collecting
37dd2fddc4 fix/feat: Introduce CAS & Add Dynamic Slider Viewing for Toggled WAF's, and remove Android ASTC visibility on PC 2026-02-05 02:57:28 -05:00
Collecting
29fcea0537 Merge pull request 'fix: Icon Blurriness & add Citron Logo' (#127) from fixup/icon-game-load into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/127
2026-02-05 04:01:15 +01:00
collecting
9443737034 fix: Icon Blurriness & add Citron Logo 2026-02-04 21:59:51 -05:00
Collecting
43326b89e7 Windows Header Ordering
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-02-05 02:53:16 +01:00
Collecting
bc3cd4c639 Fix MSVC & macOS compiler issues
Signed-off-by: Collecting <collecting@noreply.localhost>
2026-02-05 02:25:38 +01:00