Commit Graph
25101 Commits
Author SHA1 Message Date
AshwinandClaude Sonnet 5.5 dd166cdd67 feat(libSceNKWebKit): implement WTF::mimeTypeFromDataURL and URL::stringCenterEllipsizedToLength
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-01 20:21:26 +05:30
Adrià e450145140 Merge pull request #13946 from BunnyFl/feat/vdec-sdec-version-1031
feat(vdec): write the software decoder version as firmware 13.42 does
2026-11-01 15:44:33 +01:00
Adrià c9c6809529 Merge pull request #13944 from MarcZX10/fix/relinker-fuzz-fixture-warnings
fix(tools): warn about relinker test fixtures that cannot be imported or built
2026-11-01 15:44:27 +01:00
Adrià d8b60b46ed Merge pull request #13931 from liskeee/perf/agc-persistent-pipeline-cache-upstream
feat(agc): keep driver pipeline caches and costly compute pipeline binaries across updates
2026-11-01 15:22:44 +01:00
Dean d94fad17de Merge pull request #8285 from DealPotato/feat/savedata-mount2
feat(savedata): add sceSaveDataMount2
2026-11-02 03:22:25 +13:00
Dean 4a027f138c Merge pull request #8250 from vittoriosalvadore/codex/fix-font-render-surface-stride
fix(libSceFont): accept overlapping render surface rows
2026-11-02 03:21:46 +13:00
Adrià ac26e59d9a Merge pull request #13901 from DeveshB-1/fix/stat-archived-efault
fix(libkernel): return EFAULT from stat for an unwritable buffer
2026-11-01 15:13:30 +01:00
Dean 74ca823ad8 Merge pull request #8140 from tv7/fix/table-callee-getpc
fix(shader): link table callees that read their program counter
2026-11-02 03:03:50 +13:00
Dean f1a7b02028 Merge pull request #7243 from gjonn/fix/agc-packed-target-replace-blend
fix(agc): write a replace blend into a packed color target without blending
2026-11-02 02:06:56 +13:00
Dean 929e8d8442 Merge pull request #7090 from milescoviello/feat/scm-rights
feat(libkernel): pass descriptors in SCM_RIGHTS messages on Unix sockets
2026-11-02 02:06:02 +13:00
Adrià 31c727f622 Merge pull request #13938 from JAB-dev/fix/ngs2-ps4-port-volume-range-ps5
fix(libSceNgs2): clamp the PS4 port volume to [-4, 4]
2026-11-01 14:03:08 +01:00
Adrià ab6f5d32ed Merge pull request #13935 from dr-hoseyn/fix/tools-self-inspection-memory
fix(tools): avoid copying SELF payloads during inspection
2026-11-01 13:55:53 +01:00
Adrià 77008b2ecc Merge pull request #13934 from alfalfa-star/fix/audiodec-stereo-interleave-order
fix(libSceAudiodec): accept M4AAC surround interleave orders for stereo output
2026-11-01 13:53:47 +01:00
Adrià 500b0252ec Merge pull request #13932 from dr-hoseyn/fix/tools-audit-module-suffixes
fix(tools): include every supported module suffix in dump audits
2026-11-01 13:48:06 +01:00
Dean a488facbe6 Merge pull request #14192 from oneandonlydean/d27-shader-progress
feat(progress): report shader coverage from the recompiler source in the README badge
2026-11-02 01:44:14 +13:00
Adrià 67bfc04ab1 Merge pull request #13936 from edubox/feat/nkwebkit-constant-exports
feat(libSceNKWebKit): implement the exports the 11.00 module answers with a constant
2026-11-01 13:41:59 +01:00
Dean 4768f0aeca Merge pull request #6584 from ymatrix1/feat/userservice-missing-exports
feat(libSceUserService): export missing firmware user service interfaces
2026-11-02 01:29:49 +13:00
Adrià ba627802e2 Merge pull request #13939 from xXPBSXx/docs/random-null-buffer
docs(libSceRandom): name what the emulators do with a null buffer of size 0
2026-11-01 12:45:02 +01:00
Dean b2620e56d1 Merge pull request #11733 from verusferro/feat/libc-wide-string-to-number
feat(libc): convert wide strings with _WStoull, _WStoll, _WStod, _WStof and _WStold as the console's libc does
2026-11-02 00:33:30 +13:00
Adrià e53aff3f56 Merge pull request #13921 from dr-hoseyn/feat/relinker-option-terminator
feat(relinker): support the end-of-options separator
2026-11-01 12:30:22 +01:00
Dean d262000c73 Merge pull request #12940 from kyon-eth/feat/video-recording-native-320-exports
feat(libSceVideoRecording.native): declare 27 callable exports
2026-11-02 00:26:52 +13:00
Adrià 75df21b76e Merge pull request #13678 from Gonic0/feat/agc-label-trap-aliased
perf(agc): trap label reads of small images inside pending large ones on macOS
2026-11-01 12:26:41 +01:00
Dean c51c471250 Merge pull request #12922 from ntamas94/fix/ps4-dir-blksize
fix(libkernel): report a 64 KiB st_blksize for directories
2026-11-02 00:25:59 +13:00
Dean 291e02d487 Merge pull request #12912 from rooklz/fix/vulkan-gate-symlink-loop
fix(tools): report symlink loops in vulkan_validation_gate paths as setup errors
2026-11-02 00:25:07 +13:00
Dean ffb95fdf8a Merge pull request #12894 from xXPBSXx/fix/asan-skip-asan-lib
fix(build): do not build libSceAddressSanitizer in an ASan or TSan build
2026-11-02 00:24:15 +13:00
Dean 4d58a666e9 Merge pull request #12892 from StoneDC/b41/wide-length-protected
test(libc): bound UTF-16 length scans with protected pages
2026-11-02 00:23:34 +13:00
Dean e1f46d1746 Merge pull request #12847 from edubox/feat/npcpp-activities
feat(libSceNpCppWebApi): bring up Activities V1 offline
2026-11-02 00:22:55 +13:00
Dean 4317481a47 Merge pull request #12825 from hypermoist/feat/np-util-jid
feat(libSceNpCommon): implement sceNpUtilParseJid and sceNpUtilJidToNpId
2026-11-02 00:22:13 +13:00
Dean 7075cddb4f Merge pull request #12812 from malekaifa/fix/hw-oracle-comgr-cleanup
fix(hw-oracle): clean up COMGR handles on errors
2026-11-02 00:21:33 +13:00
Dean d3887cb5db Merge pull request #12811 from rooklz/test/pr-labels-deep-json
test(tools): reach pr_labels RecursionError with probed nesting depth
2026-11-02 00:20:40 +13:00
Dean 785ad26398 Merge pull request #12810 from BunnyFl/fix/convertkeycode-sdk-layouts
fix(libSceConvertKeycode): apply the SDK rules instead of throwing for layouts 31-39 and Y/Z
2026-11-02 00:19:47 +13:00
Dean 4ca5d702a8 Merge pull request #12799 from LeandroLP23/test/agc-copy-data-packets
test(libSceAgc): cover COPY_DATA on the draw and compute queues and the WRITE_DATA size
2026-11-02 00:18:54 +13:00
Dean c1d62e8db2 Merge pull request #12797 from xXPBSXx/docs-agc-driver-status-queries
docs(agc): list the AgcDriver capture, trace and validation queries as silent stubs
2026-11-02 00:18:15 +13:00
Adrià ad8567f5af docs(agc): describe the driver cache directory and the pipeline binary store; fix pipeline binary skip messages 2026-11-01 11:56:39 +01:00
liskeeeandClaude Opus 5.5 5c1cac4112 fix(agc): disable pipeline binaries with outdated wrapping layers
Check the enabled layers before querying pipeline binary features. A
validation or gfxreconstruct layer older than Vulkan 1.3.294 wraps
handles but passes the extension's commands to the driver unchanged, so
keep the driver pipeline cache path there and when enumeration fails.
Cover the layer decisions with a fake enumerator.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 11:56:07 +01:00
liskeeeandClaude Opus 5.5 f1b0dbbf5d fix(agc): retain driver cache fallback after binary capture failures
A costly build whose binaries cannot be extracted or stored, and a
rejected capture build, now leave a capture-failure marker, so later
runs build that recipe through the driver cache instead of repeating a
capture build with a null pipeline cache. Lowering the time threshold
does not retry these markers; a driver change does. Existing
below-threshold markers stay compatible and retryable.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 11:56:06 +01:00
liskeeeandClaude Opus 5.5 e02b717d56 fix(agc): skip unchanged periodic pipeline cache snapshots
Restore the cheap size-and-header check for the 10-second worker save,
with the size query still under the snapshot lock, so an unchanged cache
is no longer copied and hashed on every tick, including the first tick
after loading a current cache. A legacy import is still written by the
first periodic save. SaveNow and the final save keep the content
comparison that writes equal-size changes.

