Commit Graph
9104 Commits
Author SHA1 Message Date
Dean ca6987de8a Merge pull request #11414 from p3n1cillin/claude/videoout-register-past-last-buffer
fix(libSceVideoOut): return INVALID_VALUE for a registration past the last buffer as the console does
2026-10-30 03:00:15 +13:00
Dean 1b75a2de11 Merge pull request #10433 from Retr0G28/fix/freopen-directory
fix(libc): open a directory with freopen in a read mode on Windows
2026-10-30 02:59:56 +13:00
akkadbakkad89 5145a9b782 docs(libSceNpEntitlementAccess): list abort and delete as silent stubs 2026-10-29 14:53:00 +01:00
akkadbakkad89 2456beff27 fix(libSceNpEntitlementAccess): make abort and delete request idempotent
No request can be created while signed out, so the library keeps no
request table. Sharpemu asserts abort/delete return OK for Gen4 and
Gen5 regardless of the request ID; titles treat a negative result as a
log-only cleanup error. Return 0 unconditionally instead of throwing.
2026-10-29 14:52:59 +01:00
Adrià 9036e3c9e4 Merge pull request #12126 from morten-holm/fix/macos-host-stack-above-arena
fix(libkernel): move the macOS main stack out of the guest arena
2026-10-29 14:51:57 +01:00
Adrià b0465557fd Merge pull request #12473 from simnJS/feat/freetypeot-stream
feat(libSceFreeTypeOt): implement the FreeType stream calls
2026-10-29 14:44:27 +01:00
Adrià 465f290646 Merge pull request #12455 from jagrat04/feat/libSceNet-set-dns-info-to-kernel
feat(libSceNet): track sceNetSetDnsInfoToKernel gap and test throw
2026-10-29 14:39:50 +01:00
Adrià e87f2d9394 Merge pull request #12162 from AlexFigas/feat/libc-aligned-array-operators
feat(libc): export the remaining aligned and array operator new and delete overloads
2026-10-29 14:39:44 +01:00
Dean dfcc0e17cb Merge pull request #11929 from kyon-eth/feat/mouse-1360-inventory
feat(libSceMouse): declare 7 additional exports
2026-10-30 02:34:07 +13:00
Dean 95b85a84e2 Merge pull request #11942 from milescoviello/docs/pad-open-port-types
docs(libScePad): note the port types ten titles pass to scePadOpen
2026-10-30 02:33:45 +13:00
Adrià c7682cc7d5 Merge pull request #11887 from atharvjairath/fix/http-uri-locale-coverage
test(http): ensure URI locale regression runs in Linux CI
2026-10-29 14:33:18 +01:00
Adrià cba260828e Merge pull request #11864 from ionut27001/fix/libkernel-get-app-info-layout
fix(libkernel): fill 0x58-byte sceKernelGetAppInfo record, throw for other pids
2026-10-29 14:33:12 +01:00
Dean d466d63b24 Merge pull request #11966 from milescoviello/docs/net-ipv6-v6only-titles
docs(libSceNet): note that Crimson Desert disables IPV6_V6ONLY
2026-10-30 02:33:01 +13:00
Dean cd6ef2913c Merge pull request #11999 from milescoviello/docs/userservice-initialize-priorities
docs(libSceUserService): note the priorities ten titles pass to sceUserServiceInitialize
2026-10-30 02:32:40 +13:00
Adrià fb99c4fd97 Merge pull request #12442 from simnJS/feat/jsc-string-edge-answers
feat(libSceJsc): answer the JSString null and length cases as JavaScriptCore does
2026-10-29 14:28:54 +01:00
slopgobblercobbler 120b2036a5 fix(libSceAudioOut): validate open format parameter and virtual port buffer boundaries 2026-10-29 14:27:50 +01:00
Dean 1332ae9b30 Merge pull request #9924 from santhoshkumar-dev/codex/freetype-postscript-info
feat(libSceFreeType): expose PostScript font information
2026-10-30 02:27:10 +13:00
Dean 478b5f1a93 Merge pull request #12635 from Lindamea1/feat/libkernel-sys-internal-libc-mutex-init
feat(libkernel_sys): implement scePthreadMutexInitForInternalLibc and scePthreadMutexattrInitForInternalLibc
2026-10-30 02:26:47 +13:00
Dean df4120aaae Merge pull request #12631 from Lindamea1/feat/freetypeot-scaled-arithmetic
feat(libSceFreeTypeOt): implement FT_MulDiv_No_Round, FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled and ft_highpow2
2026-10-30 02:26:31 +13:00
Dean f81c7a765c Merge pull request #12630 from Lindamea1/feat/icu-space-classifiers
feat(libSceIcu): implement u_isspace, u_isblank, u_isWhitespace, u_isJavaSpaceChar and u_isUWhiteSpace
2026-10-30 02:26:13 +13:00
Dean 7aabd03d0a Merge pull request #12628 from zaryabzip/feat/camera-audio-offline
feat(libSceCamera): answer the camera audio calls without a camera
2026-10-30 02:25:54 +13:00
Dean 74fe94e2f3 Merge pull request #12638 from Lindamea1/feat/bluetoothhid-thread-param-init
feat(libSceBluetoothHid): implement sceBluetoothHidThreadParamInitialize
2026-10-30 02:20:24 +13:00
Dean b6408701c7 Merge pull request #12636 from Lindamea1/feat/libkernel-sys-kldstat
feat(libkernel_sys): implement kldstat
2026-10-30 02:20:06 +13:00
Dean b425614531 Merge pull request #12634 from Lindamea1/feat/hmd2-reprojection-no-session
feat(libSceHmd2): implement the no-session answers of sceHmd2ReprojectionEnableMirroring, GetPredictedDisplayTime and SetRenderConfig
2026-10-30 02:19:50 +13:00
Adrià df1b77626b fix(ngs2): drop the matrix info guard main's wider output already covers 2026-10-29 14:05:31 +01:00
Eduardo Ruiz 55ed30d1aa docs(ngs2): shorten the custom rack debt entries 2026-10-29 13:59:33 +01:00
Eduardo Ruiz 114ae92449 fix(ngs2): reject matrices that do not fit the matrix info output 2026-10-29 13:59:33 +01:00
Eduardo Ruiz 4c4a4932e0 fix(ngs2): keep wide custom submixer voices and matrixless maps unsupported 2026-10-29 13:59:05 +01:00
Adrià 157b02c4f1 Merge pull request #11852 from ionut27001/fix/wf-scanf-q-length-linux
fix(libc): end sscanf and vsscanf at a q length on Linux and macOS
2026-10-29 13:57:18 +01:00
Christian 6f79055a00 fix(shader): keep mesh register windows out of local memory on NVIDIA
On NVIDIA's proprietary driver, function arrays that live in local memory
and are read under a data-dependent branch return wrong values in
subgroups 1-3 of a mesh workgroup; subgroup 0 is correct. A wave64
geometry program whose relative addressing keeps its VGPRs in the vector
window therefore loses register writes in every wave but the first. In
the clipping geometry program of Sony's PS5 PSP emulator (PPSA07550) the
empty waves never cleared their candidate primitive slots and wrote
degenerate triangles over wave 0's, so the 3D menu drew spikes.

