Commit Graph
8546 Commits
Author SHA1 Message Date
akkadbakkad89 aaa6ae312b docs(debt): trim the libScePsml_debug entry under the length limit 2026-10-20 14:36:46 +05:30
akkadbakkad89 632c0f7737 feat(libScePsml): implement the MFSR query exports from the APR-EMU fakelib
scePsmlMfsrGetDispatchMfsrPacketSizeInDwords, scePsmlMfsrGetMipmapBias,
scePsmlMfsrSelectConfig, scePsmlMfsrRequestCapture and
scePsmlMfsrIsCaptureInProgress gain real signatures and semantics reversed
from the fakelib/libScePsml.sprx bundled with PPSA20397, which imports the
first three. The context records the input dimensions at creation so the
mipmap bias can be computed.
2026-10-20 14:33:30 +05:30
felekandClaude Opus 5.5 bb864e8acd docs(dev): name the memory budgets and the sleeping-display stop in the game testing guide
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BywPXoZACVi8ALV4JKvuPZ
2026-10-20 11:02:27 +02:00
Adrià e9a5a0c849 Merge pull request #6772 from XairRrR/fix/storage-array-window
fix(agc): serve views of arrays past maxImageArrayLayers from their viewed slices
2026-10-20 10:55:09 +02:00
dantdmdarealguy 251ca1c100 fix(libc): report the file number of each readdir entry on Windows
readdir and readdir_r returned d_fileno 0 for every entry on Windows,
because MinGW's _wreaddir reports no inode. FreeBSD 11.4's
_readdir_unlocked (lib/libc/gen/readdir.c) never returns an entry whose
d_ino is 0, and d_fileno is the number lstat reports as st_ino.

The Windows directory stream now reads the listing from the directory
handle with GetFileInformationByHandleEx(FileIdBothDirectoryInfo), so
each entry carries the file ID of the entry itself, symbolic links
included, without opening it. The ID is folded as stat and lstat fold
nFileIndexHigh:nFileIndexLow; the fold moves to WindowsDescriptor.hpp so
both libraries use it. rewinddir restarts the scan, telldir and seekdir
count entries as _wtelldir and _wseekdir did, and opendir fails with the
open error of the directory. A file system that lists no file ID gets a
nonzero number hashed from the name. Linux truncates the host inode to
32 bits as stat does instead of reporting 0 above 2^32.

guest_directory checks that every entry has a nonzero file number, that
the numbers of a file, a subdirectory and symbolic links to both equal
lstat's st_ino, that an entry created or removed while the directory is
open shows up after rewinddir, that a delete-pending entry no lstat can
open is still listed, and that seekdir returns the same number.
2026-10-20 03:52:39 -05:00
Adrià 5c94d40bf6 Merge pull request #5942 from JJenkx/feat/ult-bound-condition-variables
feat(ult): implement creation-bound condition variables
2026-10-20 10:41:14 +02:00
Kovalev Vladislav 80024c48fd test(agc): serialize journal replay result capture 2026-10-20 14:40:12 +06:00
Adrià 7faab0aea9 Merge pull request #4891 from dantdmdarealguy/feat/screenshot-hotkey
feat(agc,videoout): save the displayed frame as a PNG with a screenshot key
2026-10-20 10:40:02 +02:00
milescovielloandClaude Opus 5.5 ee6efa9fce fix(agc): leave a multisampled DCC target's CMASK unchecked without fast clears
The initial import of a multisampled DCC target required its CMASK to be
uniformly 0xcc or the fully expanded code. When CB_COLOR_INFO enables
COMPRESSION but not FAST_CLEAR, the CMASK only holds FMASK compression,
which picks the fragment each sample reads, and a uniform DCC clear sets
every fragment to the clear color. The CMASK is then not checked, and the
target imports as the DCC clear.

