Commit Graph
6138 Commits
Author SHA1 Message Date
LexroidandClaude Opus 5.5 fcd349fb2b docs: record the assumed InitParameter2 layout in TechnicalDebt
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-06 08:54:46 +03:00
LexroidandClaude Opus 5.5 82488a5665 feat(libSceJson2): implement typed construction, indexed and keyed value access, InitParameter2
Value(ValueType) constructs a value of the given type. getValue(index) and
getValue(String) return the element or member, or the null-access result when
it is missing, as operator[] does. referValue(index) returns the mutable array
element, or null when the value is not an array or the index is out of range,
as referValue(String) does for members. Object::size returns the member count.

InitParameter2 is the class form of InitParameter: its constructor zeroes it,
setAllocator and setFileBufferSize record their arguments, and
Initializer::initialize(InitParameter2) succeeds as
initialize(InitParameter) does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-06 08:54:37 +03:00
Adrià FranchandClaude 6d2713cbdd feat(libkernel): implement sceKernelGetDirectMemoryType
Co-Authored-By: Claude <[email protected]>
2026-10-06 07:44:18 +02:00
Adrià Franch 5a031f3ef6 fix(ngs2): start UserFx2 process flags at 1 on the first call 2026-10-06 07:40:12 +02:00
Adrià FranchandClaude 52869f0112 feat(ngs2): custom submixer rack with UserFx2 modules
Co-Authored-By: Claude <[email protected]>
2026-10-06 07:40:12 +02:00
Celegans12 a2e0be6e76 docs: record how EXEC written as a value is read on narrow subgroups
On a host subgroup narrower than 32 lanes, threadBit reads an EXEC
written with s_mov_b32 or s_mov_b64 at bit LaneId & 31 of EXEC_LO, and
LaneId is the subgroup invocation id. Every lane at or above the host
subgroup size therefore reads the bit of a lower lane, in wave32 and
wave64 alike. An EXEC produced by a compare stays consistent because
its ballot is subgroup-local as well. Found while investigating the
llvmpipe failure of #751.
2026-10-06 07:37:02 +02:00
Celegans12 76ddd9b6d4 feat(agc): implement unnormalized sampler coordinates on single-level 1D and 2D views
An S# with FORCE_UNNORMALIZED threw in DecodeSamplerResource. It is now
bound through a Vulkan sampler with unnormalizedCoordinates when every
use stays where the S# and the host select the same texels.

