Commit Graph
10207 Commits
Author SHA1 Message Date
Adrià 9365465457 Merge pull request #12186 from Gonic0/fix/libc-getifaddrs-af-link-macos
fix(libc): list getifaddrs AF_LINK entries on macOS hosts
2026-10-29 07:44:43 +01:00
Adrià 3f7e605b86 Merge pull request #12739 from XairRrR/docs-progress-inert-wrapper
docs(progress): count a return of any local behaviourally empty wrapper as empty
2026-10-29 07:44:27 +01:00
Adrià 80281b3164 Merge pull request #12564 from Ralizaki/feat/libSceUserService-accessibility-settings
docs(libSceUserService): record unmeasured keyremap and zoom accessibility getters
2026-10-29 07:44:22 +01:00
Adrià 01cf30b8b3 Merge pull request #12726 from XairRrR/docs-build-trace-draw-threads
docs(build): list the draw committer and finisher among the trace buffer threads
2026-10-29 07:44:17 +01:00
Adrià e22da74c71 Merge pull request #12707 from xXPBSXx/docs/net-send-flags-count
docs(debt): count the flags local titles pass to sceNetSend and sceNetSendto
2026-10-29 07:44:11 +01:00
Adrià 2502381d12 Merge pull request #12716 from XairRrR/docs-environment-wgetenv-reader
docs(environment): list _wgetenv among the readers of environment names
2026-10-29 07:44:06 +01:00
Adrià 80bda2fb3c Merge pull request #12701 from xXPBSXx/docs-agc-memsemaphore-callsites
docs(agc): count how local titles call sceAgcAcbMemSemaphore and sceAgcDcbMemSemaphore
2026-10-29 07:44:01 +01:00
Adrià 364a80c97f Merge pull request #12697 from JJenkx/windows/docs-bundled-module-order
docs: state that bundled modules are searched before the host libraries
2026-10-29 07:43:54 +01:00
Adrià f734bb8a9e Merge pull request #12685 from dantdmdarealguy/docs/debt-system-service-lncutil-dispatch
docs(debt): narrow libSceSystemService's collapsed-dispatch note to the throwing calls
2026-10-29 07:43:40 +01:00
Adrià b4acc8962b Merge pull request #12618 from FelixKunzJr/docs/rosetta-m2-pro-macos-27
docs(relinker): record Rosetta instruction support on an M2 Pro with macOS 27.0.1
2026-10-29 07:43:33 +01:00
XairRrR 522b8dc76f docs(architecture): list every case that builds a draw pipeline whole
The pipeline library paragraph listed per-face depth bias, split alternate
alpha blends, rect lists, geometry shaders and a stage without a variant id
as the pipelines created whole. libraryKeys in Pipeline.cpp also builds a
pipeline whole for barycentrics emulated through generated tessellation
stages, for tessellation on MoltenVK, for a pixel shader with a fragment
shader interlock or with its LDS array in a storage buffer, and for every
pipeline under APS5_PIPELINE_STATS=1, and it tests a stage's
RecompileResult::Identity rather than a variant id. The paragraph now lists
these cases and names libraryKeys.

AI-assisted: yes
2026-10-29 07:37:46 +01:00
xdCloudy 94095ef0c0 fix(libSceBeisobmf): validate guest accessor memory 2026-10-29 06:36:44 +00:00
XairRrR 6b3f098947 docs(progress): count a return of any local behaviourally empty wrapper as empty
PROGRESS.md says a definition is behaviourally empty when it returns a
local static wrapper that is itself behaviourally empty. The scanner
recognizes wrappers with the same pattern it uses for stub wrappers,
where static is optional, so a non-static helper such as
int Support() { return 0; } also makes int APS5_VABI E() { return
Support(); } behaviourally empty. Drop the static qualifier from the
description.

AI-assisted: yes
2026-10-29 07:23:36 +01:00
XairRrR 669ad73b05 docs(libSceAudioOut): record the AudioOut2 context handle gaps
The live context set rejects stale and invalid handles but not a destroy
that races another call on the same handle, because the lookup releases
the set's lock before the caller uses the context. A destroyed handle also
becomes valid again when a new context gets the same allocation. Both are
recorded in the libSceAudioOut debt file.

AI-assisted: yes
2026-10-29 06:56:28 +01:00
Dean 2fbf1c6d97 Merge pull request #12703 from xXPBSXx/q2/razorcpu-debt-table
docs(libSceRazorCpu): list the calls that return without recording anything
2026-10-29 18:50:34 +13:00
Dean c14f7543d0 Merge pull request #11189 from JaceTheBlu/feat/libressl-verify-param-host
feat(libSceLibreSsl): implement X509_VERIFY_PARAM_set1_host
2026-10-29 18:49:45 +13:00
Dean e0a11b3fba Merge pull request #9515 from EagleBearerYS/fix/libkernel-getsockopt-net-sockets
fix(libkernel): getsockopt reads options of libSceNet sockets
2026-10-29 18:49:11 +13:00
XairRrR 655607481d docs(build): list the draw committer and finisher among the trace buffer threads
The performance trace section said that APS5_TRACE_EVENTS sizes the
buffers of the queue workers and the presenter, and that only those
threads record a window. The draw committer of pipelined draws, which is
on by default, and the draw finisher of APS5_DRAW_PIPELINE also bind to
the trace with the default capacity, so PerformanceTrace::BindThread
gives them a buffer of APS5_TRACE_EVENTS events too, and they record
their scopes in the window. The section now names both threads.

