Commit Graph
12196 Commits
Author SHA1 Message Date
Dean 1ff5c8ac5c Merge pull request #8217 from xXPBSXx/fix/rename-dot-component-fb
fix(libc): report a status error of the rename parent directory instead of ENOENT or ENOTDIR
2026-10-21 18:00:40 +13:00
Dean 3fb6a126fa Merge pull request #8094 from slick-daddy/newwy
feat(libSceVideodec): implement the video decoder on top of libSceVideodec2
2026-10-21 17:55:51 +13:00
Dean 4936df7889 Merge pull request #6721 from JJenkx/feat/ajm-atrac9-vibration
feat(ajm): decode ATRAC9 vibration streams
2026-10-21 17:55:47 +13:00
Dean 16c7e76761 Merge pull request #8321 from MarrasFederico/feat/netctl-get-result-v6
feat(libSceNetCtl): report no error for IPv6 events in sceNetCtlGetResultV6
2026-10-21 17:54:21 +13:00
Dean 1cd98b72da Merge pull request #8240 from adhimiw/feat/libSceCesCs-pending-exports
feat(libSceCesCs): declare the missing firmware character set exports
2026-10-21 17:54:17 +13:00
Dean fa9eb5cfac Merge pull request #8490 from orezraey/feat/np-game-presence-callback
feat(libSceNpManager): accept game presence callbacks while signed out
2026-10-21 17:49:32 +13:00
Dean e09c3306e0 Merge pull request #8485 from orezraey/feat/npwebapi2-internal-initialize
feat(libSceNpWebApi2): implement the internal and presence initializers
2026-10-21 17:49:28 +13:00
Dean 5ed381bac2 Merge pull request #8079 from savvaniss/fix/playgo-ps4-chunk-table
fix(libScePlayGo): read the chunk count of a PS4 plgo chunk table
2026-10-21 17:48:01 +13:00
Dean d472674571 Merge pull request #8136 from Noxy-HNR/codex/uds-locale-independent-floats
fix(libSceNpUniversalDataSystem): keep float text locale-independent
2026-10-21 17:47:57 +13:00
Dean 1fd67185b6 Merge pull request #8513 from milescoviello/fix/ngs2-destroy-in-own-render
fix(libSceNgs2): refuse a destroy from inside its own system's render
2026-10-21 17:44:56 +13:00
Dean aa408677b0 Merge pull request #8220 from al3w0f205/test/convert-keycode-punctuation-keypad
test(libSceConvertKeycode): cover space, punctuation and keypad keycode mappings
2026-10-21 17:43:09 +13:00
Dean 69d0861755 Merge pull request #8494 from NumberGuan/codex/videoout-eop-test-chunks
test(videoout): split long GPU work into bounded dispatches
2026-10-21 17:43:04 +13:00
Ondra97 ed471c62e3 chore: merge main into epoll lifetime fix 2026-10-21 06:31:02 +02:00
Dean 042504ea28 Merge pull request #8554 from aarushkha/fix/pipeline-cache-header-long-path
fix(agc): read the pipeline cache header through the long-path form on Windows
2026-10-21 17:20:34 +13:00
Dean fbb6f49493 Merge pull request #8540 from erickerxhalli/feat/libsceimedialog-force-close
feat(libSceImeDialog): close an open dialog in sceImeDialogForceClose
2026-10-21 17:20:30 +13:00
Dean f47c856634 Merge pull request #8529 from MarrasFederico/feat/audio-out2-low-latency
feat(libSceAudioOut): serve the low-latency AudioOut2 calls through their standard counterparts
2026-10-21 17:12:07 +13:00
MarcZX10 fef2755c76 test(relinker): cover scoped kernel variant imports 2026-10-21 03:42:04 +00:00
MarcZX10 7b07c20497 fix(relinker): resolve kernel variant imports via canonical kernel 2026-10-21 03:42:04 +00:00
Dean 7ab4b2e561 Merge pull request #8326 from dantdmdarealguy/fix/agc-replay-tools-mingw-runtimes
fix(agc): copy the MinGW runtimes next to the shader and PM4 replay tools
2026-10-21 16:41:07 +13:00
Dean 56e088c1ad Merge pull request #8802 from JJenkx/fix/agc-retain-map-import-failures
fix(agc): retain map import failures across unrelated mappings
2026-10-21 16:35:29 +13:00
Dean 46bfbe4e25 Merge pull request #8063 from AasishDairelSahayaGrinspan/fix/relinker-gs-memory-only-traps
fix(relinker): trap only GS memory accesses in Windows and macOS output
2026-10-21 16:35:25 +13:00
Dean 2923f29cf1 Merge pull request #8842 from UnhealthyKraken/feat/libc-index
feat(libc): implement index string search
2026-10-21 16:35:20 +13:00
Dean GalvinandFederico Marras 7924d09f00 Merge origin/main into PR 8524
Co-authored-by: Federico Marras <[email protected]>
2026-10-21 16:34:11 +13:00
Dean 4f24b6a64c Merge pull request #8517 from orezraey/fix/hdr-probe-test-skip-hdr-monitor
test(videoout): skip the HDR probe check on a monitor Windows reports as HDR
2026-10-21 16:33:40 +13:00
Dean f3a3d6fdeb Merge pull request #8459 from hypermoist/feat/agcdriver-packet-sizes
feat(libSceAgcDriver): add the workload, NOP and user data packet sizes
2026-10-21 16:33:36 +13:00
Dean 31f0e34cb5 Merge pull request #8337 from KernelPanicNT/feat/systemservice-player-dialog-param
feat(libSceSystemService): fill the player dialog param as the console does
2026-10-21 16:33:32 +13:00
hypermistandClaude Opus 5.5 8bddc39245 feat(libc): forward the C11 thread and TSS calls to libkernel
_Call_once, _Tss_create, _Tss_delete, _Tss_get, _Tss_set, _Thrd_equal,
_Thrd_current and _Thrd_exit call scePthreadOnce, scePthreadKeyCreate,
scePthreadKeyDelete, scePthreadGetspecific, scePthreadSetspecific,
scePthreadEqual, scePthreadSelf and scePthreadExit and return their
results unchanged, as the console's libSceLibcInternal does.
_Mtx_current_owns returns 1 there. libkernel registers the calls with
libc at load, next to the pthread_create registration.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 16:31:00 +13:00
Dean c58c2af631 Merge pull request #8464 from orezraey/fix/pm4-replay-wide-arguments
fix(agc): take agc_pm4_replay's capture directory as a wide argument on Windows
2026-10-21 16:28:10 +13:00
klosixgaming-arch ee81c5112d feat(agc): draw point-list output of NGG geometry programs as mesh points
A geometry program with VGT_GS_OUT_PRIM_TYPE 0 (point list) was refused
as an unsupported output assembly, halting Cocoon (PPSA08766) on boot
with "VGT_GS_OUT_PRIM_TYPE other than a triangle strip, or a line strip
from a geometry program, is unsupported".

