Commit Graph
6138 Commits
Author SHA1 Message Date
Dean 4b0c38f0e4 Merge pull request #642 from Celegans12/feat/http-parse-status-line
feat(http): implement sceHttpParseStatusLine
2026-10-06 08:07:07 +13:00
Dean 20be619dce Merge pull request #640 from Celegans12/feat/systemservice-param-get-string
feat(systemservice): implement sceSystemServiceParamGetString
2026-10-06 08:06:55 +13:00
Dean 0bc7ea5cfe Merge pull request #635 from Celegans12/feat/np-session-signaling-offline-prepare
feat(npsessionsignaling): implement offline RequestPrepare and GetLocalNetInfo
2026-10-06 08:06:43 +13:00
Dean de82e335a3 Merge pull request #634 from Celegans12/feat/np-commerce-icon-layout
feat(npcommerce): implement sceNpCommerceSetPsStoreIconLayout
2026-10-06 08:06:01 +13:00
Dean 3e5558dd43 Merge pull request #632 from Celegans12/feat/razorcpu-markers
feat(razor): implement sceRazorCpuPushMarkerStatic and sceRazorCpuPopMarker
2026-10-06 08:05:19 +13:00
Dean 974c3fa1b5 Merge pull request #652 from Celegans12/fix/guest-arena-app-map-area
fix(libc): reach the application map area end with the guest arena
2026-10-06 08:04:36 +13:00
Dean 25c4a9460d Merge pull request #650 from Celegans12/fix/windows-direct-memory-commit
fix(libkernel): state the size of a direct memory backing Windows cannot create
2026-10-06 08:03:53 +13:00
Dean 78c17a1d47 Merge pull request #661 from NumberGuan/codex/fix-metadata-download-size
fix(libkernel): preserve 64-bit metadata download sizes
2026-10-06 08:03:11 +13:00
alfalfa-starandClaude Opus 5.5 124be3e7e8 feat(agc-driver): execute boolean SET_PREDICATION
SET_PREDICATION threw, and packets with the predicate header bit were
rejected. The executor now keeps the queue's predication: operations 3
and 4 read a 64- or 32-bit value and bit 8 selects whether predicated
packets run when it is non-zero or zero; operation 0 clears it. Before
a predicated packet runs while predication is active, queued labels are
recorded and the value is read, as for COND_EXEC; the packet is skipped
when the predicate fails.