Cover periodic copy avoidance after saving and after reopening, legacy
migration and equal-size persistence.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 11:56:06 +01:00
liskeeeandClaude Opus 5.5 0c572f1c25 feat(agc): persist costly compute pipeline binaries
Capture costly compute builds and restore matching recipes after checking
full recipes, driver fingerprints and Vulkan compatibility keys. Add size
and time thresholds, opt-out, atomic persistence and corruption/rejection
fallback.

Remember below-threshold recipes in separate files so competing decisions
cannot overwrite captured binaries. Prefer saved binaries and retry
capture when the time threshold is lowered.

Cover compatibility, fallback, deterministic competing writers and
cross-process capture, restore and corruption.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 11:56:06 +01:00
liskeeeandClaude Opus 5.5 8413207b8e fix(agc): preserve driver pipeline caches across source updates
Keep driver blobs outside source-version cleanup and import compatible
legacy caches. Persist equal-size content changes and retry incomplete
snapshots without replacing the previous file.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 11:56:06 +01:00
Adrià e67cc81869 Merge pull request #13926 from dr-hoseyn/feat/relinker-dry-run
feat(relinker): validate conversions without writing outputs
2026-11-01 11:50:43 +01:00
Adrià ac3f7e7478 Merge pull request #13922 from dr-hoseyn/test/tools-nid-audit-in-process
test(tools): run NID audit validation cases in process
2026-11-01 11:50:35 +01:00
Eduardo Ruiz d72f349abb fix(libSceNKWebKit): narrow the constant-return claim to the measured width
The 13 exports whose body is mov al,1; ret write only the low byte, so the
upper bits of EAX are unspecified; the test now masks them and the debt
entry separates those 13 from the 124 bodies that write EAX. The inventory
count returns to 7440, the 134 rows removed from the 7574 that were listed,
because three of the 137 belong to the separate known-name group.
2026-11-01 11:49:36 +01:00
Eduardo Ruiz 03f9296adb feat(libSceNKWebKit): implement the exports the 11.00 module answers with a constant
137 exports that were throwing stubs return a fixed value in the PS5 11.00
module: 111 end in xor eax,eax and return 0, 13 load an immediate with
mov eax,imm32 and return it, and 13 return true through mov al,1. Their
bodies in src/ConstantExports.cpp reproduce those values.