Each primitive export of an NGG point-list geometry program outputs one
point whose vertex index is stored directly in PrimitivePointIndicesEXT,
so the mesh module now declares OutputPoints with PrimitivePointIndicesEXT
for it when outputPrimitiveSize is 1. The point primitive export extracts
the 9-bit vertex index from the packed primitive export word and stores
it to the output array. A subgroup gets up to maxVertices points, with
provoking vertex 0 and point raster primitive topology.

Tested with Cocoon (PPSA08766) which now progresses past pipeline
creation and initial frame draws into gameplay.

AI-assisted: yes. Written with AI assistance and reviewed by me.
2026-10-20 22:26:30 -05:00
Dean 05f9995704 Merge pull request #8469 from hypermoist/feat/agcdriver-firmware-constants
feat(libSceAgcDriver): add the retail debug, capture and GPU reset results
2026-10-21 16:23:27 +13:00
Dean 9f4ddf7cf9 Merge pull request #8838 from orezraey/fix/http-uri-unescape-sweep-measured-ps5
fix(libSceHttp): unescape and sweep URIs as measured on a PS5
2026-10-21 16:10:19 +13:00
Dean 51a30d567a Merge pull request #8297 from thuanquang/docs/trunc-coord-debt
docs(agc): record that the host sampler replaces TRUNC_COORD's rounding
2026-10-21 16:09:49 +13:00
Dean 6175310fdd Merge pull request #8293 from DavidSamir/fix/agc-exclude-libs-linker-macos
fix(agc): pass --exclude-libs to the linkers that accept it
2026-10-21 16:09:44 +13:00
xXPBSXxandClaude Sonnet 5.5 f7ff48ce9d test(libc): drop the middle-dot case from the final-dot ENOTDIR test
Resolve() checks a "." only as the last component, so "file/./child" was
already ENOTDIR from the host and did not exercise the change.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 05:08:55 +02:00
Dean a683688fe0 Merge pull request #8335 from ymatrix1/feat/systemservice-missing-exports
feat(libSceSystemService): export missing firmware system service interfaces
2026-10-21 16:07:01 +13:00
Dean 141a6a5104 Merge pull request #8322 from MarrasFederico/feat/ngs2-rack-user-data
feat(libSceNgs2): keep caller data on racks with sceNgs2RackSetUserData and sceNgs2RackGetUserData
2026-10-21 16:06:57 +13:00
hypermistandClaude Opus 5.5 8e46144d48 fix(libc): follow the console for integer bases and 0x prefixes
- strtol, strtoul, strtoll, strtoull and strtouq return 0 for a base
  outside 0 and 2 to 36, leave the end at the start and set EINVAL;
  strtoimax, strtoumax, _Stoull, _Stoul and the wide forms do the same
  without errno.
