Commit Graph

3847 Commits

Author SHA1 Message Date
georgemoralis
fb48bcf979
Merge branch 'main' into user_and_settings 2026-03-09 18:11:44 +02:00
Stephen Miller
85476e55ea
Recompiler: Implement IMAGE_ATOMIC_CMPSWAP (#4109)
* To implement ImageAtomicCmpSwap

...but it doesn't work, so here it shall stay.

* a fix

* Clang

* Add to MayHaveSideEffects

I missed this while digging through IR code.
2026-03-09 18:02:22 +02:00
TheTurtle
df6bb8562e
renderer_vulkan: Force subgroup size to 64 when possible (#4111) 2026-03-09 17:46:51 +02:00
TheTurtle
e16ba06ab0
shader_recompiler: Support 32 thread sharing mode (#4110) 2026-03-09 17:33:58 +02:00
kalaposfos13
0579569f13
Improve signal emulation (#4108)
* improve signal emulation

* make the sce function use the new posix ones

* ifdefing away the issues

* fix me being very tired yesterday night

* let macOS handle SIGRT signals with the native sigaction call instead of an early error return

* windows still has no clue what the fuck is going on

* the loathsome clang-formatter

* fix oact

* return the guest handler, not the host one

* Clear any existing signal mask for game threads.

* don't rely on implementation specific things

* Fix Windows support and sceKernelRaiseException bug

* Review suggestions

@kalaposfos13 suggested I push these.

---------

Co-authored-by: Stephen Miller <56742918+StevenMiller123@users.noreply.github.com>
2026-03-09 14:20:14 +02:00
kalaposfos13
eca4ef2665 thank you shadow :torrac: 2026-03-09 13:14:46 +01:00
kalaposfos13
7fe034f3ca hook up the new backend's lightbar colour values
This temorarily breaks override_controller_color, but that already only worked correctly with one gamepad anyway.
2026-03-09 13:11:47 +01:00
kalaposfos13
d0580a11fa Revert conditionally omitting the initial user login event until the exact trigger requirements are found 2026-03-09 09:52:45 +01:00
Stephen Miller
cc6af03adf
Lib.SysModule: Proper HLE implementation (#4102)
* Replace sysmodule enums with table

Dumped this from the 12.52 module, using a script I created.

* Better documentation

* Separate from system libraries

That system folder is going to be getting quite large if I left all the sysmodule stuff in there.

* More arrays from library

* Found another preload list

Ghidra really hates decompiling libSceSysmodule, so I didn't notice this one at first.
Also documented specific versions tied to each preload list.

* Start work on implementation

* Some basic implementations

* Initial stub for module loading

Just enough to see if the logic functions appropriately.

* Clang

* sceSysmoduleLoadModule

Now I need to get sceSysmodulePreloadModuleForLibkernel done so that we don't have bugs from not loading internal LLEs.

* sceSysmoduleLoadModuleInternal

* sceSysmodulePreloadModuleForLibkernel

I have successfully broken quite literally everything.
I shall debug this tomorrow.

* Slight fix

* Maybe fix?

* Change log

Enjoy the log spam 😄

* Increased defined stub count

Now that libc and libSceLibcInternal loads later, all the auto stubs are getting consumed by it.

* sceSysmoduleUnloadModule stub

Also a couple fixes. Sysmodule does pass argc and argv to game modules, but only after loading them once to check  binaries.
Shouldn't matter for the most part.

* Clang

* Less stubs

2 thousand is seemingly enough.

* sceSysmoduleLoadModuleInternalWithArg

Doesn't hurt to have, since Apex Legends calls it.

* Oops

* Oops 2

* Rename isModuleLoaded to getModuleHandle

Review comment

* Remove debug game module loads

These cases only trigger when specific sceRegMgr key values are set, and for our purposes, we can treat that case as false.

* Allow preloading to fail

For kalaposfos

* Clang
2026-03-08 21:48:03 +02:00
kalaposfos13
54efbcecc5 I missed this call before apparently 2026-03-07 14:43:34 +01:00
kalaposfos13
44276b1032 Make the initial user list be 4 users instead of one 2026-03-07 10:02:59 +01:00
kalaposfos13
5c818df257 continue new user backend integration into the input code 2026-03-07 09:41:23 +01:00
kalaposfos13
b296b6b69d implement support_initial_user_logout attribute handling 2026-03-07 09:05:00 +01:00
Stephen Miller
014b11e9da
Return an empty certificate (#4104)
This is enough to get past initialization checks in Rise of the Tomb Raider.
2026-03-07 09:15:32 +02:00
georgemoralis
50d5ce9a83
fixed an issue in sceKernelRemoveExceptionHandler (#4086)
* fixed an issue in sceKernelRemoveExceptionHandler

* fixed comment
2026-03-07 08:55:17 +02:00
georgemoralis
b20f3a9ceb
Merge branch 'main' into user_and_settings 2026-03-06 09:01:36 +02:00
Pavel
89e74828e6
fixup r128 (#4100) 2026-03-05 22:44:37 +02:00
georgemoralis
bb7ccde743 clang? 2026-03-05 14:32:17 +02:00
georgemoralis
75229eebe5 probably fix preserve old keys 2026-03-05 14:30:59 +02:00
georgemoralis
cecd98aa28 reset my latest try 2026-03-04 22:08:46 +02:00
Ultra
e121b228ea Clang and Copyright© year (#4099)
* copyright year + clang :)

* clang

* that did it hopefully?
2026-03-04 22:06:33 +02:00
georgemoralis
eb7118e6da try not to erase old settings 2026-03-04 22:06:27 +02:00
kalaposfos13
feba8a8ffd LLE libSceMoveTracker (still doesn't work, but at least it doesn't crash on boot either) 2026-03-04 17:12:32 +01:00
Miller
7ba8f046ec Merge branch 'malloc_init_heap_api_lle' into user_and_settings 2026-03-04 10:06:51 -06:00
Stephen Miller
a019aeee4d
Merge branch 'shadps4-emu:main' into malloc_init_heap_api_lle 2026-03-04 10:05:17 -06:00
kalaposfos13
8f3e3c2a69 Fix scePadOpen error returns and decouple pad handles from user IDs 2026-03-04 16:36:50 +01:00
Ultra
a595661d98
i love clang (#4098)
* clang emulator_settings.h

* Update np_manager.cpp

* Update userservice.cpp

* Update user_manager.h
2026-03-04 14:40:53 +02:00
georgemoralis
1ad9276e8a added merged strategy for user.json 2026-03-03 19:27:31 +02:00
kalaposfos13
9a487010d7 fossilised code elimination 2026-03-03 15:07:26 +01:00
kalaposfos13
83ad83c8ef reorganization + don't rebuild everything on changing the user manager + save user manager state on setter functions 2026-03-03 14:38:59 +01:00
kalaposfos13
d20df93f31 Finish users.json migration 2026-03-03 14:30:51 +01:00
georgemoralis
fefa647e1e ... 2026-03-03 14:13:09 +02:00
georgemoralis
47318e60b9 draft user_settings 2026-03-03 14:12:24 +02:00
kalaposfos13
296cab2129 Fix getting default user 2026-03-03 11:45:12 +01:00
kalaposfos13
8f97ebcf2c 💀 2026-03-03 11:25:56 +01:00
kalaposfos13
7c9e69dd22 LLE PadTracker even though it doesn't actually work 2026-03-03 11:05:03 +01:00
kalaposfos13
6c5c76d46b we like to watch the user Move it Move it with a Camera 2026-03-03 11:02:32 +01:00
kalaposfos13
b1bf54727e we like to Move it Move it 2026-03-03 10:45:34 +01:00
georgemoralis
54906660c7
Merge branch 'main' into user_and_settings 2026-03-03 09:13:22 +02:00
georgemoralis
14450d330f
CopyImage stencil fixes (#4095)
* stencil fixes hope it fixes driveclub

* revert image copy to the one that had driveclub worked

* reverted texture cache change

* some more fixes and reverts

* added logging for overlap again
2026-03-03 08:52:12 +02:00
kalaposfos13
d9285ae875 clang-format-19 != clang-format-21 2026-03-02 21:04:09 +01:00
kalaposfos13
d92d55923b possibly the biggest clang-format commit in shadPS4 so far 2026-03-02 20:37:10 +01:00
kalaposfos13
111f893f97 code golfing 2026-03-02 19:51:32 +01:00
Stephen Miller
1f5430e4c2
More targeted fix (#4096)
Cyberpunk's issue seems to actually come from the incrementing in the loop. It wasn't clear while debugging, but the problem is that the pattern the game supplies causes match to fail when str_wild_it hits the end, and then tries iterating past end due to the loop condition.
Our pattern matching code seems broken for the case Cyberpunk triggers, but since I'm not aware of the intricacies of how real hardware behaves, best to just revert the loop condition change and instead break the loop before the broken iteration.
2026-03-02 20:35:58 +02:00
kalaposfos13
6c81ae571f Initial logic for config migration 2026-03-02 19:34:54 +01:00
Niram7777
fc949a7449
CI wget linuxdeploy retries (#4093) 2026-03-02 20:32:28 +02:00
kalaposfos13
903af7a548 removed old config backend 2026-03-02 19:15:45 +01:00
kalaposfos13
4f323892cd me and clang are not friends 2026-03-02 18:19:15 +01:00
kalaposfos13
a1451ab0a5 Merge remote-tracking branch 'origin/main' into user_and_settings 2026-03-02 18:16:26 +01:00
kalaposfos13
60b051a74c actually make game specific configs load and fix the issue with autosave 2026-03-02 17:59:04 +01:00