METAL GEAR SOLID 4's launcher (PPSA18194) opens its Master Book on a
2-sample 1920x1080 target whose DCC reads as the 0000 clear and whose
CMASK holds stale bytes, with FAST_CLEAR off. It stopped there.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 08:30:12 +00:00
Kovalev Vladislav 08fe08fadc docs(agc): record remaining long pipeline cache path limits 2026-10-20 14:26:34 +06:00
mugurc 381c3b9744 fix(tests): skip the 1023-byte guest path check on macOS hosts
macOS fails a host path of 1024 bytes or more with ENAMETOOLONG, and the
host form of a guest path is the root directory followed by the guest
path, so a guest path of 1023 bytes, which FreeBSD accepts, fails there
under any root directory. guest_path_name_length skips that check on
macOS, and a debt entry for guest path names gives the macOS limit.
2026-10-20 11:25:39 +03:00
DProkosandClaude Opus 5.5 d310c4e27e feat(libSceNpCppWebApi): answer the UserProfile, ProfanityFilter and CommunicationRestrictionStatus requests offline
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 11:22:34 +03:00
Dean 661f8b7171 Merge pull request #8059 from KernelPanicNT/fix/voice-not-init-codes
fix(libSceVoice): return the module's initialization errors
2026-10-20 21:20:54 +13:00
Dean f9012eed0d Merge pull request #7080 from Rengundom/feat/trace-bench-fields
feat(trace): record host, title and per-frame benchmark data
2026-10-20 21:19:24 +13:00
thuanquangandClaude Opus 5.5 a5e1f83417 fix(shader): keep the 24-bit factor reads of 16-bit multiplies
#7018 reads the low-half factors of v_mul_lo_u16 and v_pk_mul_lo_u16
as 24-bit fields because AMD's Windows driver stores the full 32-bit
product when it knows both factors fit in 16 bits. #7673's fold of
BitFieldUExtract(x, 0, n) into x removed those reads when the program
had masked the factors to 16 bits, so agc_driver_mul_lo_u16_high_half
failed again on that driver. The folder now keeps a field read that a
multiply uses.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 15:18:13 +07:00
Dean 587bb343e8 Merge pull request #8106 from juanpimg/feat/prx-declare-ps5-3.20-exports
feat(prx): declare the missing PS5 3.20 system exports
2026-10-20 21:13:30 +13:00
Dean efd5a4c7eb Merge pull request #8060 from KernelPanicNT/fix/logindialog-module-error-codes
fix(libSceLoginDialog): return the module's error codes and check the open param
2026-10-20 21:12:58 +13:00
Dean 7d876ad3ba Merge pull request #7949 from slider/feat/libkernel-fchflags
feat(libkernel): implement fchflags
2026-10-20 21:02:26 +13:00
Ethan Barcus a8e06fb008 Merge branch 'main' into feat/trace-bench-fields 2026-10-20 02:57:23 -05:00
Allan JohnandClaude Opus 5.5 8ab6ecb17a feat(libSceNet): implement sceNetGetDnsInfo
Report the host IPv4 DNS servers of the interface sceNetCtlGetInfo
uses, through a helper libSceNetCtl exports, and return their count.
The signature and layout follow the OpenOrbis musl resolver and Net.h.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 13:19:12 +05:30
RengundomandClaude Opus 5.5 2e70f478e8 test(trace): check again that a failed benchmark rewrite keeps the previous file
The blocked-destination case checks a different file, so an in-place
rewrite passed it. The earlier case is back beside it: a directory at
<name>.tmp makes the write fail, and the previous aps5-bench.json.gz must
be unchanged. It is left out of Windows builds, where the
std::ios_base::failure thrown inside the MinGW ofstream did not unwind to
the test's catch.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 02:47:24 -05:00
thuanquangandClaude dd87fbdc5a docs(shader): state the gap first for 2D-array samples through a 3D T#
Rewrite the debt entry added by #7381 so it opens with what is
unverified (RDNA2 gfx1031 only, wrap addressing only), keeps the
Z_FILTER difference, and lists everything that still throws: the
other sample forms, gathers, image_get_lod and image_get_resinfo,
and the three samples of a T# selected from an image table, of a T#
also loaded with DIM 2D_ARRAY, and of an 11_11_10_UNORM,
11_11_10_UINT or depth-bits T#. The entry goes from 1286 to 898
characters.

