Commit Graph
7981 Commits
Author SHA1 Message Date
Yuri Olive aabbd10e36 feat(libSceIme): implement sceImeFilterText
Port the firmware filter for every text type, with the two codepage sets derived from the firmware converters, and declare sceImeCheckFilterText as unimplemented.
2026-10-19 15:14:45 -03:00
battleblob1andClaude Opus 5.5 a55dc4c535 fix(libSceVideoOut): turn SDL's Windows.Gaming.Input backend off only with APS5_NO_WGI
Windows.Gaming.Input stays on by default, so racing wheels, arcade and
flight sticks, HID pads without an HIDAPI driver and Xbox One/Series
trigger rumble keep working. Hosts where it faults at
Windows.Gaming.Input.dll+0x10a84 set APS5_NO_WGI to turn it off.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 21:12:22 +03:00
Yuri Olive 7109c4b4af feat(libSceHmd2): export missing firmware HMD2 interfaces 2026-10-19 15:04:11 -03:00
Yuri Olive 6ce3940a7f feat(libSceHmd): export missing firmware HMD interfaces 2026-10-19 15:01:38 -03:00
Adrià f52509acc7 Merge pull request #7875 from xXPBSXx/docs-agc-cmask-clear-amd-gpl-off
docs(debt): record the CMASK clear pass fault on AMD without pipeline libraries
2026-10-19 19:59:13 +02:00
Yuri Olive df6b81f83b feat(libSceAudioOut): export missing firmware audio output interfaces 2026-10-19 14:56:52 -03:00
Adrià 38de0a470b Merge pull request #7129 from AlexOfTheForest/feat/kevent-ev-clear
feat(libkernel): support EV_CLEAR on sockets and pipes in kevent on Linux
2026-10-19 19:56:35 +02:00
Adrià 2232629a96 Merge pull request #7074 from CrimsonMac/fix/f16-fma-default-nan
fix(shader): give f16 fma invalid operations the default NaN
2026-10-19 19:56:30 +02:00
Yuri Olive 7d9d41c3db feat(libSceHttp): export missing firmware interfaces 2026-10-19 14:55:42 -03:00
Adrià 7d89b1f4fb Merge pull request #7865 from xXPBSXx/docs/debt-wait-label-slot
docs(agc): record the queue 0x20 label wait that holds another slot's address
2026-10-19 19:55:35 +02:00
Yuri Olive 1a34b1cd3c feat(libSceIme): export missing firmware interfaces 2026-10-19 14:55:31 -03:00
Yuri Olive 196e2e2ada feat(libSceNetCtl): export missing firmware interfaces 2026-10-19 14:55:22 -03:00
Adrià 8e0fde7d59 Merge pull request #7091 from Bl4ckk01/feat/ces-sjis-cp1250
feat(libSceCesCs): implement Shift-JIS CP932 and CP1250 encoding conversions
2026-10-19 19:49:48 +02:00
Adrià 76b836d365 Merge pull request #7087 from Aryansh1520/new-topic
feat(libSceRudp): implement sceRudpNetReceived and sceRudpEnableInternalIOThread2
2026-10-19 19:49:42 +02:00
Atharv Jairath 81cd06b8bb fix(http): make URI parsing independent of host locale 2026-10-19 23:17:34 +05:30
Ondra97 ce81a77d1a fix(libc): avoid premature scaled hyperbolic overflow 2026-10-19 19:47:19 +02:00
Adrià 8444508241 Merge pull request #7815 from parl0v/docs/fusion-oc-lds-source
docs(debt): cite radeonsi for the front half's OC_LDS_EN in shader fusion
2026-10-19 19:44:00 +02:00
Federico Marras 1537dff78b feat(libSceNet): accept sceNetClearDnsCache with no library DNS cache to drop 2026-10-19 19:41:49 +02:00
Federico Marras 6dc7c9fbb2 feat(libSceRazorCpu): run the data tag and logical file access calls without a capture 2026-10-19 19:39:24 +02:00
Adrià 48790e0233 Merge pull request #7039 from nabil88/fix/windows-libkernel-and-tests
feat(libkernel): implement getdtablesize and fix Windows host-tree removal
2026-10-19 19:36:18 +02:00
Adrià a77e40f93f Merge pull request #7070 from milescoviello/feat/kern-proc-vmmap
feat(libkernel): report the guest address-space map through kern.proc.vmmap
2026-10-19 19:36:11 +02:00
HQasperandClaude Opus 5.5 612b41e4f3 perf(agc): resolve DISPATCH_INDIRECT thread dimensions on the GPU
An indirect dispatch with USE_THREAD_DIMENSIONS read its thread counts on the
CPU, which waits for the recorded work that stores them. The argument kernel now
turns them into group counts on the GPU and copies the counts into the
ShaderData thread limit, so the dispatch stays on the GPU path.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 19:36:01 +02:00
Adrià 68447804da Merge pull request #6975 from T3cm0/bionic/libc-addstd
feat(libc): implement ios_base::_Addstd
2026-10-19 19:35:57 +02:00
Adrià e6a3cf0079 Merge pull request #7808 from parl0v/docs/host-import-budget-default
docs(env): describe the default host import budget as HostImportBudget computes it
2026-10-19 19:35:47 +02:00
Dean Galvin cda9264590 Merge main into pr-6479 via the rebased #6457
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
2026-10-20 06:31:11 +13:00
Dean Galvin 258a62c1ea Merge main into pr-6730 via the rebased #6457
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
2026-10-20 06:31:06 +13:00
Dean Galvin e42de06845 Merge main into pr-6457
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
2026-10-20 06:30:38 +13:00
primesoul-web 8454677187 feat(libs): the sceImeOpen text and external-keyboard filters
The text filter follows KytyPS5's contract; the external keyboard filter is
stored on the session and is not called for the host input path, which delivers
no key data.
2026-10-19 17:29:10 +00:00
al3w0f205 173c827c65 feat(libSceBluetoothHid): export missing firmware functions from database 2026-10-19 12:27:32 -05:00
pushkarreddyy 53617c5a6a feat(libSceAcm): validate context and batch parameters in batch wait and lifecycle exports 2026-10-19 22:51:32 +05:30
KernelPanicNTandClaude Opus 5.5 dcd9cf8053 fix(libSceLoginDialog): return the module's error codes and check the open param
Replace the 0x80B8xxxx common-dialog codes with the module's 0x8134xxxx
codes, validate the sceLoginDialogOpen param, and write the module's
result words from sceLoginDialogGetResult.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 17:11:29 +00:00
KernelPanicNTandClaude Opus 5.5 28d2d70150 fix(libSceVoice): return the module's initialization errors
A second sceVoiceInit returns 0x804E0802, and sceVoiceStart,
sceVoiceCreatePort and sceVoiceGetPortInfo return 0x804E0801 before
checking any argument while the library is not initialized, as the
shipped module does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 17:10:05 +00:00
Federico Marras d65c969df8 feat(libSceJpegDec): decode with a down scale of 2, 4 or 8
sceJpegDecParseHeader and sceJpegDecDecode threw for every down scale
other than 1. SharpProspero's JpegDec.cs documents the factors 1, 2, 4
and 8 and output dimensions that account for the down scale.