On that driver a mesh program's window now lives in a device-local
storage buffer of 256 workgroup slots of 65536 dwords, claimed through a
per-slot lock and released after the final barrier. The pool is created
before the first draw that uses it records anything, and its header is
zeroed in a batch of its own that is submitted and waited for; the pool
is published only after that wait, and a failure releases it. Direct
register accesses keep one function variable per register; a direct
store also writes the buffer when a buffer read can see it, relative
reads load the buffer, relative writes store only to it, and a direct
read that may follow a relative write loads the buffer and refreshes the
variable. A buffer entry is zeroed only when a buffer read can see it
before a write. APS5_NO_MESH_WINDOW_BUFFER=1 keeps the arrays.
2026-10-29 08:56:39 -04:00
Adrià df53927b7b Merge pull request #10929 from Aspct3434/claude/modest-curie-705h76
fix(libc): read characters outside the BMP as surrogate pairs in fgetwc
2026-10-29 13:49:54 +01:00
Adrià aab650b4d3 Merge pull request #11893 from JJenkx/windows/libc-printf-ignored-lengths
fix(libc): ignore printf length modifiers that do not apply, as titles' libc.prx does
2026-10-29 13:49:01 +01:00
Adrià 1ac12cc534 Merge pull request #10803 from slopgobblercobbler/fix/spirv-instruction-word-bounds
fix(shader): validate SPIR-V instruction word count boundaries and phi patching
2026-10-29 13:48:55 +01:00
Adrià efc24518bc Merge pull request #11862 from ionut27001/fix/libkernel-setrlimit-store-limits
fix(libkernel): store setrlimit RLIMIT_CORE soft limit, ignore raised DATA/STACK hard limits
2026-10-29 13:47:57 +01:00
Adrià 7b57271358 Merge pull request #11504 from verusferro/feat/libc-xfilesystem-error
feat(libc): throw std::filesystem::filesystem_error from _Xfilesystem_error as the console's libc does
2026-10-29 13:47:45 +01:00
JJenkxandClaude Opus 5.5 dc1d801c4c fix(libkernel): map Windows shared memory with the regular file checks
On Windows, mmap sent a shared memory descriptor straight to the shared
file mapper, skipping the checks and the private path that a regular
file descriptor takes. A private mapping of a named or anonymous object
then failed with EOPNOTSUPP, and a writable shared mapping of a
read-only descriptor failed with EIO instead of EACCES. Shared memory
objects are files on Windows, so they now take the same access checks
and the same private copy as a regular file; only the directory, device
and file-type refusals stay limited to other descriptors.