AI-assisted: yes
2026-10-29 06:23:55 +01:00
XairRrR d322c22b2a fix(libSceVideodec): throw for decoded pictures deeper than 8 bits
sceVideodecDecode and sceVideodecFlush copy the picture libSceVideodec2
decodes as 8-bit NV12: one byte per sample and a pitch aligned from the
width in pixels. For a High 10 H.264 stream libSceVideodec2 writes two
bytes per sample and reports it in the picture header's bit depth, which
the copy ignored. A small 10-bit picture, whose rows fit the staging
buffer, was therefore returned as a valid 8-bit picture holding the
first half of each row's bytes, with success.

The picture header's bit depth is now checked, and a picture deeper than
8 bits throws, as the console's output for it is not known. The debt
file records it.

AI-assisted: yes
2026-10-29 06:06:41 +01:00
Henryisdjfunkyho 472500cb80 fix(libc): honor rounding modes in nearbyintf 2026-10-28 22:06:25 -07:00
Henryisdjfunkyho f516dc406a docs(libc): record unmeasured nearbyint variants 2026-10-28 22:06:24 -07:00
Henryisdjfunkyho 3182d23266 fix(libc): raise inexact for nearbyintf 2026-10-28 22:06:24 -07:00
Nicolas GonzalezandClaude Opus 5.5 5ff5075544 fix(shader): give one-lane waves an elected atomic max per lane
On a one-lane wave (vertex and local programs without vertex subgroups,
merged hull programs), a wave64 f32 max half-wave scan threw at its
v_permlanex16_b32. When the scan's lane 31 and 63 reads only elect,
through v_cmpx_eq_f32 against each lane's own key, the lanes that
buffer_atomic_umax or smax that maximum at a wave-uniform address with an
unused result, each invocation now takes its own key: every active lane
writes it, and memory ends with the wave's maximum because the keys are
proven non-negative and not NaN. The permutation, whose value then
reaches no other result, keeps its own value.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 02:04:56 -03:00
xXPBSXxandClaude Opus 5.5 f205990ead docs(debt): count one two-path Push site as not constant
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 05:58:28 +01:00
AdriàandClaude Sonnet 5.5 fbc3d2ef56 docs(architecture): describe the ANYPS5_LOG_FILE copy of the runtime log
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 05:57:24 +01:00
MarcZX10 c10620b57b docs(debt): record that ANYPS5_LOG_FILE starts under the Windows loader lock 2026-10-29 05:57:24 +01:00
MarcZX10 b5fa55d0d4 docs(debt): record the missing size cap and child-process limits of ANYPS5_LOG_FILE 2026-10-29 05:57:24 +01:00
MarcZX10 0fbd041ad7 docs(debt): record the stream ordering and kill limits of ANYPS5_LOG_FILE 2026-10-29 05:57:24 +01:00
MarcZX10 7c463369f2 docs(debt): record that the Windows ANYPS5_LOG_FILE path was not run 2026-10-29 05:57:24 +01:00
MarcZX10 c78f142772 docs(env): list ANYPS5_LOG_FILE in the libc environment table
The variable is read by the log copy in libc; the row gives its kind,
that an empty value counts as unset, the appending behaviour and the
startup error.
2026-10-29 05:57:24 +01:00
XairRrR 664a5c93e8 docs(hw-oracle): build the oracle under XDG_CACHE_HOME when it is set
HW_ORACLE.md said the first run builds oracle.c into
~/.cache/anyps5-hw-oracle/. hw_oracle.py takes the cache root from
XDG_CACHE_HOME and falls back to ~/.cache only when that variable is unset
or empty, so with XDG_CACHE_HOME=/tmp/xdg the binary is built under
/tmp/xdg/anyps5-hw-oracle/ and nothing appears in ~/.cache. The document
now names XDG_CACHE_HOME, the ~/.cache fallback, and HW_ORACLE_CACHE as
the override of both.

AI-assisted: yes
2026-10-29 05:51:05 +01:00
Dean 4004c97114 Merge pull request #12255 from Mherberts/codex/feat-rosetta-mulx
feat(relinker): lower MULX under --to-rosetta
2026-10-29 17:34:58 +13:00
akkadbakkad89andDevin f2b7333ae2 fix(relinker): make kernel-family fallback siblings optional on Windows
Family fallback entries appended for kernel-variant imports were marked
imported, so the startup stub hard-required every family member; a
partial libs/ without the unused sibling aborted with a load failure.
Track fallback positions separately so only the declared module and
canonical libkernel.prx stay required while siblings probe and skip.

