Commit graph

19332 commits

Author SHA1 Message Date
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
MarkosTh09
4f23f5505a fix minor issues with rpath logic 2026-05-05 09:47:20 +09:00
MarkosTh09
69bc124930 add /opt/homebrew to prefix path instead
Append to `CMAKE_PREFIX_PATH` and `CMAKE_SYSTEM_PREFIX` instead of using `include_directories()` and `link_directories()`.

This avoids include/link path
pollution and reduces clashes with vendored dependencies. This means that conflicting homebrew packages no longer have to be unlinked to build rpcs3, as system paths are searched last.
2026-05-05 09:47:20 +09:00
MarkosTh09
056a8ba1b1 macos: hack to fix homebrew rpath issues 2026-05-05 09:47:20 +09:00
Megamouse
350e7b09f5 Update SDL to 3.4.8 2026-05-04 18:18:32 +02:00
Megamouse
1899b61fa5 Update FAudio to 26.05 2026-05-04 18:18:32 +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
e8cd6f4ef6 Win: Update ffmpeg to 8.1 2026-05-02 08:24:33 +02:00
schm1dtmac
b6ed4201df Correct the MVK build config 2026-05-01 05:38:31 +02:00
Megamouse
c25e3e33ac Update curl to 8.20.0 2026-04-30 20:41:35 +02: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
d773a3f94e ci: Bump docker version and use rpcs3 dropbox URL for vulkan SDK 2026-04-30 18:58:08 +03: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