Commit Graph
9104 Commits
Author SHA1 Message Date
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
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
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
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
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
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
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
Qu Yi 63529b3c6d feat(libSceIcu): implement converter stop and skip callbacks 2026-10-29 10:31:44 +08:00
JJenkx 39f432f357 fix(libc): allow zero-stride bsearch_s as bundled libc does 2026-10-28 22:17:34 -04:00
MarcZX10 4e90e51864 docs(debt): record what the host report was not run on
The Windows and macOS branches and a hardware GPU's output are not
checked, and the list of required Vulkan items is kept in step with
VulkanDevice.cpp by hand.
2026-10-29 02:07:19 +00:00
MarcZX10 54110e0c31 docs(game-testing): point the host line of a test report at the host report
The report prints the CPU, OS, GPU, driver and Vulkan items in one block;
the power source and the refresh rate stay with the tester.
2026-10-29 02:07:11 +00:00
MarcZX10 93d823f523 docs(env): list ANYPS5_HOST_REPORT in the environment reference
The variable is read in VulkanDevice.cpp; the row gives its values and the
refusal of any other.
2026-10-29 02:07:11 +00:00
MarcZX10 6dc9d58c2b docs(env): document ANYPS5_RUMBLE
List the controller vibration strength variable in the libScePad table with its default of 100, the paths it covers, the adaptive trigger effects it does not, and the error an invalid value raises.
2026-10-29 02:06:36 +00:00
xXPBSXxandClaude Sonnet 5.5 ecd5ae72f7 docs(agc): count how local titles call sceAgcAcbMemSemaphore and sceAgcDcbMemSemaphore
Extends the entry by one sentence of counts: 13 of 53 local titles call both functions once each, from one wrapper in the title's library code that passes the operation as a byte and zeroes two arguments for operation 7. Counts and a description of the title code only; nothing is claimed about console behavior.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 02:55:44 +01:00
dantdmdarealguy 9c13197689 docs(debt): narrow libSceSystemService's collapsed-dispatch note to the throwing calls
The LncUtil collapsed dispatch entry, written by d4f2911b74 and
50c8103af2 (#9137), said its protected service implementations remain
unchanged. Of the functions whose signatures d4f2911b74 restored,
sceSystemServiceGetAppId answers for the running title since
7c83407e11 (#8354) and sceLncUtilGetAppId since 695041093b (#10801).
Only the status, GPU-crash, dialog-activation, shared-memory,
continue and VSH-ready calls still throw.
2026-10-28 20:55:04 -05:00
Queuze d2ce672d13 feat(libSceFreeType): support per-face x-height limits 2026-10-28 22:06:59 -03:00
Zain a6b4c2ee7c fix(prx): drop duplicate VrTracker2 exports 2026-10-28 19:42:21 -05:00
Zain 49a02b630d Merge remote-tracking branch 'origin/main' into HEAD 2026-10-28 19:36:25 -05:00
Adrià 234f4d81bb fix(agc): check the rendering wait cursor before reading it, drop the mode 1 test 2026-10-29 01:29:23 +01:00
Eduardo Ruiz f94297b8c2 docs(libc): drop the title name from the _Throw debt entry 2026-10-29 01:03:00 +01:00
Eduardo Ruiz c7b70f44b0 feat(libc): implement std::_Throw(const std::bad_array_new_length&)
Follow the console libc.prx (PPSA02530) at 0xcb2d0: ignore the argument and throw the static bad_array_new_length object. Star Wars Racer (PPSA28416) imports it.
2026-10-29 01:03:00 +01:00
slopgobblercobbler 2a4aad96e5 fix(agc): validate rendering wait buffer and expand resource registration tests 2026-10-29 00:51:53 +01:00
slopgobblercobbler e0e260357f docs(debt): document unmeasured sceSaveDataDialogOpen param size validation 2026-10-29 00:41:40 +01:00
slopgobblercobbler 0d608b579c fix(libSceSaveDataDialog.native): validate param size in sceSaveDataDialogOpen and condense debt entry 2026-10-29 00:40:57 +01:00