The functions were matched to the firmware export table by recomputing each
NID from the declared symbol, and the body and size of every selected
address were checked against the image. The declared prototypes stay the
no-parameter int placeholders, so only the 32-bit return value is covered.
The technical-debt inventory drops the rows that no longer throw and records
the measurement and that limit.
2026-11-01 11:49:36 +01:00
Adrià 541b8515df Merge pull request #13879 from sktharunbalaji13-cmd/feat/dcc-clear-write-order
fix(agc): order DCC clear fills against GPU writes in resident presentation
2026-11-01 11:49:32 +01:00
Dean e6f57307fa Merge pull request #10844 from Raghav314/perf/agc-dcc-word-fill-keys
perf(agc): read DCC keys from a pending word fill instead of waiting for the GPU
2026-11-01 23:40:11 +13:00
Adrià 53ec429ff6 Merge pull request #13919 from dr-hoseyn/fix/tools-canonical-header-manifest
fix(tools): resolve linked public header manifest roots
2026-11-01 11:39:33 +01:00
Dean d2593327b5 Merge pull request #11447 from iamthehimansh/split/macos-agc-build
build(agc): compile Lifecycle, GuestMemory and GuestBufferMemory on macOS
2026-11-01 23:39:32 +13:00
Dean e56c5c99f3 Merge pull request #12474 from milescoviello/fix/fcntl-host-descriptor
fix(libkernel): report a host-only descriptor as not open to fcntl and ioctl
2026-11-01 23:38:28 +13:00
Dean 8527dad32e Merge pull request #12332 from legendary-cookie/test/http2
test(libSceHttp2): cover sceHttp2SetRequestContentLength ids and deletion
2026-11-01 23:37:34 +13:00
Dean d5ec8e6575 Merge pull request #11854 from ionut27001/fix/wf-videoout-outputstatus-hdr-flags-zero
fix(videoout): report output status flags 0 with HDR output
2026-11-01 23:35:45 +13:00