Commit Graph
14017 Commits
Author SHA1 Message Date
Ondra97 05d3fe38c0 chore: sync epoll lifetime fix with latest main 2026-10-21 06:39:10 +02:00
Dean Galvin bc87535cb0 docs(dev): name retail titles by ID instead of by title
Debt entries name the titles they were measured on. Use the title ID, or "a retail title" where the sentence needs no identification. No technical content changes.
2026-10-21 17:34:40 +13:00
Dean 7d7b097407 Merge pull request #8543 from tkcm01/fix/unwrap-self-bss-segments
fix(tools): handle zero-size segments in unbacked PT_LOAD ranges in unwrap_self
2026-10-21 17:31:54 +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 45f2c1821f Merge pull request #8545 from valenciana-nc/fix/performance-compare-recorded-identity
fix(tools): compare recorded machine and title metadata
2026-10-21 17:19:14 +13:00
Dean 2411c6e48b Merge pull request #8532 from valenciana-nc/fix/unwrap-self-minimal-alignment
fix(tools): avoid redundant padding when unwrapping SELF
2026-10-21 17:19:10 +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
Dean ab4784c29e Merge pull request #8559 from tkcm01/fix/pad-timeline-sequence-ordering
fix(tools): preserve pad command ordering across clock resets
2026-10-21 17:10:37 +13:00
Dean dae07367b8 Merge pull request #8582 from xXPBSXx/fix/configure-seed-creates-seed-directory
fix(tools): create the seed directory in configure_seed
2026-10-21 17:10:33 +13:00
xXPBSXxandClaude Sonnet 5.5 7f877b7581 docs(debt): point the DrawPipeline link at its header in include
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 05:50:48 +02: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
hypermistandClaude Opus 5.5 7b336bedac docs(libc): move the Annex K locale entry before wcsrtombs_s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 16:23:56 +13: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 36f7af1866 Merge pull request #8461 from mazen320/fix/conventions-large-export-search
fix(tools): stream duplicate export search patterns
2026-10-21 16:23:23 +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
Dean 4640d3f0f9 Merge pull request #8230 from xXPBSXx/fix/select-tests-changed-list-bom
fix(tools): read the select_tests changed-file list as UTF-8 with a byte order mark
2026-10-21 16:09:38 +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 2ea908a9ae Merge pull request #8841 from oneandonlydean/docs/host-write-rule
docs(dev): require a HostWrite bracket around host writes into guest memory
2026-10-21 15:44:14 +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
Dean 1c18ee8d82 Merge pull request #8259 from xXPBSXx/fix/select-tests-build-errors
fix(tools): report an unusable build directory in select_tests
2026-10-21 15:40:12 +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