Commit Graph
12196 Commits
Author SHA1 Message Date
Pouare514 9e0152f18d fix(libkernel): replace mappings on fixed reserve over registered range 2026-10-05 01:21:44 +02:00
DiulioAires b6c97084ed fix(relinker): check byte writer bounds 2026-10-04 20:17:21 -03:00
ChadandClaude Opus 5.5 d78eea1f5f feat(shader): implement the 64-bit LDS atomics
ds_add/sub/rsub/inc/dec_u64, ds_min/max_i64/u64, ds_and/or/xor/mskor_b64,
ds_cmpst_b64/f64, ds_min/max_f64, their _rtn forms and ds_wrxchg_rtn_b64
threw in the decoder.

LDS is a 32-bit workgroup array, so the two dwords are read and written
under a lock dword placed after the guest LDS, which is cleared with a
workgroup barrier at entry. The lock is acquired and released in the same
loop iteration, so lanes of one subgroup cannot deadlock on it. Stages
whose LDS is a function variable update it directly. 64-bit GDS atomics
throw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-04 18:14:24 -05:00
ChadandClaude Opus 5.5 4e888083f9 feat(shader): implement s_getreg_b32 for the MODE round mode fields
SOPK 0x12 threw in the decoder. The recompiler emits round to nearest
even, which s_setreg_imm32_b32 already requires, so reads that stay
within MODE bits 0..3 return 0. Other hardware registers and fields
throw with the register and bits read.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-04 18:11:59 -05:00
Dean 33a870d973 Merge pull request #382 from nicolasabosch/feat/audio3d-default-parameters
feat(audio3d): implement default open parameters
2026-10-05 12:11:10 +13:00
Pouare514 9e70325139 chore: drop stray AudioIn hunk 2026-10-05 01:10:56 +02:00
Dean 70bd96ea86 Merge pull request #362 from nicolasabosch/feat/ime-parameter-helpers
feat(libSceIme): implement parameter initialization and panel size queries
2026-10-05 12:10:51 +13:00
Dean c96745e912 Merge pull request #337 from DotDebian/feat/elf-phdr-match-addr
feat(libkernel): implement __elf_phdr_match_addr
2026-10-05 12:10:32 +13:00
Pouare514 e67d50cb2f fix(libs): route DateTime zone suffix through RFC3339 path, throw on unverified shapes 2026-10-05 01:10:25 +02:00
Dean d4c1bca1e1 Merge pull request #497 from adriadam10/feat/mimg-dlc
feat(shader): accept the dlc cache bit on MIMG
2026-10-05 12:09:53 +13:00
Dean 037b905684 Merge pull request #499 from MichonGoddijn231849/fix/vmov-sdwa-byte-destinations
fix(shader): v_mov_b32 SDWA writes byte destinations
2026-10-05 12:09:34 +13:00
ChadandClaude Opus 5.5 abbcb31e54 feat(shader): implement v_dot2_f32_f16
VOP3P 0x13 threw "VOP3P opcode is not implemented". It computes
src0.lo * src1.lo + src0.hi * src1.hi + src2 like v_dot2c_f32_f16, with
the VOP3P op_sel/op_sel_hi and neg_lo/neg_hi modifiers on the packed f16
sources, neg on the f32 accumulator and clamp. op_sel and neg_hi on the
accumulator throw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-04 18:09:01 -05:00
DotDebianandClaude Opus 5.5 dd9a62f2a3 feat(agc): implement the Sh and Uc RegistersDirect size queries
sceAgcCbSetShRegistersDirectGetSize and sceAgcCbSetUcRegistersDirectGetSize
return the bytes their writers need when no two registers are adjacent: one
three-word packet per register. Adjacent registers are merged into ranges
and take less. A count whose size does not fit 32 bits throws.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 01:07:40 +02:00
ChadandClaude Opus 5.5 c227c62649 fix(shader): splat the bindless table hit into a bool vector for SPIR-V 1.3
TableResult selected a uvec4 with a scalar bool condition, which needs
SPIR-V 1.4. Targets at 1.3 failed validation (agc_shader_memory with
ANYPS5_ENABLE_SPIRV_TOOLS).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-04 18:05:13 -05:00
Pouare514 dbe6b62922 fix(crashreport): capture thread stacks while suspended, report skipped threads 2026-10-05 00:57:04 +02:00
Pouare514 0b5fe3c23c fix(relinker): detect FS-prefixed previous instruction via SegmentPrefix decode 2026-10-05 00:56:11 +02:00
Pouare514 630cf0cf39 fix(libc): drop duplicate quick_exit stub clashing with the real export 2026-10-05 00:53:03 +02:00
Phi1ow e4bc4a4ecb fix(pad): check the handle and keep the dead band throwing when enabled
Per review: scePadSetAngularVelocityDeadbandState now returns PAD_ERROR_INVALID_HANDLE for a
handle other than PAD_HANDLE, like the neighbouring setters. Enabling the dead band still throws,
because the angular-velocity reading path does not apply the filter (that would change input, not
UI, so it is not a silent stub); disabling it succeeds, which matches the unfiltered readings.
The test checks the disabled call, the bad handle, and no longer asserts the enabled path.
2026-10-05 00:48:45 +02:00
Dean 28e7799183 Merge pull request #564 from Phi1ow/implement-razor-cpu
feat(razor): implement the libSceRazorCpu CPU profiler stubs
2026-10-05 11:46:10 +13:00
Dean 4db07b3a77 Merge pull request #449 from MichonGoddijn231849/feat/3d-color-targets
feat(agc): render into one depth slice of a 3D color target
2026-10-05 11:45:29 +13:00
Dean 3fe90689ca Merge pull request #562 from adriadam10/feat/image-atomics-float
feat(shader): implement image_atomic_fmin, fmax and fcmpswap
2026-10-05 11:44:47 +13:00
Dean 1bc945c1e5 Merge pull request #489 from oneandonlydean/feat/audiopropagation-source-render
feat(libSceAudioPropagation): render silence for propagated sources
2026-10-05 11:44:05 +13:00
Dean d1b8565d74 Merge pull request #482 from ThisIsAkill/feat/audiopropagation-no-propagation
feat(libSceAudioPropagation): implement the no-acoustic-propagation path with recovered signatures
2026-10-05 11:43:24 +13:00
Dean a6c363a51b Merge pull request #383 from DotDebian/test/sopk-waitcnt-counters
test(shader): cover the SOPK s_waitcnt counters and count them as decoded
2026-10-05 11:42:41 +13:00
Dean dee2727f99 Merge pull request #344 from DotDebian/feat/posix-rwlock-try-timed
feat(libkernel): implement the pthread_rwlock try and timed lock functions
2026-10-05 11:42:29 +13:00
Dean b44b308c53 Merge pull request #333 from adriadam10/feat/sopk-misc
feat(shader): implement s_cmovk_i32, s_version and s_setreg_imm32_b32
2026-10-05 11:41:47 +13:00
Dean 1db03d7e93 Merge pull request #264 from adriadam10/feat/div-scale-fmas-fixup
feat(shader): implement v_div_scale/fmas/fixup_f32 and s_denorm_mode (f32 division macro)
2026-10-05 11:41:37 +13:00
Dean 19f6e33f3e Merge pull request #453 from SP4C3B4R-8/fix/absent-depth-stencil-plane
fix(libSceAgcDriver): skip depth and stencil tests whose plane is absent
2026-10-05 11:41:26 +13:00
Dean 6822b2abb6 Merge pull request #377 from MichonGoddijn231849/feat/color-target-slices
feat(agc): 4 KiB standard color targets and color views of one array slice
2026-10-05 11:40:45 +13:00
Dean b2558631b7 Merge pull request #332 from adriadam10/feat/buffer-atomics-float
feat(shader): implement the float and 64-bit inc/dec buffer atomics
2026-10-05 11:40:03 +13:00
Dean f83fcdbb0e Merge pull request #321 from adriadam10/feat/buffer-atomics
feat(shader): implement buffer_atomic_inc/dec and the 64-bit integer buffer atomics
2026-10-05 11:39:22 +13:00
Phi1ow 6571ace5bd feat(errordialog): log the error code and record the silent stub
Adds the dialog to the silent-stubs list in docs/dev/TechnicalDebt.md, since it finishes without
showing anything. sceErrorDialogOpen now logs the error code and user id from the parameter
(offsets 4 and 8), like libSceMsgDialog logs its message, so an error a title would have shown
the player stays visible instead of disappearing.
2026-10-05 00:32:13 +02:00
Adrià FranchandClaude 1f5d84a619 fix(shader): return src0 when both f32 min/max sources are NaN
Co-Authored-By: Claude <[email protected]>
2026-10-05 00:00:40 +02:00
Dean fc325936b5 Merge pull request #555 from Phi1ow/implement-http-request2-ssl-options
feat(http): implement sceHttpCreateRequest2, sceHttpsEnableOption, sceHttpsLoadCert and sceHttpGetLastErrno
2026-10-05 10:36:49 +13:00
Dean 44fdfecb3e Merge pull request #554 from Phi1ow/implement-sysmodule-internal-load-unload
feat(sysmodule): implement sceSysmoduleLoadModuleInternal and sceSysmoduleUnloadModuleInternal
2026-10-05 10:34:26 +13:00
Dean d36e1924d4 Merge pull request #534 from DotDebian/feat/agc-branch-patch-setters
feat(agc): implement the sceAgcBranchPatch setters
2026-10-05 10:34:05 +13:00
Dean 2d21b3badc Merge pull request #541 from DotDebian/fix/nanosleep-errors
fix(libkernel): report invalid nanosleep requests through errno and the sce error codes
2026-10-05 10:31:42 +13:00
Dean 1f5b5b0c57 Merge pull request #519 from Pouare514/fix/tlou-ssl
fix(libs): TLOU throwing stubs for Ssl LoadCert and GetMemoryPoolStats
2026-10-05 10:25:06 +13:00
Dean 8e5e42539a Merge pull request #561 from adriadam10/feat/image-store-pck
feat(shader): implement image_store_pck and image_store_mip_pck
2026-10-05 10:24:50 +13:00
Dean cbb358726c Merge pull request #557 from adriadam10/feat/image-load-pck
feat(shader): implement image_load_pck and image_load_mip_pck with signed variants
2026-10-05 10:24:35 +13:00
Dean 0ea51eba27 Merge pull request #547 from adriadam10/test/flat-global-loads
test(shader): execute flat and global loads against hardware results
2026-10-05 10:24:04 +13:00
Dean c11fbe5484 Merge pull request #544 from adriadam10/test/buffer-ops
test(shader): execute the untested buffer byte/short/dwordx2/x3 loads and stores and the 32-bit integer buffer atomics
2026-10-05 10:23:49 +13:00
Dean 3403c80595 Merge pull request #543 from adriadam10/test/lds-ops
test(shader): execute the untested LDS reads, writes and integer atomics against values measured on RDNA
2026-10-05 10:23:33 +13:00
Dean c4162e306c Merge pull request #540 from DotDebian/feat/agc-acb-dma-data-size
feat(agc): implement sceAgcAcbDmaDataGetSize
2026-10-05 10:23:18 +13:00
Dean c457e756a5 Merge pull request #538 from DotDebian/feat/ampr-command-buffer-markers
feat(ampr): implement the command buffer markers
2026-10-05 10:23:03 +13:00
Dean 6a705bc4bd Merge pull request #536 from DotDebian/feat/font-get-resolution-dpi
feat(font): implement sceFontGetResolutionDpi
2026-10-05 10:22:47 +13:00
Dean 0f15a6c515 Merge pull request #539 from adriadam10/test/vopc-compare-table
test(shader): execute every non-f64 VOPC compare against values measured on RDNA
2026-10-05 10:21:52 +13:00
Dean 58911bf169 Merge pull request #517 from Pouare514/fix/tlou-sessionsignaling
fix(libs): TLOU runtime funcs for SessionSignaling
2026-10-05 10:21:30 +13:00
Phi1ow 1cd34c232d feat(pad): implement scePadSetAngularVelocityDeadbandState
scePadSetAngularVelocityDeadbandState was the last throwing stub in libScePad. It toggles a
dead-band filter on the controller's angular-velocity (gyro) readings; the reading path does
not apply that optional filter, so the call succeeds and does nothing, as it does in shadPS4.

Extends the existing guest_pad test with the two enable/disable calls. It fails on main (the
stub throws) and passes with the change.
2026-10-04 23:19:37 +02:00
Dean 55e915abdb Merge pull request #527 from DotDebian/test/vop3-carry-out-add-sub
test(shader): cover the VOP3 carry-out add and subtracts and count v_sub_co_u32 as decoded
2026-10-05 10:15:36 +13:00