4099 Commits

Author SHA1 Message Date
Stephen Miller
25287fb00b fix (#4716) Pre-release-shadPS4-2026-07-15-25287fb00bdac1a468ec14d909e6ec5e22df7b3c 2026-07-15 20:23:26 +02:00
kalaposfos13
2c9caf6bfb Don't load HLE libraries if they're force-LLEd (#4710)
* Don't load HLE libraries if they're force-LLEd

* remove nonexistent posix lib

* libScePlayGoDialog

* uljobmgr.sprx

* libSceGnmDriverForNeoMode

* this is way too much effort for something that likely won't be relevant by the time LLE gnmdriver starts being feasible

* we format clang here, sir
Pre-release-shadPS4-2026-07-14-2c9caf6bfbe7e1dc7a1b4565af8d84c56469dd56
2026-07-14 13:57:38 -05:00
Stephen Miller
c07e757ddb Lib.Kernel: Check to ensure heap_api is valid before running heap mallocs in TlsGetAddr (#4709)
* Check to ensure heap_api is valid before running heap mallocs in TlsGetAddr

* Obligatory clang commit

* Linux
2026-07-14 19:21:38 +03:00
Harshal Joshi
6d37f61a4d Fix shader cache invalidation caused by struct padding memcmp(Fixes #4645) (#4704)
* Fix shader cache invalidation caused by struct padding memcmp

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Harshalj2108 <harshalj.2608@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-14 09:57:46 +03:00
georgemoralis
16b708df85 Openal Fixes (#4686)
* spatial openal support

* sceAudio3dAudioOutOutput is now non-blocking.

* objects now play on their own OpenAL sources

* objects are now actually spatialized, POSITION and SPREAD

* Fixed ConvertS16Std8CH remap

* enable HRTF if available

* Added OrbisAudio3dPassthrough support

* LATE_REVERB_LEVEL through EFX reverb

* reduced logging spam

* added direct soft channels

* tried to fix low sound

* resampling

* more try to fix low q

* improved sound volume control

* improved bed multisampling

* some corrections based on RE

* added output mode to select openal configuration

* accurate downmix

* fixed sdl

* added native surround bed

* implemented speaker arrays,async no-block and spread radius

* fixup

* oh com on

* cleanup
2026-07-14 09:35:18 +03:00
junminlee2004
1f407a41bd shader_recompiler: GCN thread mask accuracy fix (GR2 Grass Fix) (#4675)
* shader_recompiler: Preserve per-lane view of thread masks spilled via v_writelane/v_readlane

* shader_recompiler: Mask V_CMPX EXEC and VCC/SDST writes by prior EXEC

* translate: Collapse the duplicated bodies through the helper

* shader_recompiler: Split mask-lane variable key into VectorReg + lane operands

* Add files via upload

* Update with concise comments

* add asserts in read/writelane inside the if(immediate) that its < 64

* shader_recompiler: Restrict mask-lane shadow to the low half of thread masks
2026-07-14 08:50:11 +03:00
Stephen Miller
fe9d12e08f Add SDK check for vdec2 usage (#4707)
With firmware 5.50, the vdec1 decoder (software type) was disabled, and the default changed to the vdec2 decoder (software2 type).
2026-07-14 08:20:34 +03:00
NotAnEnergyDrinkAddict
e9f15c36a7 Move asm to unit file (#4706)
`__attribute__((used))` is needed to prevent lto from vanishing `_sceFiberForceQuit` symbol into orbit
2026-07-13 23:59:31 +03:00
squidbus
3d03375a5b video_core: Require robustness2 and remove null buffer/image workarounds (#4701) 2026-07-13 23:23:49 +03:00
squidbus
373cbb3745 texture_cache: Add sampler garbage collection (#4700) 2026-07-13 21:42:40 +03:00
Harshal Joshi
ec33490460 Fix logic inversion in save data mount null checks (#4703)
Co-authored-by: Harshalj2108 <harshalj.2608@gmail.com>
2026-07-13 21:29:16 +03:00
Harshal Joshi
d2a7f7e288 fix: null dereference in internal__Foprep on file exhaustion (#4702)
Co-authored-by: Harshalj2108 <harshalj.2608@gmail.com>
2026-07-13 14:40:46 +03:00
Stephen Miller
4e909d3b8e Core: code patches for cmp and xor instructions involving the TCB (#4624)
* handle cmp instructions involving fs:[0]

These are seen in PeacockTV.

* Refactor TCB access code into a new function

Since there's a third operation I need to do this for, split the actual getting TCB values into a separate static function, then call that whenever we need to generate a tcb access.

* handle xor instructions involving fs:[0]

Needed for updated versions of Roblox. Also refactored the array a bit by introducing a static bool so we don't need to repeat the same ifdef mess for every operation that needs this.

* Oops

* Oops2

* Set scratch reg to rbx if rax is in use.

* Update src/core/cpu_patches.cpp

Co-authored-by: squidbus <175574877+squidbus@users.noreply.github.com>

* Update src/core/cpu_patches.cpp

Co-authored-by: squidbus <175574877+squidbus@users.noreply.github.com>

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
Co-authored-by: squidbus <175574877+squidbus@users.noreply.github.com>
2026-07-13 14:24:37 +03:00
Al Jibran
3aef2190ca Fix flaky GCN tests (#4693)
fix: flaky tests due to uninitialized values
fix: segfault during teardown while running gcn tests

fix: vulkan validation error by enabling shaderFloat16 in GCN runner
2026-07-13 09:18:35 +03:00
georgemoralis
cf3bb346bf Improvements on shadnet reachabilty (#4691)
* disconnect on srv offline and protocol change

* fixes for macOS
2026-07-10 08:54:26 -05:00
kalaposfos13
bffa4d1b63 LLE libSceAt9Enc (#4688)
* LLE libSceAt9Enc

* readme
2026-07-09 22:45:19 +03:00
Stephen Miller
ff253dafe1 Fix heap_api checks (#4690)
* Fix check for heap_malloc

libkernel checks to see if heap_api's heap_malloc is present before calling it. In some homebrew and firmware apps, heap_api doesn't get provided, and heap_malloc can be null.

* Actual fix

One leftover line from some removed hacks was breaking the heap_api stuff.
2026-07-09 20:14:58 +02:00
Stephen Miller
aa18760e5e Avoid storing lambda as a local variable (#4687)
Parameters to the TryWriteBacking call were getting corrupted during async texture downloads after #4593
2026-07-08 20:17:49 +03:00
metr1k-91
48f4bf889e MatchingP11 (#4683)
* MatchingP11

Added room messages, made multiple corrections to events, searches, attrs, and fixed a few titles.  Added handling for shadnet matching.

* clang fix
2026-07-08 17:29:55 +03:00
Hog
16d5f9c54c Refactor texture cache image download handling (#4593)
* Add rasterizer image processing in event handling

* Implement ProcessDownloadImages method

Added a new method to process downloaded images in the rasterizer.

* Add ProcessDownloadImages method to vk_rasterizer.h

* Modify DownloadImageMemory to include sync parameter

Added optional sync parameter to DownloadImageMemory.

* Refactor texture cache image download handling

Updated DownloadImageMemory to support synchronous downloads and adjusted image extent calculations.

* Refactor image download condition and format code

Fix conditional logic for downloading images and add newline at end of file.

* Removed redundant check for volume in FindTexture function.

* Add readback_linear_images check in FindTexture
2026-07-07 16:23:09 +03:00
Stephen Miller
64d198190f Lib.NpWebApi2: Library implementation (#4677)
* Fix error definitions

* sceNpWebApi2Initialize, sceNpWebApi2InitializeForPresence, sceNpWebApi2IntInitialize, sceNpWebApi2IntInitialize2

Defines classes for various existing objects in the library, and adds support for creating library context objects.

* sceNpGetSdkVersion

* sceNpWebApi2CreateUserContext

* Clang

* More clang

* sceNpWebApi2GetMemoryPoolStats

* stuff

* sceNpWebApi2CreateRequest, sceNpWebApi2CreateMultipartRequest

* sceNpWebApi2AddHttpRequestHeader

* Why bother with pointers when deque exists?

* sceNpWebApi2SendRequest

* sceNpWebApi2AbortRequest, sceNpWebApi2DeleteRequest

* Stub libSceHttp2 calls using libSceHttp

Also some bug fixes to make sure requests actually work properly.

* Clean things I'm not doing yet

Probably done enough to be worth pushing, as now most games just complain from missing endpoints.

* Update np_web_api2_context.h

* sceNpWebApi2DeleteUserContext

* sceNpWebApi2SetRequestTimeout

* sceNpWebApi2GetHttpResponseHeaderValue, sceNpWebApi2GetHttpResponseHeaderValueLength

* sceNpWebApi2ReadData

* Revert "Clean things I'm not doing yet"

This reverts commit 598f67e8bb.

* sceNpWebApi2PushEventCreateHandle

* Misc stuff

* Started work on sceNpWebApi2PushEventCreateFilter

The actual filter doesn't create yet

* Some touchups

* Define base callback for checking push events

Will fill out once push event stuff is done

* Finish sceNpWebApi2PushEventCreateFilter

* Define remaining parts

* Logging adjustments, copy filter param extd data keys

* sceNpWebApi2PushEventRegisterCallback

* Store data_key vectors

So they're properly deleted on PushEventFilter destructors (which will be important when I implement the proper functions for that)

* sceNpWebApi2PushEventRegisterPushContextCallback

* sceNpWebApi2PushEventUnregisterCallback, sceNpWebApi2PushEventUnregisterPushContextCallback

* sceNpWebApi2PushEventAbortHandle

* sceNpWebApi2PushEventDeleteFilter

* sceNpWebApi2PushEventDeleteHandle

* Clang

* sceNpWebApi2PushEventSetHandleTimeout

* sceNpWebApi2AddWebTraceTag

* sceNpWebApi2PushEventCreatePushContext, sceNpWebApi2PushEventStartPushContextCallback

* Clang

* sceNpWebApi2PushEventDeletePushContext

* sceNpWebApi2Terminate

* Slight fix to sceNpWebApi2DeleteUserContext

* sceNpWebApi2CheckTimeout
2026-07-07 13:40:23 +03:00
georgemoralis
474fbe741d Handle accept invite dialog with gamepad (#4681)
* invitation dlg with gamepad

* fixup

* classic
2026-07-07 00:30:15 +03:00
metr1k-91
eabd04d35d Matching P10 - Fixups (#4680)
Fixed onlineid terming 1 character in 16 char names
Fixed default request callback opt calls not appropriately staying after the first callback
misc other struct changes.
2026-07-06 23:49:29 +03:00
georgemoralis
dd60483956 Invitation Dialog (#4653)
* added dummy invitation dialog

* fixup

* dummy dialog management cycle

* fixed include

* added all neccesary structs for invitation dialog

* logging is my friend

* logging fixups

* fixup

* better error codes

* one more time

* clNF

* added some function prototypes

* typo

* fixed compile

* draft invitation_dialog work

* initial invitation dialog work . doesn't send invitations yet mostly UI stuff

* update for the recv dialog

* added SendSessionInvitation

* sending invitations should work now

* added OrbisNpSessionInvitationEventParam structs

* system service events

* improve invitation dialog accept , queue invitation and general cleanups

* clang

* fixup

* Improve callbacks

* fixup

* invitation prompt layer

* clang pal
2026-07-06 20:04:47 +03:00
metr1k-91
8f4d05fe1b Matching2P9 (#4678)
getuserinfolist, getroommemberdataexternallist, getroomdataexternalist, setuserinfo
2026-07-06 17:55:34 +03:00
kalaposfos13
db43acc4f9 camera: fix regression in low firmware games (#4674) 2026-07-05 20:15:49 +03:00
Vladislav Mikhalin
f668febfeb fix flush in vdec + some minor fixes (#4669) 2026-07-05 08:46:19 +03:00
metr1k-91
3e1f92353c matching2 - P7+P8: more public api additions, changes to context, corrections to multiple callback returns, corrections to A types, etc. (#4671) 2026-07-05 08:00:16 +03:00
kalaposfos13
03e1497f34 Fix Camera issues found in Burnout Paradise Remastered (#4668)
* Populate pFramePointerListGarlic in sceCameraGetFrameData

* More explicitly tell the apps that a frame isn't valid

* remove hacky global variable

* fix maybe UB
2026-07-04 17:08:48 +03:00
kalaposfos13
07bbc77bde Silence an incorrectly triggering error line (#4667) 2026-07-04 15:30:00 +03:00
Stephen Miller
756d8bfa01 V_LOG_CLAMP_F32 (#4662) 2026-07-04 11:42:57 +03:00
Burhan
362bd7da66 macOS: Compile stack.S thread helpers on ARM64 architectures (#4664) 2026-07-04 09:15:44 +03:00
Stephen Miller
8316f4e6ac Lib.NpWebApi: Logging fixups (#4666)
* Properly log service and extended push event filters

* Other logging touch ups

* Clang
2026-07-04 08:22:45 +03:00
Stephen Miller
1c7246e477 Fix requests bug with user count (#4665) 2026-07-03 19:33:04 +03:00
georgemoralis
d460c94b60 Implemented MultipartPart content for npwebapi (#4663)
* implemented MultipartPart content

* fixed possible duplicate content-type resubmit
2026-07-03 17:09:49 +03:00
Stephen Miller
5b29e8cd95 Lib.NpTus: Stub sceNpTusGetDataAsync (#4661)
* Stub sceNpTusGetDataAsync

* Remove empty comments

Why not
2026-07-03 01:16:20 +02:00
Stephen Miller
ebb126c43c Register libcinternal symbols if the module isn't present (#4660)
Forgot to properly handle this when I moved the libcinternal module load to linker.
2026-07-02 19:41:50 +03:00
metr1k-91
0a51093d28 Matching2 P7: signaling additions, movement to separate signaling files, corrections to payloads, corrections to structs, corrections to shadnet. (#4656) 2026-07-02 09:21:45 +03:00
metr1k-91
9756843860 Matching2 P6: Public API additions, Stub Additions, networking layer stubs, more type additions, more struct additions, matching2signaling work. (#4654) 2026-07-01 18:42:54 +03:00
Stephen Miller
b6026cc65d Fixes to decoder loop logic (#4648) 2026-06-30 11:21:56 -05:00
georgemoralis
1d5447b74c ShadNet:Presence support (#4649)
* added serial and title to shadnet login for reporting for presense support

* more presensce support

* more presnse

* live appear online

* added appear offline setting

* clang..
2026-06-30 19:05:16 +03:00
metr1k-91
dacd29077a Matching2 fixup 2, I'll take all the buffer I want. (#4650)
* matching2 fixup - joinroom

* Matching2 fixup 2, I'll take all the buffer I want.

Fixed what appeared to be a overflow caused by context movement from terminate calls.
2026-06-30 09:22:37 +03:00
metr1k-91
91dfa4a958 matching2 fixup - joinroom (#4644) 2026-06-29 17:07:09 +03:00
Stephen Miller
7da7a8e1f9 More safe LLE modules (#4642)
These are all safe thanks to recent work (aside from rudp, that's been safe ever since the initial socket work).
2026-06-29 12:58:31 +03:00
metr1k-91
c581ce89a9 Matching2 P3 + P4 (#4643)
* matching2 part 3: context states, initial payload holder, additional constants, enums.  Matchmaking block, comid additon, ctx_id additon to shadnet.proto.

* Matching2 P4: this time its matching: starting rewrites on external APIs.  Shadnet changes to mirror on emu side.

* Matching P5: SearchRoom
2026-06-29 09:02:46 +03:00
Stephen Miller
8ead142315 Core: Run _malloc_init to fix LLE internal mallocs (#4622)
* Initialize heap API and run malloc_init

Purely for testing

* Update linker.cpp

* Fix heap function definitions

* Run malloc_init before initializing libs

Allows LLE libSceMoveTracker.

* Fix for rebase

* Some other fixups

* Some other rebase/bug fixes

* Claaaaaang

* Add a memory type for system memory

Don't want these system areas merging with things they shouldn't.

* mmap with MAP_SYSTEM flag

* Add FW 1.70 check to sceKernelMapNamedSystemFlexibleMemory

* regmgr call stub

Best we at least have some clue what this thing is doing

* Remove forced LibcInternal HLEs

These are no longer needed since running malloc_init LLE allows internal mallocs to succeed.

* Remove heap api pre-init

This is a hack.
2026-06-28 21:54:02 +03:00
enyetsuen
fd7166b22e Fix patchInfo to own its strings (#4634) 2026-06-28 10:15:38 -05:00
kalaposfos13
9f4b713dfd Add and autogenerate PathType::TrophyDir (#4538) 2026-06-28 11:47:44 +03:00
Connor Garey
56fd63cc95 Abseil-Cpp for protobuff. (#4638)
Added abseil-cpp

Add git

abseilCppSource added to flake.lock

Add abseilCppSource and pass the nix path to be compiled.

Removed git
2026-06-28 09:49:45 +03:00
rosenkolev1
32bd28e04d Fix tls leak for non-primary thread (#4151) 2026-06-28 09:29:38 +03:00