Indirect buffers are inlined when a submission is copied, so a
predicated INDIRECT_BUFFER call keeps its header in front of the
inlined commands and records their end like a COND_EXEC range; the
block runs or is skipped on one evaluation, as on the command
processor. Query predication, a predicated COND_EXEC, predicated chains
and flips inside predicated command buffers throw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 21:02:47 +02:00
Dean e8893dfc64 Merge pull request #633 from Celegans12/feat/kernel-sync-on-address-wait-sized
feat(libkernel): implement sceKernelSyncOnAddressWait32 and sceKernelSyncOnAddressWait64
2026-10-06 08:02:29 +13:00
Dean 66db1930c7 Merge pull request #729 from adriadam10/feat/libc-fdtest-finf-fnan
feat(libc): implement _FDtest, _FInf and _FNan
2026-10-06 08:02:17 +13:00
Dean 17da563b25 Merge pull request #720 from adriadam10/feat/libkernel-unimplemented-names
fix(libkernel): name three Unimplemented stubs from their NIDs
2026-10-06 08:01:33 +13:00
Dean 6a0159cc80 Merge pull request #719 from adriadam10/feat/libkernel-coredump-names
fix(libkernel): name five sceCoredump stubs from their NIDs
2026-10-06 08:00:51 +13:00
Dean 7c0528a8f3 Merge pull request #718 from adriadam10/feat/libc-div
feat(libc): implement div
2026-10-06 08:00:09 +13:00
Dean 4520e2b664 Merge pull request #715 from adriadam10/feat/libc-cyber-unknown-names
feat(libc): implement std::_Xrange_error and the range_error type
2026-10-06 07:59:26 +13:00
Dean 823e01e3c1 Merge pull request #706 from adriadam10/feat/libc-strtoimax-logbf
feat(libc): strtoimax and logbf
2026-10-06 07:58:43 +13:00
Dean af96cadf77 Merge pull request #701 from adriadam10/tools/progress-function-try
fix(tools): count function-try-block exports in progress.py
2026-10-06 07:58:01 +13:00
Dean 7580b9e44c Merge pull request #679 from Celegans12/fix/relinker-windows-low-entropy-stacks
fix(relinker): keep Windows startup stacks below the guest arena
2026-10-06 07:57:17 +13:00
Dean cd79926080 Merge pull request #671 from NahuelGenchi/docs/fma-legacy-fused-assumption
docs: record the fused assumption of v_fma_legacy_f32 in TechnicalDebt
2026-10-06 07:56:35 +13:00
Dean cd8b6f3fcb Merge pull request #662 from NumberGuan/codex/fix-autorun-exit-status
fix(relinker): decode autorun exit status for the host
2026-10-06 07:56:24 +13:00
Dean 69619c4a66 Merge pull request #657 from NumberGuan/codex/fix-strdup-allocation-failure
fix(libc): return null when strdup allocation fails
2026-10-06 07:55:41 +13:00
Dean 7058a4ce6c Merge pull request #656 from NumberGuan/codex/fix-relinker-alignment
fix(relinker): reject invalid and overflowing alignment
2026-10-06 07:54:58 +13:00
Dean eabf1418de Merge pull request #647 from Celegans12/feat/videoout-strict-colorimetry
feat(videoout): accept the STRICT_COLORIMETRY buffer option
2026-10-06 07:54:15 +13:00
Dean 3c681d5199 Merge pull request #670 from NahuelGenchi/feat/global-atomic-csub
feat(shader): implement global_atomic_csub
2026-10-06 07:54:05 +13:00
Dean d5b7fbc127 Merge pull request #660 from Celegans12/feat/agc-dpp16-row-share
feat(shader): implement the DPP16 row_share controls
2026-10-06 07:53:22 +13:00
Dean 7df0923570 Merge pull request #659 from Celegans12/feat/agc-image-atomics-32bit-formats
feat(agc): implement image atomics on 32_SINT and 32_FLOAT surfaces
2026-10-06 07:52:39 +13:00
Dean bbc6f42881 Merge pull request #667 from adriadam10/test/image-atomics-bitwise
test(shader): cover the bitwise and unsigned image atomics
2026-10-06 07:51:54 +13:00
Dean a509d519a1 Merge pull request #689 from adriadam10/test/flat-global-loads-ci-time
test(shader): split the flat and global loads test to keep it within CI's time limit
2026-10-06 07:51:41 +13:00
Dean 7b1d7cc78a Merge pull request #688 from adriadam10/test/global-atomics-ci-time
test(shader): split the global atomics test to keep it within CI's time limit
2026-10-06 07:50:59 +13:00
Dean 18f1548703 Merge pull request #678 from Celegans12/feat/agc-clip-cntl-dx-linear-attr
feat(agc): accept linear attribute clipping in PA_CL_CLIP_CNTL
2026-10-06 07:50:16 +13:00
Dean 0a081cbe8c Merge pull request #673 from Celegans12/feat/agc-pm4-cond-exec
feat(agc): implement COND_EXEC
2026-10-06 07:49:33 +13:00
Dean 5e68f0ad09 Merge pull request #654 from Celegans12/feat/agc-write-data-cache-policy
feat(agc): accept the WRITE_DATA cache policy
2026-10-06 07:48:51 +13:00
Dean 75aa7f2197 Merge pull request #651 from Celegans12/feat/agc-interpolant-mapping-f16-high
feat(agc): implement the interpolant mapping variant for high-half f16 inputs
2026-10-06 07:48:08 +13:00
Dean d9162684ee Merge pull request #646 from Celegans12/fix/agc-get-is-trinity-mode
fix(agc): store sceAgcGetIsTrinityMode's flag through its out pointer
2026-10-06 07:47:55 +13:00
Dean a974aebf92 Merge pull request #728 from adriadam10/feat/agcdriver-submit-validation-names
fix(agcdriver): name the four SubmitValidation stubs from their NIDs
2026-10-06 07:47:13 +13:00
Dean f8cfceb2eb Merge pull request #725 from adriadam10/feat/agc-unknown-names
fix(agc): name nine Unimplemented stubs from their NIDs
2026-10-06 07:46:30 +13:00
Dean 64e8667e7c Merge pull request #687 from Celegans12/fix/agc-tessellation-feature
fix(agc): log the Vulkan features after tessellation is enabled
2026-10-06 07:45:46 +13:00
Adrià FranchandClaude 5864b20dcb feat(shader): accept every SDWA selector, clamp and omod on v_ldexp_f16
Co-Authored-By: Claude <[email protected]>
2026-10-05 20:31:38 +02:00
Adrià FranchandClaude b8e1936783 fix(shader): accept clamp and omod on every f16 VOP3 result op
clamp (and omod, ignored while f16 denormals are enabled) were refused or
dropped per op: v_{add,sub,subrev,mul,min,max}_f16, v_ldexp_f16,
v_frexp_mant_f16, v_cvt_norm_{i,u}16_f16, v_{max3,min3,med3,div_fixup}_f16.
They now share one clamp on the f16 bits (clampF16Bits).