Co-Authored-By: Claude <[email protected]>
2026-10-20 14:42:10 +07:00
Savvanis SpyrosandClaude Opus 5.5 346cafdb84 feat(libSceCompanionHttpd): keep the server state with no companion device
Initialize, register a request callback, start, stop and terminate keep the
library's state with its errors; no companion device connects, so
sceCompanionHttpdGetEvent always returns NO_EVENT and the callback is never
called. The response builders are declared and throw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 09:39:58 +02:00
Leonardo Feitosa eca73e1e40 revert(agc): track DCC storage images with more than one mip as one unit 2026-10-20 04:38:56 -03:00
Dean 1edbe4b5e0 Merge pull request #7006 from TheSovietWaffle/fix/recompiler-stencil-replay-every-value
fix(recompiler): replay every eight-bit stencil reference a pixel shader may export
2026-10-20 20:30:46 +13:00
mugurc 57e3e7c645 fix(libs): build getifaddrs and two tests on macOS hosts
Three recent changes use what only Linux has, so libc and two tests no
longer compile on macOS:

- The AF_LINK entries that getifaddrs lists on Linux use linux/if_link.h,
  netpacket/packet.h, sockaddr_ll and rtnl_link_stats, and were built on
  every host but Windows. They are now built on Linux only: macOS lists
  the IPv4 and IPv6 addresses as before, as Windows does, and the
  interface test checks the AF_LINK entries on Linux only.
- The NetCtlAp test loops over a braced list without including
  <initializer_list>, which libc++ does not pull in through the test's
  other headers.
- The import block test backs its 16 KiB views with memfd_create. The
  views case is now built on Linux only; macOS runs the case without
  views, as Windows does.
2026-10-20 10:29:01 +03:00
SebastianandClaude Opus 5.5 cfdaf2dbb8 feat(libkernel): implement fchflags
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01QnkpF2oEMofseVz9Z7WEAC
2026-10-20 07:28:54 +00:00
thuanquangandClaude 5450c93e93 fix(agc): sample 8-bit SNORM textures through FORCE_DEGAMMA as their sRGB format
Co-Authored-By: Claude <[email protected]>
2026-10-20 14:28:09 +07:00
primesoul-web a0356d0cdd Merge upstream/main: carry the revision drop over the console size wave 2026-10-20 07:25:26 +00:00
primesoul-web eb78be8036 fix(libSceIme): drop the filtered commit when the session changed while the filter ran 2026-10-20 07:24:09 +00:00
Yossi Yadgar 190829863e docs(debt): note where the NpParty state comes from 2026-10-20 10:18:30 +03:00
hamb3r 57c8c01183 Merge branch 'main' into feat/libc-backtrace-windows 2026-10-20 10:15:56 +03:00
Yossi Yadgar 6cedb6a5fd docs(debt): note where the headset-less Hmd results come from 2026-10-20 10:13:11 +03:00
Dean 3fd1cc393b Merge pull request #7690 from T3cm0/bionic/hmd2-size-queries
feat(libSceHmd2): return the console's display and mirroring buffer sizes
2026-10-20 20:07:31 +13:00
Dean 4a10f5f167 Merge pull request #8037 from MarrasFederico/feat/libc-strtonum
feat(libc): implement bounded decimal parsing with strtonum
2026-10-20 20:07:26 +13:00
Dean 26f157ba15 Merge pull request #7959 from Lindamea1/fix/libscenet-getsockinfo-fill
fix(libSceNet): fill the address and port fields in sceNetGetSockInfo
2026-10-20 20:07:23 +13:00
Santhosh Kumar c233067eb3 feat(libSceFreeType): select and iterate character maps 2026-10-20 12:37:02 +05:30
Yossi Yadgar 0a69b383d1 docs(debt): note where the HTTP option defaults come from 2026-10-20 09:37:28 +03:00
Yossi Yadgar c0f8251a4b feat(libSceHttp): accept the redirect cache, private SSL and forced abort calls
Without a network these change nothing, so they check their arguments and return 0, and the debt file lists them as silent stubs.
2026-10-20 09:37:17 +03:00
Dean 138351d714 Merge pull request #8056 from ntamas94/fix/sce-net-inet-pton-ex-aton
fix(libSceNet): parse sceNetInetPtonEx IPv4 text as the PS4 does
2026-10-20 19:31:57 +13:00
Lindamea1andClaude Opus 5.5 a05db60c87 fix(libSceNet): fill the address and port fields in sceNetGetSockInfo
sceNetGetSockInfo returned 0 for a known socket and wrote nothing, so
callers read uninitialised bytes as the socket's endpoints. Monster
Hunter Wilds (PPSA24191) calls it after bind, connect and accept and
stores the local and remote address and port it reads back.

