Commit Graph
20967 Commits
Author SHA1 Message Date
Bram910 b1db8bb5fd test(tools): bound summary nesting regression workload 2026-10-24 14:45:54 +02:00
Emanuele 2d35e00af2 test(agc): skip cull distance cases on devices without shaderCullDistance
The driver refuses a draw that enables a cull distance when the device
has no shaderCullDistance, and agc_driver_vertex_clip_cull_distances,
agc_driver_vertex_clip_cull_draw (with and without the draw key) and
agc_driver_vertex_user_data_tail ran their cull distance cases anyway,
so on MoltenVK all four failed at that refusal. They now skip only
those cases when the target lacks CapabilityCullDistance, as they
already skip the mesh case without VK_EXT_mesh_shader, and the shader
debt entry records the refusal.
2026-10-24 14:43:12 +02:00
Maximilian FleckensteinandClaude Opus 5.5 2dccd693b8 fix(agc): map the reused resident heap at its exact address on macOS
macOS mmap treats a non-null address as a hint, so the reused-address
test could get a heap away from the freed one. Allocate it with
mach_vm_allocate and VM_FLAGS_FIXED instead, which places it exactly
at the address or fails without replacing an existing mapping, as
MAP_FIXED_NOREPLACE does on Linux.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 09:40:57 -03:00
Maximilian FleckensteinandClaude Opus 5.5 9da4ec5a06 fix(agc): build the frame recorder and the resident heap mirror test on macOS
FrameRecorder.cpp reads environ without declaring it, and macOS headers
do not declare it. ResidentHeapMirror.cpp passes MAP_FIXED_NOREPLACE,
which exists only on Linux; elsewhere the existing address check rejects
a mapping placed away from the hint.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 09:40:57 -03:00
Adrià 5d251e6b0e Merge pull request #8994 from hypermoist/feat/libc-filesystem-primitives
feat(libSceLibcInternal): add the std::filesystem file and directory primitives
2026-10-24 14:39:57 +02:00
orezraeyandClaude Opus 5.5 a046aaa50e docs(libc): state the measured heap report values, pid and block precisely
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 09:38:38 -03:00
Dragos Negoita 1f6c936b36 fix(relinker): reject XORs with extended operands
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
2026-10-24 15:37:39 +03:00
Adrià 39a36bbec8 Merge pull request #8978 from veosett/codex/rect-list-corner-spirv13
test(agc): keep rectangle corner shaders valid for SPIR-V 1.3
2026-10-24 14:35:48 +02:00
Adrià d53b52be7e Merge pull request #9139 from xXPBSXx/fix/sgpr-fill-keys-test-resubmits
test(agc): let the sgpr pattern fill keys test resubmit more often under load
2026-10-24 14:34:49 +02:00
Adrià 8aa0a30534 Merge pull request #8969 from Chuk49/test/agc-array-window-view-clamp
test(agc): clamp the array window test's layer to the slices its view covers
2026-10-24 14:33:28 +02:00
DragostandCursor f3b4b61f4d fix(libSceAvPlayer): reconcile the exhausted audio clock once per epoch
Co-authored-by: Cursor <[email protected]>
2026-10-24 14:33:20 +02:00
Adrià f8fe60d3df Merge pull request #8944 from xdCloudy/feat/ps5-agc-exports
feat(libSceAgc): declare PS5 pending exports
2026-10-24 14:32:24 +02:00
Adrià f13538ecad Merge pull request #9074 from imellag/fix/libkernel-posix-raise-deferral
fix(libkernel): defer raises while a thread holds the address-wait lock on Linux and macOS
2026-10-24 14:29:36 +02:00
hypermistandClaude Opus 5.5 d3525d37cd fix(libSceFont): check a null outline profile before the font-set path
A valid font-set handle with a null output now returns
SCE_FONT_ERROR_INVALID_PARAMETER instead of throwing, matching the
handle, then output, order of the firmware.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 01:29:12 +13:00
Adrià 4c06b21681 Merge pull request #8318 from hypermoist/fix/agc-semaphore-memory-firmware
fix(libSceAgc): use firmware semaphore memory results
2026-10-24 14:26:29 +02:00
raghav314andClaude Opus 5.5 7ca5a1337e test(agc): an idle store of a dead 3D image keeps the CPU bytes written while its results were in flight
agc_storage_idle_writeback_race refills a dead storage volume's memory on the CPU while its results are pending, idles every queue and checks the refill survives in watched and GPU-mapped direct memory, both for a plain idle write-back and after a shadow publish.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 17:55:32 +05:30
raghav314 57e44bdfb8 fix(agc): store idle write-backs and publishes on the CPU at completion, keeping blocks the guest wrote in flight
When every queue idles the driver stores all pending storage results. Into a
host import that was a GPU copy landing after the batch ran, so guest stores
made while it was in flight were overwritten by the older results: MC D2
reuses a freed 3D storage image's memory for a CPU volume during loading and
crashes on the stale texels. Idle write-backs now take the CPU path, and idle
shadow publishes copy to a host buffer and store per 64 KiB unit at
completion unless the guest wrote that unit since.
2026-10-24 17:55:32 +05:30
Adrià d2a28894d6 Merge pull request #7992 from MarrasFederico/fix/agc-store-idle-results-deadline
test(agc): give the store idle results test the deadline its siblings use
2026-10-24 14:25:27 +02:00
Eduardo Ruiz 0d17917ef8 feat(libc): export std::underflow_error type info, vtable and destructor
Minecraft Legends (PPSA05510) imports _ZTISt15underflow_error (NID
oNRAB0Zs2+0). Add it next to overflow_error, with the same single-inheritance
record over runtime_error, its vtable and the destructor that releases the
allocated message.
2026-10-24 14:25:00 +02:00
Adrià 87666fc5d6 Merge pull request #8525 from MarrasFederico/feat/audio-out-mastering
feat(libSceAudioOut): answer the legacy mastering calls without a mastering stage
2026-10-24 14:21:12 +02:00
milescovielloandClaude Opus 5.5 6fc2ea58c0 fix(agc): keep the journal's read event in HostThreadLocal on Windows
A thread_local with a destructor in a module runs after emulated TLS freed
it on Windows, which prx_thread_local_destructors refuses. The per-thread
read event now lives in HostThreadLocal, as the other per-thread driver
state does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:18:09 +02:00
milescovielloandClaude Opus 5.5 1a15c5deab fix(agc): read the pipeline journal through an overlapped handle on Windows
A handle opened without FILE_FLAG_OVERLAPPED serializes its reads, so
replay threads reading modules from the journal waited for each other on
Windows even though each ReadFile passed its own offset. The journal is
now opened overlapped, and each read waits on a per-thread event with
GetOverlappedResult.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:18:09 +02:00
milescovielloandClaude Opus 5.5 88718239a7 fix(agc): read the pipeline journal's modules at replay instead of holding the file
The journal was read whole into one buffer that the decoded modules
viewed, so a replay held the entire file (1 GiB at the default
APS5_PIPELINE_JOURNAL_MAX_MIB) until its last entry was built. The load
now parses the file a record at a time through positioned reads and keeps
it open; a replay thread reads an entry's modules again when it builds the
entry and rejects it when a record no longer reads back as loaded. The
replay report gains the peak module bytes held at once.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:18:09 +02:00
roboterspinne 5362dcaaf0 fix(relinker): validate every entry of the Linux run path
LinuxElfPatcher wrote --rpath into DT_RUNPATH unchanged, so an empty
entry (an empty value, a leading or trailing colon, or a double colon)
reached the output, where glibc searches the working directory for it,
while the macOS and Windows outputs reject empty run paths. The guest
module rule that each entry is absolute or begins with $ORIGIN only
looked at the start of the whole value, so "$ORIGIN/libs:" or
"$ORIGIN:relative/libs" passed. The Linux patcher now rejects an empty
entry with the message the macOS patcher uses, the guest rule checks
every colon-separated entry, and USAGE.md says so.
2026-10-24 12:16:08 +00:00
Adrià b84322da6a Merge pull request #7918 from Kernel-Hunter/fix/rosetta-xsaveopt
fix(relinker): rewrite XSAVEOPT to XSAVE under --to-rosetta
2026-10-24 14:14:59 +02:00
Adrià 3fcacfbc0d Merge pull request #7822 from yash27git/fix/refuse-truncated-branch-rewrites
fix(relinker): guard length-changing rewrites around truncated branches
2026-10-24 14:14:54 +02:00
Dean Galvin d7e2371a84 Merge main into fix/libkernel-macos-guest-unwind-info 2026-10-25 01:14:01 +13:00
Dean Galvin 299486d9cf Merge main into feat/agc-color-logic-op 2026-10-25 01:14:01 +13:00
Adrià ce9471f191 Merge pull request #9836 from 00xDisaster/fix/pipeline-journal-no-workflows
fix(agc): keep the pipeline journal's newest pipelines when it is full
2026-10-24 14:13:50 +02:00
thuanquangandClaude befe345441 docs(agc): correct multisampled DCC acceptance in the CB passes debt entry
Co-Authored-By: Claude <[email protected]>
2026-10-24 19:12:50 +07:00
thuanquangandClaude 5489f07047 docs(libc): correct the RSIZE_MAX that swprintf_s and vswprintf_s assume
Co-Authored-By: Claude <[email protected]>
2026-10-24 19:11:55 +07:00
JaceTheBlu b98efb334b Merge branch 'main' of https://github.com/JaceTheBlu/AnyPS5 into fix/web-batch-counts 2026-10-24 14:10:47 +02:00
thuanquang 5575dc3108 Merge branch 'fix/linear-target-completion-stores' into fix/linear-target-import-creation 2026-10-24 19:09:41 +07:00
thuanquang d6d8966bba Merge remote-tracking branch 'origin/main' into fix/linear-target-completion-stores
# Conflicts:
#	core/libs/prx/libSceAgcDriver/CMakeLists.txt
2026-10-24 19:09:16 +07:00
harisibrar1andClaude Opus 5.5 0b701f2f2c fix(libc): reject a catch or upcast to a base that a private path repeats
Bases() counted only base subobjects reached through public paths, so a
class with the same base once publicly and once privately looked like it
had a unique base. Catch matching, the RTTI upcast callbacks and
__dynamic_cast's cross-cast then accepted it, where C++ requires an
unambiguous public base and libsupc++'s __do_upcast/__do_dyncast reject
it as ambiguous. Count every path to the base for ambiguity, and accept
the single subobject only when at least one path to it is public.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 08:04:21 -04:00
xXPBSXxandClaude Sonnet 5.5 3d0d349f84 test(libc): pin the CRT daylight bias for the Windows POSIX-form zone fixtures
On the hosted Windows runner the CRT keeps the system's daylight bias (0) when TZ changes, so PST8PDT in July converted with -(28800 + 0) = -28800 instead of -25200. The two Windows zone checks now save the bias, set it to -3600 after each PST8PDT or EST5EDT zone is selected, and restore it on exit. The expected winter and summer offsets and daylight flags are unchanged.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 14:03:17 +02:00
Adrià b930da950d Merge pull request #8377 from Gabrieljr42/feat/progress-library-report
feat(tools): report per-library progress in PR comparisons
2026-10-24 14:01:40 +02:00
hypermistandClaude Opus 5.5 2fce9e473b fix(libSceFont): check the font handle before reading it in the outline profile
ComputeFontGlyphsOutlineProfile read font->library before checking the
handle and cleared the output only after the context lookup, relying on
sceFontGetFontGlyphsOutlineProfile to have validated the handle. It now
rejects a null or non-font handle with SCE_FONT_ERROR_INVALID_FONT_HANDLE
first, clearing a non-null output, then checks the output, then clears it
before the library and context lookups, matching the firmware 13.60 order.
The test also covers a null output with a bad handle and a handle with no
library.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 00:58:25 +13:00
JaceTheBluandClaude Opus 5.5 028136ed0f fix(web): show batch file and module counts as numbers
The batch summary passed the total file and module counts through the
byte formatter, so two apps with 1519 files and 5 modules showed
"1.5 KiB files" and "5 B modules". Counts are now printed as numbers,
as the per-app list and the single-app summary already do.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 13:57:19 +02:00
Dean 2b1648419a Merge pull request #10287 from al3w0f205/test/videorecording-info-code-coverage
test(libSceVideoRecordingP): cover information query code validation
2026-10-25 00:56:51 +13:00
Dean 2bd1131041 Merge pull request #10280 from al3w0f205/test/imedialog-panel-size-position-coverage
test(libSceImeDialog): cover panel dimensions and position validation
2026-10-25 00:56:25 +13:00
Dean a011db7048 Merge pull request #8142 from Kernel-Hunter/fix/rosetta-masked-stores
fix(relinker): probe masked store elements before the store under --to-rosetta
2026-10-25 00:56:00 +13:00
Dean 10a9a7df68 Merge pull request #8701 from nikowolf123/feat/libkernel-sys-underscore-openat
feat(libkernel_sys): export _openat
2026-10-25 00:55:33 +13:00
Adrià a5f13b3fd4 Merge pull request #8354 from MarrasFederico/feat/system-service-app-title-id
feat(libSceSystemService): convert between the running title's app id and title id
2026-10-24 13:53:37 +02:00
Adrià c51dcca0de Merge pull request #8350 from adriaespii/feat/pad-get-controller-type
feat(libScePad): implement scePadGetControllerType
2026-10-24 13:52:35 +02:00
Adrià 1b4bd4413c Merge pull request #8218 from jagrat04/feat/libSceNpTrophy2-reward-icon
feat(libSceNpTrophy2): implement sceNpTrophy2GetRewardIcon
2026-10-24 13:50:25 +02:00
orezraeyandClaude Opus 5.5 6f8ad73d4a Merge main into fix/libkernel-pthread-attr-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 08:46:53 -03:00
Adrià bfb0806192 Merge pull request #8435 from hypermoist/feat/libc-libatomic-sized
feat(libc): add the sized __atomic library calls
2026-10-24 13:46:18 +02:00
orezraeyandClaude Opus 5.5 530497af72 Merge main into fix/libkernel-posix-thread-attr-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 08:44:42 -03:00
Bram910 4be5952b83 fix(tools): report excessive summary JSON nesting 2026-10-24 13:37:03 +02:00