Adds missing-sibling cases pinning expected providers (11 for the
declared variant, 22 for canonical libkernel.prx) and trims the debt
entry below the 1000-character limit.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-29 10:04:37 +05:30
akkadbakkad89 dcbc3c6523 docs(relinker): describe kernel-family import fallback in both directions 2026-10-29 10:04:31 +05:30
Dean d71fe2fa87 Merge pull request #12668 from Queuse/codex/freetype-increase-x-height
feat(libSceFreeType): support per-face x-height limits
2026-10-29 17:33:47 +13:00
xXPBSXxandClaude Opus 5.5 f744a54063 docs(debt): name what the send flags count leaves unread
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 05:32:41 +01:00
milescovielloandClaude Opus 5.5 90efd76e2a docs(shader): give image_sample_a of a 2D MSAA T# its own debt entry
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 04:27:49 +00:00
XairRrR 1c82f56296 docs(environment): list _wgetenv among the readers of environment names
The opening paragraph of docs/dev/ENVIRONMENT.md lists the calls through
which the code reads environment names, and so the reads that the
Conventions check holds to a row. It omits _wgetenv with a wide literal.
tools/env_reference.py has recognised that form since 65da8ac106, and the
code reads nine names through it on Windows, among them
ANYPS5_SHADER_CACHE_DIR, ANYPS5_SCREENSHOTS and APS5_DUMP_SUBMITS. The
paragraph now names _wgetenv beside GetEnvironmentVariableW.

AI-assisted: yes
2026-10-29 05:23:51 +01:00
xXPBSXxandClaude Opus 5.5 ecaec7b2e6 docs(debt): state that the send flags count reads only the executables
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 04:58:52 +01:00
Nicolas GonzalezandClaude Opus 5.5 95e7deeaab fix(agc): draw compacted restart lists and restart-free strips through the barycentric patches
The barycentric tessellation path refused any draw with the primitive
restart bit set. A non-indexed strip ignores the bit, and on a device
without VK_EXT_primitive_topology_list_restart a list never restarts on
the host, since its indices are compacted on the CPU first, so both now
take the patches. Indexed strips with primitive restart still throw,
now also in Graphics::Draw, which knows the draw is indexed.
Patch-list pipelines never enable primitive restart, which Vulkan does not
allow for them without primitiveTopologyPatchListRestart.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 00:56:03 -03:00
xXPBSXxandClaude Sonnet 5.5 44b24ddb5c docs(agc): say that the MemSemaphore counts are direct calls from the executable
Adds the missing full stop after the original sentence and states that the 13 titles call both functions directly from the executable, so the entry does not read as if the other titles never call them.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 04:55:01 +01:00
milescovielloandClaude Opus 5.5 20d8e0c35d docs(libkernel): list a failed getloadavg next to Windows in vm.loadavg's debt entry
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 03:48:30 +00:00
Zain 7211bfff43 docs(savedata): clarify provisional lifecycle behavior 2026-10-28 22:30:25 -05:00
JJenkxandClaude Opus 5.5 1c15869a4e docs: limit the bundled-module rule to imports that name the library
Follows oneandonlydean's review: on Windows a converted app0 module is
put ahead of the host library only for imports that name its library,
so a bundled module serves those imports, not every NID it exports.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 23:30:19 -04:00
xXPBSXxandClaude Opus 5.5 ae4fbac236 docs(debt): count the flags local titles pass to sceNetSend and sceNetSendto
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 04:29:37 +01:00
Dean b433c40f2f Merge pull request #12251 from Michael-KD/fix/div-scale-fixup-f32-denormal-modes
fix(shader): translate v_div_scale_f32 and v_div_fixup_f32 in f32 denormal modes 1 and 2
2026-10-29 16:25:43 +13:00
JJenkxandClaude Opus 5.5 77642c6a26 docs: scope the module search order and its libSceLibcInternal exception
Follows rooklz's review. The bullet now covers Windows and Linux only,
says the Windows stub looks up by symbol name before NID, and states
that Windows searches the host libSceLibcInternal.prx and libc.prx
before the bundled libc.prx for libSceLibcInternal imports, skipping
its exports that only return zero.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 23:18:11 -04:00
JJenkxandClaude Opus 5.5 54a437655c docs: state that bundled modules are searched before the host libraries
An import binds to the first module that exports its NID. The Windows
entry stub searches converted app0 modules before libs, and on Linux the
guest modules loaded at startup come before the host libraries in
DT_NEEDED. A title that ships libc.prx therefore runs its own libc for
the NIDs that module exports.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 22:52:57 -04:00
Zain 7016a894f7 feat(libSceSaveData): implement sceSaveDataGetMountedSaveDataCount, sceSaveDataAbort, and sceSaveDataClearProgress 2026-10-28 21:39:18 -05:00
hyvvs 28f31ed877 feat(libSceMbus): initialize event callback table 2026-10-29 03:33:22 +01:00