Commit Graph
2870 Commits
Author SHA1 Message Date
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
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
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
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
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
Adrià ed1beacd10 Merge pull request #6034 from notaxeltv/feat/libSceLoginService-ppsa34015
feat(libSceLoginService): load Initialize/Terminate so PPSA34015 can start
2026-10-17 06:10:11 +02:00
Dean 5bd85a44c2 Merge pull request #6876 from parl0v/docs/gputime-line
docs(build): describe the [gputime] line and its command classes
2026-10-17 16:47:31 +13:00
Dean dbcb802e15 Merge pull request #6750 from LeandroLP23/docs/debt-thread-priority-gap
docs(debt): record that guest thread priorities are not applied to host threads
2026-10-17 16:46:01 +13:00
Dean ec6d3989f3 Merge pull request #6675 from xXPBSXx/docs/debt-agc-registered-shader-type-8
docs(debt): list the unprepared AGC shader types
2026-10-17 16:45:04 +13:00
Dean 2993eefd1d Merge pull request #6672 from xXPBSXx/docs/debt-ajm-codec-23
docs(debt): list the unimplemented AJM codec 23 of PPSA21480
2026-10-17 16:44:32 +13:00
Dean b705f11176 Merge pull request #6673 from xXPBSXx/docs/debt-ngs2-custom-module-0x20
docs(debt): list the NGS2 custom module id 0x20 of PPSA35169
2026-10-17 16:43:39 +13:00
Dean dfdc3dec4d Merge pull request #5280 from santhoshkumar-dev/codex/sandbox-ca-trust
feat(libkernel): serve the sandbox CA bundle from host TLS roots
2026-10-17 16:35:44 +13:00
Dean f99f3d1dca Merge pull request #6694 from MarcZX100/codex/coredump-config-dump-mode-6688
fix(libkernel): export sceCoredumpConfigDumpMode as an explicit stub
2026-10-17 16:34:12 +13:00
Adrià 30dadc2494 Merge pull request #6024 from KernelPanicNT/feat/libsceampr-cxa-call-unexpected
feat(libSceAmpr): implement __cxa_call_unexpected
2026-10-17 05:27:54 +02:00
Adrià 2083bc700f Merge pull request #6020 from KernelPanicNT/feat/libsceappcontent-addcont-download-progress
feat(libSceAppContent): implement sceAppContentGetAddcontDownloadProgress
2026-10-17 05:15:31 +02:00
Santhosh Kumar eb26fb97f8 fix(libkernel): filter sandbox TLS roots and preserve path overrides 2026-10-17 02:25:41 +00:00