- A 0x prefix with no hexadecimal digit after it (base 0 or 16) is no
  conversion: the end stays at the start of the string.
- wcstol, wcstoll and wcstoimax take one sign, convert the rest with
  wcstoull and clamp to the signed range with ERANGE, so "- 1" is -1
  and "+\t-1" overflows.
- atoi, atol and atoll truncate strtoull's result.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 16:05:00 +13:00
NikoandClaude Opus 5.5 cfb371d5e1 feat(libSceVoice): implement sceVoicePausePortAll and sceVoiceResumePortAll
Both threw. They now take no arguments and return 0x804E0801 while the
library is not initialized and 0 otherwise, as shadPS4's PS4 versions
do; that not-initialized code is the one prosper reads for
sceVoiceStart, and RPCS3's PS3 calls make the same check. Like
sceVoicePausePort they change no reported state: VitaSDK documents that
pausing every port keeps buffered data and the reported port state, and
nothing here processes port data.

guest_voice calls both before sceVoiceInit and after sceVoiceEnd
(0x804E0801), and twice each with ports open, where GetPortInfo still
reports the same type, state and frame size.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 05:01:43 +02:00
Kraken aae12fa111 feat(libkernel): implement cfsetspeed 2026-10-21 04:00:42 +01:00
Dean e0e57a3270 Merge pull request #8263 from milescoviello/fix/profile-differing-value-set-hashes
fix(agc): remember the differing statistics' value sets by hash
2026-10-21 15:48:28 +13:00
Dean d4eecab27a Merge pull request #8258 from YossiYad/feat/np-party-state
feat(libSceNpParty): report the user as not in a party from sceNpPartyGetState
2026-10-21 15:48:23 +13:00
Dean db45e8ee20 Merge pull request #8253 from santhoshkumar-dev/codex/freetype-charmap-access
feat(libSceFreeType): select and iterate character maps
2026-10-21 15:48:18 +13:00
Dean 394170059f Merge pull request #8069 from thuanquang/fix/force-degamma-unchanged-formats
fix(agc): sample formats that FORCE_DEGAMMA leaves unchanged without it
2026-10-21 15:44:22 +13:00
Dean 402763059f Merge pull request #8167 from MarcZX10/codex/8157-bda-device-gpu
fix(tests): honor ANYPS5_GPU in BDA device fixture
2026-10-21 15:44:18 +13:00
Dean 5d10ea9ea0 Merge pull request #8791 from JJenkx/windows/calltrace-faulting-thread
feat(libc): list the reporting thread's own calls in the call trace report
2026-10-21 15:40:39 +13:00
Evgeniy KazarinandClaude Opus 5.5 69f843c910 perf(libkernel): reuse released direct-memory sections that never held data
The title allocates, maps and releases about 48 direct-memory blocks per frame.
Each allocation created a pagefile-backed section and each release closed it.
A released section whose pages were never stored to (resident pages keep their
data in private memory and saved buffers, not in the section) is still blank,
so up to 256 such sections of at most 16 MiB, 256 MiB in total, are kept by
size and handed to the next allocation of that size instead of a new
CreateFileMappingW. APS5_NO_DIRECT_MEMORY_SECTION_POOL keeps the old behaviour.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 10:32:44 +08:00
christophermonterocortes-cr 3768b3a23a feat(libSceNpCppWebApi): align stub signatures with demangled symbols 2026-10-20 20:29:43 -06:00
Kraken 20e95370ae feat(libc): implement index string search 2026-10-21 03:29:12 +01:00
Dean cd700fe9ec Merge pull request #8793 from xXPBSXx/fix/pthread-kill-ended-thread-esrch
fix(libkernel): let pthread_kill with signal 0 report ESRCH for a thread that has ended
2026-10-21 15:27:29 +13:00
Dean d10d9d214c Merge pull request #8782 from valenciana-nc/fix/execute-once-independent-flags
fix(libc): avoid deadlocking independent once initializers
2026-10-21 15:27:24 +13:00