It now writes one 0xA0-byte record in the layout SharpProspero and
shadPS4 give: the socket id, the socket type, the local and remote
IPv4 address and port of the host socket in network byte order, the
SELF and NONBLOCK status flags, and the receive and send buffer sizes
sceNetGetsockopt reports for the socket. The other fields are 0. It
returns 1, the number of records written, and EINVAL for a null record
or an n below 1, as shadPS4 does.

An s below 0 lists the sockets as shadPS4 does: with a null record it
returns their number, otherwise it writes up to n records in socket
order and returns how many it wrote. Unlike shadPS4, which lists IPv6
sockets with zero addresses and ignores flags, an IPv6 socket fails
with EAFNOSUPPORT and is left out of the count and the list, and a
flags bit other than 0x40 fails with EINVAL. SharpProspero names 0x40
SockInfoTimeWait; closed sockets leave the table at once, so it lists
the same sockets. docs/dev/debt/libSceNet.md lists the fields left 0
and these differences.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 07:23:51 +01:00
Santhosh Kumar 971d8ba891 feat(libSceNpTus): delete title contexts and their requests 2026-10-20 11:48:16 +05:30
Dean Galvin 0b51b5b482 Merge main into pr-7215
# Conflicts:
#	core/libs/tests/GuestJson.cpp
2026-10-20 18:57:38 +13:00
Henryisdjfunkyho 42701b2906 fix(tools): reject unexpanded response files in syntax checks 2026-10-19 22:49:45 -07:00
adhimiw 1dcbe42379 feat(libSceCesCs): declare the missing firmware character set exports 2026-10-20 11:14:38 +05:30
primesoul-web 5b2f829133 Merge upstream/main: queue host edits, run the title's filter in sceImeUpdate 2026-10-20 05:43:53 +00:00
Dean df6122881d Merge pull request #8067 from harry-z-kang/codex/relinker-static-mingw-tests
fix(build): allow static MinGW runtimes in relinker-only tests
2026-10-20 18:34:06 +13:00
Dean 3611cda292 Merge pull request #8210 from jagrat04/feat/libSceSystemGesture-get-touch-event-by-id
feat(libSceSystemGesture): implement sceSystemGestureGetTouchEventByEventID
2026-10-20 18:31:43 +13:00
Dean 9769b46ffb Merge pull request #8125 from erickerxhalli/feat/libscemove-no-controller
feat(libSceMove): report no connected PS Move controller
2026-10-20 18:31:39 +13:00
Dean 8972f8ae3c Merge pull request #8129 from Th3EvilGod/codex/libc-precise-thread-sleep
fix(libc): use precise Windows thread sleep
2026-10-20 18:31:11 +13:00