guest_named_shm_windows_mapping covers shared mappings through two
descriptors, pread and pwrite against them, an offset mapping, a private
mapping, read-only mappings and the mappings after shm_unlink.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 08:47:28 -04:00
p3nicillinandClaude Opus 5.5 7c97d68937 fix(libkernel): throw for every set size the console was not measured with
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 12:18:00 +00:00
p3nicillinandClaude Opus 5.5 615414a7db docs(libkernel): keep the getaffinity entry apart from the cpuset entry
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 12:18:00 +00:00
p3nicillinandClaude Opus 5.5 b4861eb197 fix(libkernel): answer pthread_getaffinity_np for the console's set sizes
PS5_PayloadSDK measured in a title (firmware 12.09) that
pthread_getaffinity_np answers sets of 8 and 16 bytes and returns ERANGE
for 32 bytes or more, so FreeBSD's 32-byte cpuset_t is refused. The call
accepted exactly 32 bytes and refused every other size. Sizes under 8
keep ERANGE; 17 to 31 bytes, between the measured sizes, throw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 12:18:00 +00:00
p3nicillinandClaude Opus 5.5 4cf7411a46 feat(libkernel): add sceKernelGetExecutableModuleHandle
Return the main program's handle, the first one sceKernelGetModuleList
lists and one sceKernelGetModuleInfo accepts. reSOT (PPSA99023) imports
it from libkernel and passes the handle to sceKernelGetModuleInfo to find
its own code segment; before this its eboot failed to load on the
unresolved import.

The PS5 3.20 export lists have it in libkernel as well as libkernel_sys,
and on Windows a libkernel import never reaches libkernel_sys, so the
throwing libkernel_sys stub moves to libkernel as pselect did.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 12:17:59 +00:00
Adrià 5454cd2e45 Merge pull request #11130 from imellag/perf/macos-mimalloc
feat(libs): let relinked macOS games opt into mimalloc
2026-10-29 12:58:23 +01:00
Adrià b9246db364 Merge pull request #11853 from ionut27001/fix/wf-videoout-flipmaster-measured-codes
fix(libSceVideoOut): answer the flip-master calls as measured on a PS5
2026-10-29 12:57:56 +01:00
Adrià 5a88858805 Merge pull request #11720 from ionut27001/fix/savedata-cancel-not-initialized
fix(libSceSaveData.native): answer sceSaveDataCancel before initialization as measured in a PS5 payload
2026-10-29 12:57:24 +01:00
Adrià 7c3e71d862 Merge pull request #12457 from simnJS/refactor/name-nid-database-stubs
refactor(prx): name the Xml, NKWebKit, Jsc and FreeTypeOl stubs the NID database resolves
2026-10-29 12:57:18 +01:00
Adrià aef5c5006c Merge pull request #12453 from simnJS/feat/audio3d-port-lifecycle
feat(audio3d): route sceAudio3dPortCreate through the 0x10 port open
2026-10-29 12:57:13 +01:00
Adrià 1c5d59dfda Merge pull request #11315 from kyon-eth/feat/ngs2-custom-pitchshift
feat(ngs2): implement custom PitchShift and external render jobs
2026-10-29 12:57:06 +01:00
Adrià 40c36ae1f8 Merge pull request #12405 from kyon-eth/feat/music-framework-1360-inventory
feat(libSceMusicFrameworkInterface): declare 20 additional callable exports
2026-10-29 12:57:01 +01:00
slopgobblercobbler c8fcb0bda4 fix(agc): validate pipeline cache header format and empty cache paths 2026-10-29 12:09:44 +01:00
Dean ba5b5330b3 Merge pull request #12706 from Gonic0/fix/agc-barycentric-patches-restart
fix(agc): draw compacted restart lists and restart-free strips through the barycentric patches
2026-10-29 23:56:52 +13:00
Qu Yi 93c4ab11a5 chore(libSceIcu): merge main and resolve debt conflict 2026-10-29 18:56:12 +08:00