Commit Graph

19396 Commits

Author SHA1 Message Date
Malcolm
a87d175295 SPU LLVM: Retry ARM64 TBL2 register scavenger failures
- Some SPU programs inexplicably fail to compile when TBL2/TBX2 are used.
- As an insane workaround, first try to compile with TBL2/TBX2, if LLVM crashes while compiling, try to compile the same program without TBL2/TBX2.
2026-05-27 02:46:11 +03:00
Malcolm
dff29a7864 PPU/SPU LLVM: Use arm shuffles in recompilers instead of emulating x86 pshufb
> - SHUFB from 9 instructions down to 5
> - Though it should be 4 if LLVM would just emit BCAX...
2026-05-27 02:46:11 +03:00
Megamouse
dd81c92a02 Fix compilation on VS 2026 2026-05-24 21:05:29 +02:00
Megamouse
64ba0dd5e6 Update windows runners to visual studio 2026
Maybe this fixes current build issues...
2026-05-24 21:05:29 +02:00
Windsurf7
0a5b88ac38
Fix non-numerical numpad keys input binding (#18761) 2026-05-22 14:13:37 +02:00
Megamouse
f63a34dcc2 Try to fix libusb includes 2026-05-22 09:14:16 +03:00
Megamouse
d8710c431d Fix named_thread_group constructor
m_count - 1 could underflow
2026-05-22 09:14:16 +03:00
Megamouse
67464f97df Qt: only allow removal of firmware cache while emulator is stopped 2026-05-20 22:26:08 +02:00
Megamouse
190378bc33 Qt: fix batch progress bar value
It was always one too early
2026-05-20 22:26:08 +02:00
Megamouse
da599f7286 Fix localization of anaglyph_settings_dialog 2026-05-20 22:26:08 +02:00
Megamouse
73c8c270a6 Fix USIO log spam 2026-05-20 22:26:08 +02:00
Elad
d7da6a713b RawSPU: Implement 16-bit and 8-bit read MMIO 2026-05-20 20:44:24 +03:00
Megamouse
6a2ad0a0aa sys_usbd: enable windows hotplug 2026-05-20 18:10:01 +02:00
Megamouse
84b61e3850 Update libusb to 1.0.30 2026-05-20 18:10:01 +02:00
Malcolm
7e436f9bf1 SPU LLVM: Optimize SPU multiplies for ARM
- Saves 2 instructions in MPY, 1 instruction in MPYU, 2 instructions in MPYS, 2 instructions in MPYA, 1 instruction in MPYI, and 2 instructions in MPYUI
2026-05-20 10:54:13 +03:00
Radu13
2613d7eee7
Do not append install dir for content type theme PKGs (#18765) 2026-05-19 20:11:44 +02:00
Megamouse
55e17ccd3b Update Qt to 6.11.1 2026-05-18 22:05:33 +02:00
Megamouse
f368a56c66 Update openal to 1.25.2 2026-05-18 22:05:33 +02:00
RipleyTom
79cb35daa6
Fix ethernet addr in offline mode (#18756) 2026-05-18 14:14:41 +03:00
qurious-pixel
b0c1791a0c Restore .DirIcon 2026-05-18 08:29:34 +02:00
Malcolm
61a2604824 SPU LLVM: Inline reading/writing the decrementer for ARM too
- Try switching to llvm's readycyclecounter, which should map to rdtsc on x86 too.
2026-05-17 02:26:42 +03:00
Gustavo Graziano
08c926622d
Visual improvements to Windows 11 Themes (#18745) 2026-05-16 18:04:15 +02:00
Megamouse
b533a560e6 input: move keyboard stick value buffers to pad
This should improve stick input when using the keyboard for 2 players.
2026-05-15 07:10:40 +02:00
Megamouse
e4a49cd425 input: only copy back necessary values in keyboard_pad_handler::process
Profiling has shown that copying both containers took longest.
2026-05-15 07:10:40 +02:00
Megamouse
fdce82fc24 input: Use smaller external structs for button and stick access outside of the pad_thread
This needs less memory and hides unwanted members from client code.
2026-05-15 07:10:40 +02:00
Megamouse
5f00b87a44 Move bit_set to new file 2026-05-14 17:12:25 +02:00
Megamouse
53180b8141 Add bit_set unit test 2026-05-14 17:12:25 +02:00
Megamouse
4cc0e4c7fc spu_recompiler: Initialize members 2026-05-14 17:12:25 +02:00
Megamouse
46364856ae Remove unused variable 2026-05-14 17:12:25 +02:00
Megamouse
f5c420994d Add unsafe bit_set access for obvious cases 2026-05-14 17:12:25 +02:00
Megamouse
c5ee48f54a Harden bitset access 2026-05-14 17:12:25 +02:00
Gustavo Graziano
6f50f0854f
I made some improvements to my theme to make it better (#18732) 2026-05-14 14:05:39 +02:00
Elad
53d76db753
SPU: More UB fixes 2026-05-14 13:21:23 +03:00
Elad
c860aa2107 SPU Analyzer: Fix initiate_patterns function 2026-05-14 10:42:20 +03:00
Elad
a545fe92a0 SPU: Log Mega SPU programs properly 2026-05-14 10:42:20 +03:00
Elad
ee436307cf SPU Update 2026-05-14 10:42:20 +03:00
Elad
33016742f1 SPU: Fix CPU usage of spu_channel on BE configuration 2026-05-14 10:42:20 +03:00
Malcolm
320e8d634a SPU LLVM: Workaround bad LLVM codegen for FCGT on AARCH64
- LLVM was emitting a nasty sequence for select instead of just using BSL, so let's try using inline assembly.
2026-05-13 15:20:39 +03:00
kd-11
e52b6ecbbf rsx: Typo fix for pipeline reload hint
- Fragment state just reloads some constant buffers.
- Fragment program state recalculates the program.
- This is overkill for a variant reload, but that can be optimized later.
2026-05-13 11:43:32 +03:00
kd-11
a4712a283f C++ things 2026-05-13 11:43:32 +03:00
kd-11
6da3021158 rsx: Make emulated Z operations compatible with MSAA 2026-05-13 11:43:32 +03:00
kd-11
0064ecb85b gl: Implement emulated Z comparison support 2026-05-13 11:43:32 +03:00
kd-11
1d71854c7f rsx/qt: Add depth compare emulation to the advanced tab 2026-05-13 11:43:32 +03:00
kd-11
a9be80da6f rsx/vk: Implement software Z-buffer comparison
- Useful for scenarios where desktop precision is too high
2026-05-13 11:43:32 +03:00
capriots
2387af0854 cellDmux: fix state check 2026-05-13 07:19:09 +03:00
Phil Coulson
021f16f775 rsx: Fix swapped width/height in NV309E_SET_FORMAT decoder 2026-05-12 19:39:05 +03:00
schm1dtmac
fb1c1eeaef
[System] Fix restart-loops upon restart-then-quit (#18723)
I observed under macOS (although the bug seems platform agnostic to me)
that when restarting a game, then subsequently quitting it, I'd get
stuck in a 'restart loop' where the game would restart upon completely
shutting down, and this would repeat every time I tried to close the
game until I gave up & force quit RPCS3. Seems like for whatever reason,
the use of std::move didn't actually guarantee that after_kill_callback
got nuked if at all, so all I've done is take a hammer to the fucker and
manually set it to nullptr after being called.

Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2026-05-11 17:00:45 +00:00
Edwin Jarvis
6fa7efbcc3 cellMusic: Fix shuffle always producing the same order
The shuffle in step_track() used std::default_random_engine with a
default (fixed) seed, causing the playlist to be 'shuffled' into the
same deterministic order every time. Use std::random_device to seed the
engine so each shuffle produces a genuinely random order.

Fixes #18672
2026-05-11 12:16:03 +03:00
Edwin Jarvis
c534da86c3 gui: Remove close button from Game List dock widget
Users frequently close the game list accidentally and then can't
figure out how to restore it. Remove the DockWidgetClosable feature
so the close button is not shown. The game list visibility can still
be toggled via View > View Game List menu action.

Fixes #18518
2026-05-11 11:26:40 +03:00
Antonino Di Guardo
6b5a2f781a
ISO: Fix missing read of remaining chunk of data on next extent, if present (#18706) 2026-05-10 16:59:15 +00:00