Commit Graph
2885 Commits
Author SHA1 Message Date
Dean fbcaec0a5d Merge pull request #6559 from Bonjourcestmatt/fix/sysmodule-unknown-id-coverage
fix(libSceSysmodule): test and document unknown module ids
2026-10-18 02:19:42 +13:00
Dean 23f142350d Merge pull request #6886 from alexpournaras/fix/net-so-onesbcast
fix(libSceNet): store SO_ONESBCAST in sceNetSetsockopt
2026-10-18 02:17:03 +13:00
Dean 532f3e7b89 Merge pull request #6216 from eljackjoestar-cmd/fix/audioout2-completed-grain-backlog
fix(audio): retain completed AudioOut2 grains until pushed
2026-10-18 02:06:50 +13:00
Dean f7d51cb885 Merge pull request #6474 from fdfawef324/claude/audioout2-grain-backlog
fix(libSceAudioOut): count completed AudioOut2 grains in the queue level
2026-10-18 02:05:38 +13:00
Dean 8f8bd8cd09 Merge pull request #6348 from JJenkx/fix/ngs2-ps5-handle-errors
fix(ngs2): use PS5 system and rack handle errors
2026-10-18 02:04:35 +13:00
Dean d3a926e95f Merge pull request #7094 from Aryansh1520/feat/libSceNpTrophy2-reward-icon
feat(libSceNpTrophy2): declare sceNpTrophy2GetRewardIcon's arguments
2026-10-18 02:04:03 +13:00
Dean 20f15fd2fc Merge pull request #7103 from pushkarreddyy/feat/libSceVideoOut-color-space-exports
feat(libSceVideoOut): implement color space conversion and blend space exports
2026-10-18 02:02:10 +13:00
Dean 05b235498a Merge pull request #7099 from Lorkydey/feat/libc-safe-error-messages
feat(libc): implement bounded error message APIs
2026-10-18 01:58:23 +13:00
Dean c9e6c45de9 Merge pull request #7016 from Amoenus/codex/fix-native-vertex-after6590-main661
fix(agc): refuse native MSAA vertex buffer reads
2026-10-18 00:57:37 +13:00
pushkarreddyy 4bc8e2c683 feat(libSceVideoOut): implement color space conversion and blend space exports 2026-10-17 17:14:24 +05:30
Dean df92748a30 Merge pull request #6318 from hypermoist/fix/libc-lgamma-signgam
fix(libc): store the sign of gamma in an exported signgam from lgamma
2026-10-18 00:32:04 +13:00
Dean 677354d9da Merge pull request #7018 from thuanquang/fix/mul-lo-u16-24-bit-factors
fix(shader): read low-half 16-bit multiply factors as 24-bit fields
2026-10-18 00:30:09 +13:00
Dean ab85981811 Merge pull request #6251 from parthbhanti22/fix-fchmodat-symlink
fix(libkernel_sys): return 0 for AT_SYMLINK_NOFOLLOW in fchmodat
2026-10-18 00:29:29 +13:00
lorkydey 14acf7f444 feat(libc): implement bounded error message APIs 2026-10-17 13:26:23 +02:00
Aryan SharmaandClaude Haiku 5.5 6a8062b487 feat(libSceNpTrophy2): declare sceNpTrophy2GetRewardIcon's arguments
The bundled PSNCore.prx of PPSA06888 calls sceNpTrophy2GetRewardIcon
with (context, handle, reward_id, buffer, size): once with a null buffer
to read the size, then with a buffer of that size. The function still
throws because the reward icon data is unknown.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-17 16:45:41 +05:30
Adrià d7262bd6d6 Merge pull request #5915 from SandstromPL/fix/agc-single-sample-scan-multisampled-depth
fix(agc): rasterize a single-sample scan into a multisampled depth target at the pixel center
2026-10-17 12:00:13 +02:00
Adrià fce6353052 Merge pull request #6026 from leorossi2005/feat/voiceqos-endpoints
feat(libSceVoiceQoS): implement endpoints and connections to unblock
2026-10-17 12:00:03 +02:00
Dean bf20538169 Merge pull request #7053 from inmert/fix/relinker-macos-libc-for-libkernel
fix(relinker): list libc.prx with libkernel.prx in macOS executables
2026-10-17 22:32:23 +13:00
Alexandros Pournaras 4b656882ba fix(libSceNet): store SO_ONESBCAST in sceNetSetsockopt 2026-10-17 11:29:25 +02:00
inmert f91e53d595 fix(relinker): list libc.prx with libkernel.prx in macOS executables 2026-10-17 14:06:01 +05:30
thuanquangandClaude Opus 5.5 e5cc0bc0ff feat(shader): translate packed f16 in the f16 denormal modes that flush
v_pk_add/mul/fma/fmac/min/max_f16 threw in f16 denormal modes 0-2. On
RDNA2 (gfx1031) bit 6 clear flushes each denormal input lane to a zero
of its sign, and bit 7 clear flushes an add result below 2^-14 and a
mul or fma result whose exact value rounded to 11 significant bits
with an unbounded exponent is below 2^-14, as the scalar forms do;
min/max flush only their inputs. Packed f16 still throws for f16
rounding other than nearest even.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 21:23:10 +13:00
Dean adb0e7a8cb Merge pull request #7040 from thuanquang/fix/fma-mix-f16-input-flush
fix(shader): flush v_fma_mix_f32 f16 sources by the f16 denormal field
2026-10-17 21:21:53 +13:00
Dean bf0bec93ff Merge pull request #7041 from thuanquang/fix/div-fixup-f64-input-flush
fix(shader): flush v_div_fixup_f64 src1 and src2 by the f64 denormal field
2026-10-17 21:21:49 +13:00
Dean a60ac1fbed Merge pull request #7034 from thuanquang/fix/f16-fma-denormal-flush
fix(shader): flush v_fma_f16 family denormals by the f16 denormal field
2026-10-17 20:52:18 +13:00
Dean 17cfb1f4cb Merge pull request #7031 from thuanquang/fix/f16-pack-denormal-flush
fix(shader): flush v_cvt_pkrtz_f16_f32 and v_pack_b32_f16 f16 denormals
2026-10-17 20:22:25 +13:00
Dean 8a2a2ee78f Merge pull request #7030 from thuanquang/fix/div-fixup-f16-input-flush
fix(shader): flush v_div_fixup_f16 src1 and src2 by the f16 denormal field
2026-10-17 20:22:21 +13:00
Dean 61ba0d9185 Merge pull request #7021 from thuanquang/fix/f16-compare-input-flush
fix(shader): flush f16 compare inputs by the FLOAT_MODE f16 denormal field
2026-10-17 20:22:13 +13:00
thuanquangandClaude Opus 5.5 a08adae15f fix(shader): flush v_div_fixup_f64 src1 and src2 by the f64 denormal field
On RDNA2 (gfx1031) f16/f64 denormal modes 0 and 2 flush the denominator
and numerator of v_div_fixup_f64 to a zero of the same sign and keep a
denormal quotient and result, as v_div_fixup_f32 does with the f32
field. The translation used them unflushed, so 0 / 2^-1074 gave 0
instead of the default NaN.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 14:08:08 +07:00
thuanquangandClaude Opus 5.5 0194926b8a fix(shader): flush v_fma_mix_f32 f16 sources by the f16 denormal field
v_fma_mix_f32 used its f16 sources unflushed in every mode. On RDNA2
(gfx1031) f16 denormal modes 0 and 2 flush each f16 source to a zero
of its sign, whatever the f32 denormal field, so
v_fma_mix_f32 0, 0, 0x0001 (all f16) is 0 there instead of 2^-24.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 14:03:55 +07:00
thuanquangandClaude Opus 5.5 79a8c81b54 fix(shader): flush v_fma_f16 family denormals by the f16 denormal field
v_fma_f16, v_fmac_f16, v_fmamk_f16 and v_fmaak_f16 ignored the
FLOAT_MODE f16 denormal field. On RDNA2 (gfx1031) at f16 round to
nearest even, bit 6 clear flushes every denormal input to a zero of its
sign, and bit 7 clear flushes the result when the exact product-sum
rounded to 11 significant bits with an unbounded exponent is below
2^-14, the rule v_mul_f16 already follows. The f16 FMA path now flushes
its inputs and its round-to-odd result in those modes; the magnitude
test is shared with float16Binary as flushTinyF16Value.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 13:44:00 +07:00
Dean 6e7ba928a2 Merge pull request #6227 from Celegans12/fix/netctl-empty-info-strings
fix(libSceNetCtl): answer the DHCP host name, PPPoE name and proxy server as empty strings
2026-10-17 19:40:31 +13:00
thuanquangandClaude Opus 5.5 3a4d3bb35e fix(shader): flush v_cvt_pkrtz_f16_f32 and v_pack_b32_f16 f16 denormals
Both ignored the FLOAT_MODE f16 denormal field. On RDNA2 (gfx1031)
v_cvt_pkrtz_f16_f32 flushes each denormal half result to its signed zero
when bit 7 of FLOAT_MODE is clear, and v_pack_b32_f16 flushes each
denormal half input when bit 6 is clear. Modes that keep them and
shaders without a known float mode are translated as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 13:24:16 +07:00
thuanquangandClaude Opus 5.5 552ab7da47 fix(shader): flush v_div_fixup_f16 src1 and src2 by the f16 denormal field
On RDNA2 (gfx1031) f16 denormal modes 0 and 2 flush the denominator and
numerator of v_div_fixup_f16 to a zero of the same sign and keep a
denormal quotient and result, as v_div_fixup_f32 does with the f32
field. The translation used them unflushed in every mode, so 0x0001 / 0
gave +infinity instead of the default NaN.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 13:21:18 +07:00
thuanquangandClaude Opus 5.5 4a235b4358 fix(shader): flush f16 compare inputs by the FLOAT_MODE f16 denormal field
v_cmp_X_f16 and v_cmpx_X_f16 compared denormal halves as their exact
values in every mode. On RDNA2 (gfx1031) f16 denormal modes 0 and 2
flush both inputs to a zero of the same sign first, so
v_cmp_eq_f16 0x0000, 0x0001 is true there. Both inputs now go through
flushF16InputValue; modes 1 and 3 and shaders without a known float
mode are translated as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 13:11:24 +07:00
thuanquangandClaude Opus 5.5 ffd468e148 fix(shader): read low-half 16-bit multiply factors as 24-bit fields
On AMD's Windows driver 32.0.21045.5002 (RX 6700 XT), a product of two
values the driver knows fit in 16 bits, reduced to 16 bits and stored
with nothing else merged in, keeps all 32 bits of the product.
v_mul_lo_u16 and v_pk_mul_lo_u16 extracted 16-bit factors, so into a
register whose high half was zero they wrote 0xfffe0001 for
0xffff * 0xffff. A factor taken from the low half of its source is now
read as the low 24 bits of the register; the low 16 bits of the product
depend only on the low 16 bits of the factors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 12:52:58 +07:00
Dean 2bfe0045d8 Merge pull request #5940 from zmeizy/claude/pknorm-f16-denormal-inputs
fix(shader): flush v_cvt_pknorm_*_f16 denormal inputs by FLOAT_MODE
2026-10-17 18:21:25 +13:00
Romans Pokrovskis 15eb12009c fix(agc): refuse native MSAA vertex buffer reads 2026-10-17 08:09:24 +03:00
Romans Pokrovskis e62e2801de Merge remote-tracking branch 'origin/main' into codex/base-native-vertex-after6590-main661 2026-10-17 08:09:06 +03:00
mattogepetoandClaude Sonnet 5.5 941fd4e11e Merge remote-tracking branch 'origin/main' into fix/sysmodule-unknown-id-coverage
Keep both sides in GuestSysmodule.cpp (the unknown id check and the Windows
unwind region checks) and in libSceSysmodule.md (Silent stubs and Functional).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 06:55:51 +02:00
Adrià 8730dde45f Merge pull request #5973 from pipe1os/feat/libkernel-kevent-pipe-read
feat(libkernel): support EVFILT_READ on the read end of a pipe
2026-10-17 06:53:33 +02:00
Adrià c47a4dca52 Merge pull request #5967 from EagleBearerYS/fix/libscenet-timeval-timeouts
fix(libSceNet): read SO_RCVTIMEO and SO_SNDTIMEO as a timeval in sceNetSetsockopt
2026-10-17 06:53:19 +02:00
Adrià 83b233a010 Merge pull request #6063 from snipeTR/feat/opus-sample-rates-v2
feat(opus): decode at 8, 12, 16 and 24 kHz
2026-10-17 06:53:14 +02:00
Adrià 46be9d32e8 Merge pull request #6056 from notaxeltv/feat/libSceNpManager-unknown-fc27-exports
feat(libSceNpManager): export two unknown NIDs so PPSA34015 can load
2026-10-17 06:51:48 +02:00
Adrià a15c6fb961 Merge pull request #6062 from notaxeltv/feat/libSceVdecsw-sync-decode-ppsa34015
feat(libSceVdecsw): block on SyncDecodeInput/Output like TrySync
2026-10-17 06:51:39 +02:00
Adrià cfe6683f4b Merge pull request #6064 from JAB-dev/perf/sysmodule-unwind-region-cache
perf(libSceSysmodule): cache the unwind region of loaded images on Windows
2026-10-17 06:51:34 +02:00
Adrià bb6bea8093 Merge pull request #5966 from EagleBearerYS/fix/libscenet-unbound-datagram-receive
fix(libSceNet): let a datagram receive on an unbound socket wait on Windows
2026-10-17 06:51:29 +02:00
Romans Pokrovskis 1ec58a5cd4 Merge commit '1271998d444c9f05a3330c96fc08d81c7e148bd4' into codex/validate-native-index-6590-main16 2026-10-17 07:40:59 +03:00
Dean 437f157d31 Merge pull request #6319 from hypermoist/docs/debt-duplicate-entries
docs(debt): drop the call tracing entry that --trace-imports superseded
2026-10-17 17:28:35 +13:00
Adrià 830edf86c6 Merge pull request #6049 from notaxeltv/feat/libSceNpPartner001-has-ea-access-ppsa34015
feat(libSceNpPartner001): answer sceNpHasEAAccessSubscription without an EA Access server
2026-10-17 06:11:44 +02:00
Adrià 142f7555aa Merge pull request #6051 from Ondra97/codex/fix-ajm-live-instance-handles
fix(ajm): preserve live decoder handles across ID wrap
2026-10-17 06:10:21 +02:00