Commit graph

19254 commits

Author SHA1 Message Date
Mack Core
ed02f3a2ce
RSX: workaround for color/depth aliasing heurestic edge case failures (#18644)
The color/depth alias collapse heuristic at get_framebuffer_layout()
picks depth whenever depth_test_enabled or stencil_test_enabled is set.
But test means read, not write - so deferred renderers that run a
Z-prepass and then a G-buffer pass with depth-test ON, depth-write OFF,
color-write ON get classified as a depth pass even though they're
writing color. The color writes get silently dropped.

In Starhawk this killed every lit surface - characters, skybox, anything
that goes through the deferred lighting path rendered black or
invisible. Terrain, particles, and emissive geometry kept working
because they don't go through that same pipeline.

Fix is to check writes instead of tests:

    if (zeta_write_enabled && !color_write_enabled)
        keep_as_depth();  // Z-prepass, shadow gen
    else
        keep_as_color();  // G-buffer / lit pass

For the both-writes case I went with color since losing color is much
more obvious visually than losing depth (the engine's Z-prepass usually
still has the depth around).

Tested with Starhawk [BCUS98181] in menu and gameplay - before: missing
characters and sky. After: matches PS3 reference. Logged every aliasing
event during a couple minutes of gameplay and they were all the G-buffer
pattern (depth-test ON, depth-write OFF, color-write ON), all handled
right. The depth-keep branch wasn't actually exercised in Starhawk, but
it's there for games that do use a Z-prepass to an aliased buffer.

Fixes #11877.
2026-04-27 21:59:45 +02:00
score3229
7028e85fac RSX Debugger: populate Captured Draw Calls list
The constructor inserted rows into m_list_captured_frame for the command queue but never did the same for m_list_captured_draw_calls. GetMemory()'s setItem() loop for draw calls then no-op'd on missing rows, so the Captured Draw Calls tab always appeared empty after a frame capture.
2026-04-27 07:16:29 +03:00
capriots
96f73f4497 cellVdec: fixup 2026-04-25 19:51:09 +03:00
capriots
3ff4f188f4 cellVdec: fixup 2026-04-25 18:52:40 +03:00
capriots
61e1c0f1fb cellVdec: reimplement cellVdecQueryAttr() 2026-04-25 15:48:50 +03:00
capriots
631e7ef979 Stub video decoder modules 2026-04-25 15:48:50 +03:00
Elad
7dce197ec4 sys_spu: Fix sys_isolated_spu_create 2026-04-25 08:16:32 +03:00
Haxy
9e0824112f Fix checks for flash device aliases 2026-04-25 07:43:17 +03:00
Daniel Risto
e1734b51c3 Remove redundant Apple ARM64 ifdef blocks
The Apple ARM64 code paths are now identical to the generic case,
so the ifdef blocks are unnecessary.
2026-04-24 20:15:41 +03:00
Daniel Risto
4cac76caad Fix race condition in memory_decommit/memory_reset on Apple ARM64
The previous approach used munmap followed by mmap without MAP_FIXED
(since Apple rejects MAP_FIXED | MAP_JIT). Between the two calls,
another thread could claim the unmapped address range, causing mmap
to return a different address and triggering a fatal verification error.

Under concurrent load (e.g. PPU LLVM compilation with many worker threads),
this race manifests reliably as "Verification failed (object: 0x0)" crashes
across all PPUW threads in memory_decommit.

Fix: Use MAP_FIXED without MAP_JIT instead. This atomically replaces the
mapping without any window for other threads to interfere. The MAP_JIT
attribute is lost on the replaced pages, but the application's code signing
entitlements (allow-unsigned-executable-memory, disable-executable-page-protection)
permit executable mappings without it.

Applied the same fix to memory_reset which had the identical pattern.
2026-04-24 20:15:41 +03:00
Kravickas
077f2a73e1
Add clickable PR links in update changelog (#18465)
Replaces the plain text "Show Details" changelog in the update dialog
with a QTextBrowser that converts PR references like (#1234) into
clickable GitHub links.

**Why? :** Easy to check PRs you are interested in beyond the title.
2026-04-24 16:37:17 +00:00
kd-11
a60734e27b gl: Fix crash when renderdoc compatibility is enabled on some hardware 2026-04-24 15:00:27 +03:00
kd-11
3574677b66 rsx: Fix deswizzle of wide texel formats 2026-04-24 15:00:27 +03:00
zeph
b3cc01387f Clans: PPU thread sleeping while making API calls
Signed-off-by: zeph <zephyrzefa15@gmail.com>
2026-04-23 13:31:01 +03:00
Antonino Di Guardo
e26c80c129
Add ISO integrity check 2026-04-22 15:06:02 +02:00
Elad
80b6faef10 SPU Analyzer: Add some logging 2026-04-22 09:59:14 +03:00
Elad
7d0df300ea SPU LLVM: Fix RCHCNT write channel looping 2026-04-22 09:59:14 +03:00
Elad
1ca8ab393a sys_fs: Fix O_CREATE and O_TRUNC for BDVD 2026-04-21 15:43:41 +03:00
Caleb
3cca094d2d
Enhance FAudio backend error handling and initialization processes (#18614) 2026-04-21 08:32:58 +00:00
digant73
a088b18e95 Add missing default setting after settings rework 2026-04-21 00:50:05 +02:00
digant73
e5af69d7b2 Add recursive scan support 2026-04-20 22:04:54 +03:00
Megamouse
814821d760
SPU LLVM: Fix unused variable warnings
- Remove unused block_optimization_exit_early
- Pass mod_val instead of value
2026-04-20 14:12:18 +00:00
Megamouse
7a8c88056a Qt: make emu_settings_type cfg_location dynamic 2026-04-19 22:51:13 +02:00
Megamouse
b6b043b23d qt: remove unused emu_settings_type 2026-04-19 22:51:13 +02:00
Megamouse
c5db9899e4 cfg: remove redundant prefix from variable names 2026-04-19 22:51:13 +02:00
qurious-pixel
081c094c5a
Improve Mac Translation download (#18598)
Switch from API to direct download.
Fixes 403 error code.

jammy-aarch64 needs `unzip` from universe in the Dockerfile.

eg:
```
add-apt-repository universe
apt update -qq
apt-get install -y unzip
```

Fixes https://github.com/RPCS3/rpcs3/issues/18560
2026-04-19 20:42:31 +02:00
digant73
b6c8374aa5 Fix region range check on ISO file 2026-04-19 19:23:37 +03:00
Megamouse
06a6880c6c Qt: Allow to compare configurations in gamelist context menu 2026-04-19 16:21:41 +02:00
Megamouse
bd5c10fd48 Fix database config application in continuous mode 2026-04-19 15:25:57 +02:00
Megamouse
d3804de243 Loader: try to retrieve database config if not booted through the UI 2026-04-19 15:25:57 +02:00
Megamouse
36cd81fb5f Log url of downloader 2026-04-19 15:25:57 +02:00
Megamouse
7a4d7aa936 Improve quit logging 2026-04-19 15:25:57 +02:00
Megamouse
aff082e0c1 version_check: fix formating of result output 2026-04-19 15:25:57 +02:00
Megamouse
2b144101ab Update libpng to 1.6.58 2026-04-19 15:25:57 +02:00
digant73
d4b7c31ec8 Allow to skip optional packages installation
minor cleanup

minor cleanup
2026-04-19 14:38:48 +02:00
oltolm
6c9445ff28 cmake: do not disable "WOLFSSL_HARDEN" and fix build with latest WolfSSL 2026-04-19 13:10:25 +02:00
Megamouse
2d6ca912fe Qt: fix regular boot without database config 2026-04-18 17:57:11 +02:00
digant73
3b9cc0bc3a fix wrong folder creation 2026-04-17 00:48:27 +02:00
Megamouse
88175aa84f Check for unknown keys during config validation 2026-04-16 21:28:34 +02:00
Elad
a7c606c8ac sys_fs: Add unit tests 2026-04-16 11:04:37 +03:00
Elad
48acbbe4f5 sys_fs: Reimplement path analysis 2026-04-16 11:04:37 +03:00
schm1dtmac
b729772041 Try building MVK 1.4.2 privapi instead of DLing 1.4.1 privapi prebuilt 2026-04-16 03:08:31 +02:00
Megamouse
ea0d8a0d78 Qt/input: fix mouse button names
I tested the last PR with an older commit and thought it worked.
2026-04-16 02:10:41 +02:00
Megamouse
e79f56bfdc Qt: put Custom Config with Database Settings first 2026-04-16 01:18:05 +02:00
Megamouse
a543f38704 linux/macOs: update compat_db and config_db on update 2026-04-16 01:18:05 +02:00
Megamouse
1cdc401cc5 Use database per default, remove global 2026-04-16 01:18:05 +02:00
Megamouse
50d6396f99 implement config db 2026-04-16 01:18:05 +02:00
Megamouse
7d41bbdd2b Fix Disk Usage thread 2026-04-15 13:05:54 +02:00
Megamouse
d53a6a87f6 Update wolfssl to 5.9.1 2026-04-15 13:05:54 +02:00
Megamouse
1e63385dfc Update libpng to 1.6.57 2026-04-15 13:05:54 +02:00