Commit Graph
8546 Commits
Author SHA1 Message Date
ionut27001 4513d47104 perf(agc): keep released image memory in the buffer pool for reuse by type and size
An image's own VkDeviceMemory was allocated and freed one at a time, and in a scene that re-creates its storage images at every dynamic-resolution step the dispatching queue worker spent half of its image-table resolution freeing evicted images and most of the rest allocating new ones. The pool now keeps the device memory of a released storage or sampled image under its own budget (APS5_IMAGE_POOL_MIB, a quarter of the device tier's budget by default) and hands it to the next image of the same memory type and size.
2026-10-19 21:30:25 +03:00
Claude b0a9676844 feat(libSceNet): implement interface names, random values and net memory
Implement sceNetGetIfName, sceNetGetRandom, sceNetMemoryAllocate and
sceNetMemoryFree with the signatures shadPS4 uses, and cover them in
guest_sce_net_tests.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-19 18:29:29 +00:00
Federico Marras d8b425f1bf feat(libSceNetCtlAp): implement the access-point service that never starts 2026-10-19 20:26:24 +02:00
erickerxhalliandClaude Opus 5.5 14b52daf53 feat(libSceMove): report no connected PS Move controller
Add sceMoveInit, sceMoveTerm, sceMoveOpen, sceMoveGetDeviceInfo and
sceMoveSetVibration, and replace the throwing stubs of the other six
exports. Behaviour and error codes follow shadPS4; signatures follow
Orbital. A guest test covers the init state, argument checks and the
no-controller results.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Arbzg9c2DA4DEFKVSvRgYv
2026-10-19 18:23:44 +00:00
xXPBSXxandClaude Sonnet 5.5 4e3e810a79 docs(agc): describe the zero-header run in the PM4 type-0 debt entry
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-19 20:23:05 +02:00
xXPBSXxandClaude Sonnet 5.5 3cf8eec26a docs(agc): record the PM4 type-0 packets a submission is rejected for
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-19 20:22:44 +02:00
Dean 1e774a3b22 Merge pull request #7872 from ErenYeager1836/feat/libc-throw-bad-optional-access
feat(libc): implement std::_Throw_bad_optional_access
2026-10-20 07:21:55 +13:00
Federico Marras 89b1b53176 feat(libc): implement bounded decimal parsing with strtonum 2026-10-19 20:19:08 +02:00
pushkarreddyy 4ea1c112bb feat(libkernel): implement pthread_mutexattr_getprotocol 2026-10-19 23:48:09 +05:30
Adrià 544f29106d Merge pull request #7250 from milescoviello/feat/msaa-dcc-refill
feat(agc): take a full DCC fill of a resident multisampled target as its fast clear
2026-10-19 20:17:24 +02:00
Yuri Olive 3eee2b281f fix(libSceAudioOut): leave sceAudioOutGetSystemState to #5965 2026-10-19 15:17:06 -03:00
Yuri Olive 2e0d8d7ab5 docs(libSceIme): shorten the sceImeFilterText debt entry 2026-10-19 15:15:25 -03:00
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
Savvanis SpyrosandClaude Opus 5.5 0e88700965 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/savedata-ps4-modules
Keep SaveDataCore.hpp deleted: main's RemoveTree change to it (a96833682) also applies to the .native Export.cpp this branch builds from, which merged cleanly.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 20:53:00 +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