Decoder::Jpeg gains DecodeScaled, which decodes through libjpeg-turbo's
scaled inverse DCT, and ScaledDimension, its rounded-up output size.
sceJpegDecParseHeader reports the scaled output size; sceJpegDecDecode
checks the pitch and image buffer against it, writes the scaled image
and packs the output size into its result. A down scale of 1 still
decodes as before. Decode modes other than 0, other down scales and a
down-scaled CMYK or YCCK image still throw.
2026-10-19 18:57:12 +02:00
Federico Marras 792fb27631 feat(libc): list each interface's AF_LINK entry in getifaddrs on Linux
getifaddrs listed only the host's IPv4 and IPv6 addresses, so the
per-interface AF_LINK entries FreeBSD's getifaddrs puts first were
missing, and with them the interface index, hardware address, MTU and
counters and every interface without an address.

On Linux each interface now starts with an AF_LINK entry, followed by
its addresses, as FreeBSD 11.4's getifaddrs orders them. Its address is
a sockaddr_dl with the host index, type, name and hardware address
(none for a loopback), sized as FreeBSD's if_attach sizes it. Its
ifa_data is a 152-byte FreeBSD if_data filled as if_data_copy fills it:
type, address and header length, link state, MTU, speed and the host's
packet, byte, error, drop and multicast counters from sysfs, or the
host list's 32-bit counters when sysfs cannot be read. Fields with no
host equivalent are 0 and listed in the debt entry. Windows is
unchanged.
2026-10-19 18:57:12 +02:00
Federico Marras 87bd71d64c feat(libSceNet): reverse-resolve IPv6 addresses in sceNetResolverStartAton6 2026-10-19 18:57:12 +02:00
Federico Marras 323deb832a feat(audioin): implement sceAudioInGetGain and sceAudioInGetRerouteCount
Write the unattenuated linear gain 1.0f into *gain before checking the port handle in sceAudioInGetGain, and return 0 for open ports or SCE_AUDIO_IN_ERROR_INVALID_HANDLE (0x80260101) for closed or out-of-range handles in both sceAudioInGetGain and sceAudioInGetRerouteCount.
2026-10-19 18:57:12 +02:00
mpratsakiandClaude Opus 5.5 c9731df4c9 fix(relinker): compare Windows file identities by handle
MinGW's std::filesystem::equivalent returns false for hard links whose
names give different permissions, such as .elf and .exe. The temporary
hard-link probe that worked around it failed on read-only files and on
directories that refuse the link. Compare the volume serial number and
file index from GetFileInformationByHandle instead.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 19:54:53 +03:00
Dean 738d884102 Merge pull request #7878 from xxLnolan/fix/libc-paf-mspace-memalign
fix(libc): implement PAF mspace memalign
2026-10-20 05:54:04 +13:00
Dean c66a207ddd Merge pull request #7842 from ionut27001/fix/libkernel-umtx-op1-eopnotsupp
fix(libkernel): fail _umtx_op operation 1 with EOPNOTSUPP as measured on a PS5
2026-10-20 05:53:50 +13:00
Dean 240255fcf8 Merge pull request #7924 from realshinmalphur/feat/net-process-time
feat(net): implement process-relative system time
2026-10-20 05:53:14 +13:00
Dean a4c04c75d6 Merge pull request #7921 from ntamas94/fix/sce-net-inet-pton-whitespace
fix(libSceNet): end IPv4 sceNetInetPton text at whitespace as the PS4 does
2026-10-20 05:52:50 +13:00
Dean a39411c67a Merge pull request #7906 from Rajkamalcode/fix/libc-bessel-zero
fix(libc): return -inf from y0f, y1f and ynf at zero
2026-10-20 05:52:35 +13:00
Nicolas Abosch 4bc91c9fbb Merge remote-tracking branch 'origin/main' into perf/gpu-wake-sleeps 2026-10-19 13:47:53 -03:00
alfalfa-starandClaude Opus 5.5 14fd9853db fix(agc): also store small tiled images before a label
The Smurfs - Dreams (PPSA21607) reads a 1x1 RGBA16F R64KBX storage image
on the CPU after a label. The label-time store took only linear images, so
the image stayed pending and the sky light read 0. Tiled images up to
SmallStoreBytes are stored before the label as well.