ShaderInfoCollector records the live uses of each sampler after Apply
and dead-code elimination, and the emitter shares its explicit-LOD
predicate. Populate flags a direct S# with the bit that only explicit-LOD
image_sample without offset, comparison, derivatives or _a uses, paired
only with direct 1D or 2D images without a format conversion; anything
else throws. The driver checks the S# filters, clamps, TRUNC_COORD and
MC_COORD_TRUNC, creates the sampler with nearest mips and a zero LOD
range, and requires a single-level, single-layer 1D or 2D view of mip 0.
The shader disk cache format becomes 5.
2026-10-06 07:36:30 +02:00
Dean 481c85e7c9 Merge pull request #778 from adriadam10/feat/ngs2-sampler-filter
feat(libSceNgs2.native): sampler voice low-pass filter
2026-10-06 18:36:28 +13:00
Dean 35a54f470c Merge pull request #666 from adriadam10/feat/sdwa-ldexp-f16
feat(shader): accept every SDWA selector, clamp and omod on v_ldexp_f16
2026-10-06 18:35:46 +13:00
Dean d2b23fb135 Merge pull request #664 from adriadam10/feat/f16-ternary-clamp
fix(shader): accept clamp and omod on every f16 VOP3 result op
2026-10-06 18:35:04 +13:00
Dean aa335b85ba Merge pull request #802 from Raghav314/feat/videoout-allow-wqhd-detection
feat(libSceVideoOut): implement sceVideoOutAllowOutputResolutionWqhdDetection
2026-10-06 18:34:23 +13:00
Adrià FranchandClaude ab98cd7f4a feat(libkernel): sceKernelReadv, Writev, Preadv and Pwritev
Co-Authored-By: Claude <[email protected]>
2026-10-06 07:33:51 +02:00
Dean f55a22e204 Merge pull request #801 from Raghav314/feat/kernel-get-available-cpumask
feat(libkernel): implement sceKernelGetAvailableCpumask
2026-10-06 18:33:42 +13:00
Adrià FranchandClaude 3515ead91a feat(rtc): implement sceRtcFormatRFC2822 and the RFC 2822/3339 local-time formatters
Co-Authored-By: Claude <[email protected]>
2026-10-06 07:27:27 +02:00
Adrià FranchandClaude 819c045327 feat(libSceNgs2.native): sampler voice low-pass filter
Co-Authored-By: Claude <[email protected]>
2026-10-06 07:16:25 +02:00
Adrià FranchandClaude 4e5a1fe9d4 feat(rtc): parse RFC 2822 and asctime strings in sceRtcParseDateTime
Co-Authored-By: Claude <[email protected]>
2026-10-06 07:16:02 +02:00
Adrià FranchandClaude 79057e9160 refactor(libs): drop replacements of modules that titles ship themselves
Co-Authored-By: Claude <[email protected]>
2026-10-06 07:11:33 +02:00
raghav314andClaude Opus 5.5 958b856832 feat(libSceVideoOut): implement sceVideoOutAllowOutputResolutionWqhdDetection
Lets an open port report 2560x1440 output (resolution 4). The output
status here is 1080p or 2160p, so the call changes nothing it reports.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-06 10:10:25 +05:30
raghav314andClaude Opus 5.5 670ffb9da3 feat(libkernel): implement sceKernelGetAvailableCpumask
Returns the CPU mask threads get by default (DEFAULT_THREAD_AFFINITY,
0x1FFF), the value itself rather than an error code.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-06 09:41:52 +05:30
Dean 109a3281f8 Merge pull request #767 from 011010/feat/relinker-windows-tls-alu-reads
feat(relinker): support Windows guest TLS reads by ALU instructions
2026-10-06 16:35:21 +13:00
Dean 9ee9f8fc7e Merge pull request #798 from nicolasabosch/fix/agc-profile-output
fix(agc): move periodic profiling writes off GPU workers
2026-10-06 16:33:36 +13:00
Dean aff8dfb3f3 Merge pull request #797 from ThisIsAkill/fix/libc-fiopen-export
feat(libc): export std::_Fiopen as unimplemented
2026-10-06 16:32:54 +13:00
Dean 4ee77fc5ac Merge pull request #796 from CnRJay/feat/appcontent-addcont-mount
feat(libSceAppContent): answer add-content mounts without installed content
2026-10-06 16:32:12 +13:00
Dean 746d3c6897 Merge pull request #794 from CnRJay/feat/ime-closed-panel
feat(libSceIme): report the closed IME panel
2026-10-06 16:31:30 +13:00
Dean 0db5bfcf36 Merge pull request #792 from CnRJay/feat/libkernel-sendmsg-recvmsg
feat(libkernel): implement sendmsg and recvmsg
2026-10-06 16:31:19 +13:00
Dean dee8fa1855 Merge pull request #791 from CnRJay/feat/agc-driver-resource-queries
feat(libSceAgcDriver): answer the resource registration queries
2026-10-06 16:30:38 +13:00
Dean faf985ea11 Merge pull request #790 from CnRJay/feat/image-msaa-load
feat(shader): implement image_msaa_load
2026-10-06 16:29:56 +13:00
Dean 77a8bf3370 Merge pull request #789 from Celegans12/feat/voiceqos-init-app-type
feat(voiceqos): accept app type 0x10000000 in sceVoiceQoSInit
2026-10-06 16:29:14 +13:00
Dean cf139f3e4c Merge pull request #751 from Celegans12/feat/shader-sdwa-vmov-byte-preserve
feat(shader): accept every SDWA selector on v_mov_b32
2026-10-06 16:28:32 +13:00
Dean 331775b3e7 Merge pull request #685 from nicolasabosch/feat/agc-raw-compute-programs
feat(agc): support version initialization and raw compute programs
2026-10-06 16:27:51 +13:00
Dean 0d21b1dea4 Merge pull request #683 from nicolasabosch/feat/homebrew-runtime-exports
feat(libs): implement homebrew libc and kernel runtime exports
2026-10-06 16:27:09 +13:00
Nicolas Abosch 4a43d433e0 fix(agc): defer remaining periodic profiling reports 2026-10-05 23:41:18 -03:00
Nicolas Abosch 9c4b4d701c fix(agc): write profiling reports off GPU workers 2026-10-05 23:36:25 -03:00
Dean b10f570189 Merge pull request #787 from NahuelGenchi/fix/agc-host-stage-barriers
fix(agc): include the host stage in barriers that name host accesses
2026-10-06 15:14:58 +13:00
Dean ded277c3ef Merge pull request #779 from NahuelGenchi/fix/pixel-valid-mask-helper-kill
fix(shader): keep helper invocations out of the pixel valid mask kill
2026-10-06 15:14:17 +13:00
Dean 15cc3b7347 Merge pull request #663 from adriadam10/feat/div-omod-scale
fix(shader): apply clamp on v_div_scale_f64 and accept omod on the f32 division steps and v_div_scale
2026-10-06 15:13:36 +13:00
Dean 06cb7b86da Merge pull request #765 from khasinski/fix/f32-source-modifiers-bits
fix(shader): apply f32 abs and neg source modifiers on the sign bit
2026-10-06 15:12:53 +13:00
Akhil MoolaandClaude Sonnet 5.5 be6705e977 feat(libc): export std::_Fiopen as unimplemented
PPSA21564 and PPSA21567 import std::_Fiopen (NID vYWK2Pz8vGE), the only libc
NID the host libc lacks. Without it the executable fails to load against
the host libc when the title's own libc.prx is left out of the guest
conversion, which is how the Linux runs of PPSA21564 avoid the libc.prx
binding crash. The values of the open mode and the meaning of the
protection argument are unknown, so the export throws when called; it was
never called in a 300 s run of PPSA21567.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_014A3UgWDUxE1EeHyVZm6tiN
2026-10-05 20:06:18 -06:00
Nicolas Abosch e5191ebf13 fix(agc): reuse validated raw compute snapshots 2026-10-05 22:52:03 -03:00
Nicolas Abosch 41cd420cc6 feat(agc): support version initialization and raw compute programs 2026-10-05 22:47:38 -03:00
Nicolas Abosch e96e9c18cc fix(relinker): map module name aliases to declared dependencies 2026-10-05 22:47:35 -03:00
Nicolas Abosch bf0ee4019d fix(relinker): bind Windows imports to their declared modules 2026-10-05 22:43:25 -03:00
Nicolas Abosch 7789c0a57b feat(libs): implement homebrew libc and kernel runtime exports 2026-10-05 22:40:16 -03:00
011010 7edf5d2ec2 fix(relinker): derive ZF from the subtraction in ALU execution tests
The cmp-equal execution case computed ZF from the untouched destination operand instead of the comparison result, so the self-check took the failure path and the Windows CI job failed with exit code 8. Derive ZF from the real subtraction for sub/cmp and from the real sum for add.
2026-10-05 19:39:50 -06:00
Chad 89465f122f Merge remote-tracking branch 'upstream/main' into feat/http2-cookie-box
# Conflicts:
#	docs/dev/TechnicalDebt.md
2026-10-05 20:23:49 -05:00
Chad 03afdb55bb Merge remote-tracking branch 'upstream/main' into feat/libkernel-sendmsg-recvmsg
# Conflicts:
#	core/libs/prx/libkernel/Unimplemented.cpp
2026-10-05 20:23:13 -05:00
Chad f2427b1a24 Merge remote-tracking branch 'upstream/main' into feat/agc-driver-resource-queries
# Conflicts:
#	docs/dev/TechnicalDebt.md
2026-10-05 20:22:12 -05:00
ChadandClaude Opus 5.5 8cfe87bd16 build(libSceAgcDriver): register the image_msaa_load test apart from other pending tests
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 20:21:50 -05:00
Chad e18722e499 Merge remote-tracking branch 'upstream/main' into feat/image-msaa-load 2026-10-05 20:20:55 -05:00
ChadandClaude Opus 5.5 ebe0515180 feat(libSceAppContent): answer add-content mounts without installed content
No additional content is installed, so sceAppContentAddcontMount returns
SCE_APP_CONTENT_ERROR_NOT_FOUND with the mount point untouched, and
sceAppContentAddcontUnmount finds no mount to release. A missing label
or mount point is a parameter error. The library gets its own
CMakeLists for the new guest_appcontent test.

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