Antonino Di Guardo
026297334f
Some fixes ( #18686 )
...
### FIXES + MINOR IMPROVEMENTS:
- Fixed issue18685: Not a real issue. PR18648 added some logging that made
evident a missing check on the validity of the paths in `games.yml`
before trying to manage the path as a possible ISO file. That missing
check was already present but simply invisible due to missing log
- Fixed `bytes_to_hex()` function used to store file hash hex string: In
some cases the integrity check wrongly reported the check as failed
- Optimized `fs::get_optical_raw_device()` function: Moved under
`_WIN32` block a check valid only on `Windows` and simplified the logic
to detect a CDROM / BD as raw device
- Used `iso_file` objects instead of `fs:file` in `ISO.cpp`: It allows
to use proper `bool()` operator on some checks
2026-05-07 06:38:57 +03:00
kd-11
4f47fee360
gl: Dirty tracking of interpreter sampler handles
2026-05-06 02:10:14 +03:00
kd-11
9c143d3d45
gl: Use bindless textures for the shader interpreter
2026-05-06 02:10:14 +03:00
kd-11
58eb7d2c04
gl: Implement bindless texture support
2026-05-06 02:10:14 +03:00
kd-11
2bb533274c
gl: Wait for shader compilation to complete server-side before attaching to a program
2026-05-06 02:10:14 +03:00
kd-11
3fc41b6d66
gl: Fix context race condition when preparing optimized interpreter variants
...
- The main thread may bind the program before the compiler context has published the binding instructions
- Once bound, late bindings are not updated so the program remains with uninitialized bindings and rendering breaks
2026-05-06 02:10:14 +03:00
kd-11
c350c02592
rsx: Fix build and silence warnings
2026-05-06 02:10:14 +03:00
kd-11
9dde2bf04e
vk: Skip shader cache load if we're running interpreter only
2026-05-06 02:10:14 +03:00
kd-11
4e160320ef
vk/interpreter: Precompile more variants to avoid ingame stutters
...
- Also temporarily logs a message to make stutters more obvious
2026-05-06 02:10:14 +03:00
kd-11
ca762d5b84
vk: Add extra renderpass API entry to allow generating keys with no images
2026-05-06 02:10:14 +03:00
kd-11
d93f5f9f84
vk: Implement variant recompilation for performance
2026-05-06 02:10:14 +03:00
kd-11
ac28c391f6
vk/interpreter: Implement base pipeline propagation
2026-05-06 02:10:14 +03:00
kd-11
d519571e18
vk: Implement async interpreter builds
2026-05-06 02:10:14 +03:00
kd-11
99e6b19025
gl: C++ things
2026-05-06 02:10:14 +03:00
kd-11
3d6773dd25
vk/pipe-compiler: Allow external definition of graphics properties during async compilation
2026-05-06 02:10:14 +03:00
kd-11
d36a4bd858
vk/interpreter: Separable shader cache for the interpreter
2026-05-06 02:10:14 +03:00
kd-11
26db44b3b3
gl/interpreter: Make use of r-w locking mechanisms
2026-05-06 02:10:14 +03:00
kd-11
a6c3ef350a
vk: Interpreter bringup to restore previous functionality
...
- Get basics working again along with some prep-work for enhancements
2026-05-06 02:10:14 +03:00
kd-11
f3d0c3ba28
gl: Implement async optimized interpreter build
2026-05-06 02:10:14 +03:00
kd-11
97c7d069ac
gl: Disable hard requirement for bindless texture to use the interpreter
...
- I never got around to porting the implementation to use bindless correctly
2026-05-06 02:10:14 +03:00
kd-11
af7ae45888
rsx/gl: Upgrade interpreter model to use a minimal set of reusable pipelines as a base
...
- We generate optimized variants in the background if we have a partial miss
- A full miss is impossible
2026-05-06 02:10:14 +03:00
kd-11
5c4b0a165b
gl/interpreter: Separable shader objects
...
- We use a real cache for separate VS and FS objects
2026-05-06 02:10:14 +03:00
kd-11
af2af23306
gl/interpreter: Implement async variant generation
2026-05-06 02:10:14 +03:00
kd-11
59f54caf08
gl: Strengthen RAII guarantees for some more objects
2026-05-06 02:10:14 +03:00
kd-11
b3ac8127ea
vk: Prebuild base interpreter variants
2026-05-06 02:10:14 +03:00
kd-11
90ea92d93b
gl: Fix crash when closing shader loading dialog
2026-05-06 02:10:14 +03:00
kd-11
f694000454
rsx: Fix shader interpreter variants generation
2026-05-06 02:10:14 +03:00
kd-11
b2daaff29f
rsx/gl: Implement shader interpreter variant precompilation
2026-05-06 02:10:14 +03:00
Vishrut Sachan
d93d9b2c5a
game_list: Fix ISO cache bypass in is_from_yml branch for multi-game ISOs ( #18683 )
...
Fixes regression from #18546 and #18679 .
## Problem
The is_from_yml ISO branch constructed iso_archive unconditionally,
bypassing the cache check inside add_game, making the cache write-only
for yml-sourced ISOs.
## Fix
Added a lightweight index cache entry (iso_path + "//index") storing the
subdir list + mtime. On hit, skips archive construction entirely. On
miss, walks as before and writes the index
2026-05-05 11:14:16 +02:00
xperia64
773808169e
Move multi-game ISO parsing code path to proper location
2026-05-04 06:57:12 +02:00
Haxy
a6fb0c8931
Restore 0.85 compatibility for PS3 Binary Decryption
...
0.85 elfs break here due to them not having a version header offset.
Very unlikely these elfs will ever load but its useful to be able to decrypt them at least.
Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2026-05-03 14:27:10 +03:00
schm1dtmac
155883ea2a
Update MoltenVK and restore Game Mode support (as the relevant MVK regression has been fixed)
2026-05-03 12:38:42 +02:00
Vishrut Sachan
ca87d103fd
game_list: Add multi-game collection support for ISO format discs
2026-05-03 10:14:44 +03:00
Elad
5dd7792c3d
Remove vm_ref.h
2026-05-03 08:03:28 +03:00
Megamouse
a8dd053593
Fix some warnings
2026-04-30 20:41:35 +02:00
Megamouse
66d2bc3dd5
Qt: Add timeouts and abort logic to downloader
2026-04-30 20:41:35 +02:00
kd-11
4e0995744a
vk: Fix shader interpreter
2026-04-30 18:58:08 +03:00
kd-11
80c1c5dd6d
vk: Use bulk allocator for FP and VP constant blocks to reduce wastage
2026-04-30 18:58:08 +03:00
kd-11
91a8c56c37
vk: Use UBO for basic transform constants
...
- Instancing still uses SSBOs, but that's ok. 95% of draw calls are uninstanced anyway.
2026-04-30 18:58:08 +03:00
kd-11
5144a999b3
vk: Use UBO for vertex environment block
2026-04-30 18:58:08 +03:00
kd-11
3b1abec405
rsx/vk: Implement bulk aligned allocator
...
- Avoids wasting space and allows use of natural arrays in shaders
2026-04-30 18:58:08 +03:00
kd-11
8b02f46e67
rsx: Handle edge case where window size falls outside memory range
2026-04-30 18:58:08 +03:00
kd-11
41e6cbbb5a
vk: Fix build on linux CI using outdated SDK
2026-04-30 18:58:08 +03:00
kd-11
ed7f1aa17c
vk: Fix UBO alignment mismatch on fragment constants binding
...
- Fragment constants are of dynamic size, so this isn't totally unexpected.
- NVIDIA GPUs have terrible UBO alignment requirements
2026-04-30 18:58:08 +03:00
kd-11
5839ad9c70
vk: Use UBOs for critical per-fragment data
2026-04-30 18:58:08 +03:00
kd-11
108276c076
vk/data-heap: Implement a caching sliding window buffer view system
2026-04-30 18:58:08 +03:00
kd-11
d1c8073106
rsx: Upgrade SPIRV generation to SPIRV 1.5 for vulkan.
2026-04-30 18:58:08 +03:00
kd-11
46bbbd2056
vk: Fix missing TRANSFER->FRAGMENT barrier for shadowed blocks
2026-04-30 18:58:08 +03:00
kd-11
cbbf52878a
vk: Simplify manual heap flush for shadowed blocks
2026-04-30 18:58:08 +03:00
kd-11
278daddd2a
rsx/util: Add a simple wrapper for simple_array<T>::for_each
...
- Just calls std::for_each behind the scenes but it's a lot more convenient
2026-04-30 18:58:08 +03:00