Reported and tested by Pacuka.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 18:44:06 +02:00
Adrià Franch 8706cd8a7d docs(agc): keep the title name out of the scan-resistant admission debt entry 2026-10-19 18:44:04 +02:00
Alex ColliniandClaude Sonnet 5.5 c026550122 perf(agc): refuse uncached textures while the sampled cache's least recently used entry is still in use
Over budget but within a quarter over it, the sampled texture cache refused no use of a texture it does not hold, so a cyclic scan over a working set larger than the budget rotated the whole cache and hit almost never. The first use of a key in a present is now refused (used for its draw, never cached) when the least recently used entry was used in this or the previous present. A later use of the key is refused only when that entry was used in this present, so a texture used several times per present is still admitted on a later use. The refusal does not apply past the quarter-over ceiling, so a budget that falls still evicts.

The test lowers the budget through OverrideCacheBudgetForTest instead of the environment. The debt entry records the unmeasured present window, that a texture used more than once still rotates the cache, and the one A-B-A measurement.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-19 18:43:53 +02:00
Adrià Franch c84149b0c1 docs: record unverified null-argument results of libSceAmpr command buffer exports 2026-10-19 18:39:25 +02:00
Adam Franke fc46dd36c7 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into ps5-measured-1340
# Conflicts:
#	core/libs/tests/GuestPad.cpp
2026-10-19 12:32:58 -04:00
David 758e22d4f4 docs(debt): record file mappings on macOS 2026-10-19 20:30:21 +04:00
Longziip ae67e2b7f9 fix(agc): write the reread indirect register list when skipping its invalid entries
When the list read at submission is invalid, the worker now always
executes the copy read again where the packet runs. With
APS5_SKIP_INVALID_INDIRECT_REGISTERS=1 only that copy's invalid entries
are skipped, so the valid entries of a partly updated list are written
instead of the stale ones from submission.

testPartlyUpdatedRegisterListSkipsOnlyItsInvalidEntries submits a list
that is invalid at submission, updates it to a valid entry plus an
invalid one before its packet runs, and reads the register back with
COPY_DATA.
2026-10-19 17:29:53 +01:00