Co-Authored-By: Claude <[email protected]>
2026-10-05 20:30:47 +02:00
Adrià FranchandClaude 55f548d6bc feat(libc): implement wcsrtombs_s
Co-Authored-By: Claude <[email protected]>
2026-10-05 20:29:18 +02:00
Dean fdd6519eac Merge pull request #507 from adriadam10/feat/vop3-integer-clamp
fix(shader): saturate VOP3 integer mad/sad results on clamp
2026-10-06 07:27:34 +13:00
Cliff Syner b9c1c8848f feat(libc): implement strnlen_s
The DQbtGaBKlaw import was a throwing stub (libcCyberUnknown17). It is
the NID of "strnlen_s", which C11 K.3.7.4.4 defines as strnlen that
returns 0 for a null pointer.

The removed stub comment from #358 described its call site as
float -> float, which contradicts the hash-verified name; #492 left the
stub untouched for that reason.
2026-10-05 18:26:06 +00:00
alfalfa-starandClaude Opus 5.5 ee2b3be52f fix(relinker): allow duplicate Linux guest exports that no module imports
Guest modules a title opens with sceKernelLoadStartModule are looked up
through their own handle, so several modules may export the same name:
every Wwise plugin exports g_pAKPluginList. On Linux a duplicate now
fails only when the executable or a guest module imports it, as the
provider would be ambiguous. Windows keeps rejecting duplicates.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 20:21:11 +02:00
Celegans12andClaude Opus 5.5 75e2e7252e fix(agc): log the Vulkan features after tessellation is enabled
The device constructor printed "Vulkan features tessellationAvailable"
before it read VkPhysicalDeviceFeatures and set tessellationShader, so
the line reported 0 on every GPU, including ones that enable the
feature. The rect-list and tessellation paths already read the enabled
value; only the diagnostic was wrong, and it suggested that
tessellation was unavailable.

Print the line right after the feature is enabled. The mesh, depth
clip and unrestricted depth range values it also reports are set
earlier and do not change.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 20:20:50 +02:00
alfalfa-starandClaude Opus 5.5 1d9d5ab491 fix(libs): keep a $ORIGIN runpath in the patched prx libraries
The NID patcher rebuilds .dynstr keeping only the DT_NEEDED and
DT_SONAME strings, so DT_RUNPATH kept a stale offset and the patched
libraries shipped with an empty runpath. A library could then load only
those sibling prx that the executable already loads itself:
libSceVideoOut.prx needs libSceKeyboard.prx, which a title that does
not import libSceKeyboard never loads, so it fails at startup.

The patcher now keeps DT_RPATH and DT_RUNPATH strings, and the prx
libraries are linked with a $ORIGIN runpath instead of the build
directory, so they find each other wherever they are copied.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 20:20:14 +02:00
Adrià FranchandClaude 3f2e5150c2 feat(libc): implement _Xtime_get_ticks
Co-Authored-By: Claude <[email protected]>
2026-10-05 20:16:11 +02:00
Dean 33e9a12159 Merge pull request #511 from adriadam10/feat/sdwa-vop2-float-selectors
feat(shader): accept every SDWA selector on VOP2 float ops
2026-10-06 07:13:44 +13:00
Dean b6c889d208 Merge pull request #625 from DotDebian/fix/mimg-address-instruction-dimension
fix(shader): locate image LOD, mip and sample index by the instruction's dimension
2026-10-06 07:13:30 +13:00
Adrià FranchandClaude 68b71c971a feat(libc): implement _FDtest, _FInf and _FNan
Co-Authored-By: Claude <[email protected]>
2026-10-05 20:10:34 +02:00
alfalfa-starandClaude Opus 5.5 d7f3b7c494 feat(voiceqos): implement sceVoiceQoSInit
A title passes a work memory block and app type 0x20000000, and turns
voice chat off when initialization fails. Initialization now records
the library as initialized and succeeds. A null or empty memory block,
another app type and a second initialization throw, as their error
codes are unknown.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 20:09:25 +02:00