Commit Graph
20967 Commits
Author SHA1 Message Date
JJenkx ee9b1c8249 test(shader): upgrade legacy point requests to version 40 2026-10-21 09:13:32 -04:00
JJenkx 70c8476c7c test(shader): align request version guards after float flush merge 2026-10-21 09:13:32 -04:00
JJenkx c750708c8d test(shader): preserve depth remap requests through point replay 2026-10-21 09:13:32 -04:00
JJenkx 8409360d40 test(shader): retain request versions through 34 for point replay 2026-10-21 09:13:32 -04:00
JJenkx 95a2a45fe3 test(shader): preserve version 32 requests with spanned waves 2026-10-21 09:13:32 -04:00
JJenkx 4f76eb75ce feat(agc): apply register and exported sizes to mesh points 2026-10-21 09:13:32 -04:00
JJenkx e751dabd7b feat(agc): rasterize geometry point outputs as mesh points 2026-10-21 09:13:32 -04:00
milescovielloandClaude Opus 5.5 f71ead79e9 docs(agc): put the vertex point list entry's gaps first and shorten it
The entry was twice the 1000-character limit, led with the behaviour
rather than the gaps, and named a title. It now lists what throws and
what is inferred first, and names no title.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 09:13:32 -04:00
milescovielloandClaude Opus 5.5 89be76cb4c test(shader): check version 39, 41, 42 and 43 requests with merged hull and point state
A tessellated vertex request with the merged hull flag and a point list
serializes as version 43 with both. Without its point tail it reads as
main's version 42, without the pixel sample order as version 41, and
without the f32 denormal preserve flag as version 39, each keeping the
merged hull flag and taking the default point state.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 09:13:32 -04:00
milescovielloandClaude Opus 5.5 891bb20161 fix(agc): journal a vertex point list and its point sizes
Pipeline creation and SPIR-V validation read State::vertexPoints and the
three point sizes, so the pipeline journal's recipe codec and canonical
state now carry them, the State layout guard names its new size and the
journal format becomes 6 (main took 5 for the recipe codec change of #5656).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 09:13:32 -04:00
milescovielloandClaude Opus 5.5 11bc7b1686 fix(shader): move the vertex point fields to request version 43
main took request versions 33 to 42 for other fields, the last of them
the pixel sample order, so requests of those versions from main have no
point-list tail. The point fields now come with version 43, after them,
and the tests expect 43 and reject 44.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 09:13:32 -04:00
milescovielloandClaude Opus 5.5 f3433b0a11 fix(agc): keep the written point size above zero
Vulkan needs PointSize above zero. A PA_SU_POINT_SIZE of 0 without
USE_VTX_POINT_SIZE, and a PA_SU_POINT_MINMAX maximum of 0 with it, now
throw. With USE_VTX_POINT_SIZE the clamp's lower bound is at least the
smallest positive float, so an exported size of 0 or less, which a
clamp minimum of 0 lets through, is written as a positive value.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 09:13:31 -04:00
milescovielloandClaude Opus 5.5 e7ea490325 feat(agc): draw point lists on the vertex path with their point size
A point list routed through the vertex path was refused, and so was
PA_CL_VS_OUT_CNTL.USE_VTX_POINT_SIZE on it. OliSe Player (PPSA01153)
stops on the latter with two of its MilkDrop presets.

The vertex path now draws point lists as Vulkan points. The vertex stage
writes PointSize: the misc export's X clamped to PA_SU_POINT_MINMAX when
USE_VTX_POINT_SIZE is set, and the PA_SU_POINT_SIZE height otherwise.
The point state travels in the recompile request (version 31) and the
cache and draw keys. Non-square register sizes, inverted clamps, point
sprite texture coordinates and, without largePoints, sizes other than
one pixel throw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 09:13:09 -04:00
Romans Pokrovskis b65a553db6 test(agc): retile distinct D32 sample readback 2026-10-21 16:10:59 +03:00
Romans Pokrovskis ab1e6a7a89 test(agc): connect multisample readback to R_X and Z_X retile 2026-10-21 16:10:59 +03:00
Dean 27bcd6a29e Merge pull request #8162 from savvaniss/fix/windows-runtime-module-start
fix(relinker): start Windows runtime modules the executable needs when the title loads them
2026-10-22 02:10:11 +13:00
Federico Marras 2ba8228945 Merge remote-tracking branch 'upstream/main' into feat/kernel-sys-pthread-scope-atfork 2026-10-21 15:09:12 +02:00
xXPBSXxandClaude Sonnet 5.5 8411e6692b test(agc): let the sgpr pattern fill keys test resubmit more often under load
SubmitAndRead polls for the window in which the submitted dispatch is a
pending write over the keys and resubmits when it retires without being
seen. With 16 resubmits a loaded host (the polling thread descheduled while
the llvmpipe dispatch retires) ran out of them: with 24 busy loops running
beside it the test failed in 7 of 8 runs with "the dispatch completed 17
times without a pending write over the keys". Raise the limit to 512; the 10
second deadline still bounds the wait.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 15:09:02 +02:00
Romans Pokrovskis b4fbf24d1e feat(agc): upload individual multisample image samples 2026-10-21 16:06:59 +03:00
Romans Pokrovskis b8297adab9 feat(agc): add fragment-preserving R_X and Z_X layouts 2026-10-21 16:06:32 +03:00
Dean 745b394629 Merge pull request #9102 from oneandonlydean/fix/storage-write-back-no-window-unmap
test(agc): unmap only the no-window test's own tail
2026-10-22 02:00:39 +13:00
orezraeyandClaude Opus 5.5 3e6c6bd71f test(libkernel): cover cancelling two event flag waiters
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 09:57:32 -03:00
orezraeyandClaude Opus 5.5 b779496315 fix(libkernel): match event flag attributes and error results to PS5
Measured on firmware 13.60: create accepts attribute bits 0x1, 0x2, 0x10,
0x20 and 0x100 and rejects 0x1|0x2; wait and poll ignore mode bits outside
the match and clear fields; EPERM, ECANCELED and EACCES write 0 to the
result pattern.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 09:56:48 -03:00
Dean 74bdc3a3a7 Merge pull request #8110 from savvaniss/feat/np-account-signed-out
feat(libSceNpManager): answer the PS4 account and presence queries for a signed-out user
2026-10-22 01:54:31 +13:00
Dean fdf22f9546 Merge pull request #7911 from savvaniss/fix/agc-release-mem-system-counter
fix(agc): name the RELEASE_MEM system counter instead of GDS data
2026-10-22 01:54:27 +13:00
Dean 1d2f8cfe0e Merge pull request #8859 from hypermoist/feat/libc-c11-thread-forwards
feat(libc): forward the C11 thread and TSS calls to libkernel
2026-10-22 01:54:23 +13:00
xXPBSXxandClaude Sonnet 5.5 6d464e9495 test(recompiler): give the shader cache source fixture room under load
shader_cache_runtime_sources configures a CMake fixture several times with a
15 s limit per configure and 180 s for the whole test. On a loaded machine a
configure takes longer than that: under a parallel build (load average ~12 on
WSL2 Ubuntu) the test timed out in 2 of 2 runs, and on an idle Windows machine
it needs about 115 s of the 180 s. Raise the limits to 120 s per configure,
60 s per version query and 600 s for the test.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 14:50:12 +02:00
xXPBSXxandClaude Sonnet 5.5 9abca4b9f9 docs(debt): say what the socketpair poll note still lacks after the peer closes
On Windows a pair end now reports POLLIN after the peer's shutdown or close.
The console also reports POLLHUP after close; the loopback connection cannot
tell a close from a shutdown.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 14:47:07 +02:00
Dean ce7d547175 Merge pull request #8856 from klosixgaming-arch/feat/agc-point-list-geometry-output
feat(agc): draw point-list output of NGG geometry programs as mesh points
2026-10-22 01:46:18 +13:00
Retr0 41709ae50e fix(libkernel): move events reported by sceKernelWaitEqueue behind the waiting ones
FreeBSD 11 kqueue_scan (sys/kern/kern_event.c) re-inserts a reported
knote without EV_CLEAR or EV_DISPATCH at the tail of kq_head, and
knote_enqueue puts a knote that fires again at the tail as well, so the
next scan starts with the events that were not reported yet.
sceKernelWaitEqueue scanned the event list in place, so with num smaller
than the number of ready events the first ones were reported on every
call and the later ones starved. Each reported event that stays
registered now moves to the end of the list, in the order reported.
2026-10-21 15:41:06 +03:00
al3w0f205 4895ab1a4c test(libSceUsbd): cover sceUsbdFillControlSetup buffer formatting 2026-10-21 07:37:15 -05:00
Santhosh Kumar d72c5dcd0d fix(shader): keep host interpolation across entry EXEC copies 2026-10-21 18:07:09 +05:30
Retr0 bbfa163722 fix(libkernel): discard a pending signal when sigaction or signal ignores it
FreeBSD 11's kern_sigaction (sys/kern/kern_sig.c) calls
sigqueue_delete_proc, which drops the signal from the process queue and
from every thread's queue, whenever the new handler is SIG_IGN, or
SIG_DFL on a signal whose sigprop has SA_IGNORE (SIGURG, SIGCONT,
SIGCHLD, SIGIO, SIGWINCH, SIGINFO). It does so whether or not the
signal is blocked. sigaction and signal now take the signal off the
pending set in those cases, so a later unblock or wait never sees it.
2026-10-21 15:35:32 +03:00
Adrià 7280a17ec0 Merge pull request #8360 from MarrasFederico/feat/vdecsw-vp9-picture-info
feat(libSceVdecsw): report VP9 picture info in sceVdecswGetVp9PictureInfo
2026-10-21 14:35:16 +02:00
Retr0 f2bc1195f8 fix(libkernel): reject socket addresses longer than sockaddr_in or sockaddr_in6 with EINVAL
FreeBSD 11.4 getsockaddr sets sa_len to the length argument, and
tcp_usr_bind, tcp_usr_connect, in_pcbbind_setup, in_pcbconnect_setup,
in6_pcbbind and in6_pcbladdr answer EINVAL when it is not the size of
the socket family's address. udp6_bind and udp6_connect pass an
IPv4-mapped address to the IPv4 code without that check when
IPV6_V6ONLY is clear, and udp6_send always checks it. bind and connect
on AF_INET and AF_INET6 sockets, and sendto on AF_INET6 datagram
sockets, now fail a longer address with EINVAL.
2026-10-21 15:31:15 +03:00
jacob6769andClaude Opus 5.5 b50e5c7a4d feat(libSceCesCs): implement the EUC-KR, UHC and Big5 scalar conversions
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 21:29:50 +09:00
lakhantheboss 8af8f1d54f docs(libSceAppContent): clarify temporary storage debt 2026-10-21 17:59:48 +05:30
hamb3r d9ce5c9b9b Merge remote-tracking branch 'origin/main' into perf/shader-fold-buffer-format 2026-10-21 15:28:44 +03:00
xXPBSXxandClaude Sonnet 5.5 f1c8ae0ccb fix(libkernel): report a stream whose peer closed as readable in poll on Windows
WSAPoll reports POLLHUP alone for a stream socket whose peer has closed, so
poll never returned POLLIN for it and a caller waiting for POLLIN did not see
the end of the stream. sopoll_generic reports a socket that can receive no
more as readable and adds POLLHUP only once it can send no more either.
poll now adds the requested read bit and keeps POLLHUP only after the socket
shut its own sending side. A reset or refused connection keeps WSAPoll's flags.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 14:28:15 +02:00
Federico Marras c6a2cf6042 Merge remote-tracking branch 'upstream/main' into feat/ngs2-waveform-frame-info
# Conflicts:
#	core/libs/prx/libSceNgs2.native/tests/Ngs2Atrac9.cpp
2026-10-21 14:27:59 +02:00
Retr0 3509bb528a fix(libSceNet): report EAGAIN when a stream receive times out on Windows
FreeBSD 11.4's soreceive_generic waits in sbwait (sys/kern/uipc_socket.c,
uipc_sockbuf.c), whose msleep_sbt on so_rcv.sb_timeo returns EWOULDBLOCK
(35) for every socket type when SO_RCVTIMEO expires. On Windows the host
socket is non-blocking and native_transfer enforces the timeout itself,
but it reported WSAETIMEDOUT, which only datagram receives turned into
EAGAIN; a stream receive failed with ETIMEDOUT (60). A receive that
reaches the stored timeout now reports WSAEWOULDBLOCK, so every
receive returns EAGAIN, and a host WSAETIMEDOUT still maps to ETIMEDOUT.
2026-10-21 15:26:46 +03:00
Adrià 2f161d4f33 Merge pull request #8345 from MarrasFederico/feat/mbus-device-generation
feat(libSceMbus): report a device set that never changes in sceDeviceServiceGetGeneration
2026-10-21 14:20:48 +02:00
Federico Marras 4a446319ef docs(libSceNgs2.native): shorten the sceNgs2GetWaveformFrameInfo debt entry 2026-10-21 14:20:22 +02:00
Dean 0c83831421 Merge pull request #8975 from milescoviello/rebase/5499-db-depth-copy
feat(agc): run DB depth copies into a single-sample R32 float target
2026-10-22 01:20:22 +13:00
Adrià fce8ecf162 Merge pull request #8330 from ymatrix1/feat/regmgr-missing-exports
feat(libSceRegMgr): export missing firmware registry manager interfaces
2026-10-21 14:18:55 +02:00
Adrià 6cfd7912a6 Merge pull request #8332 from ymatrix1/feat/avsetting-hid-missing-exports
feat(libSceAvSetting): export missing firmware AV setting and HID control interfaces
2026-10-21 14:18:50 +02:00
Adrià 44d01b8f4b Merge pull request #8333 from ymatrix1/feat/gamelivestreaming-missing-exports
feat(libSceGameLiveStreaming): export missing firmware live streaming interfaces
2026-10-21 14:18:44 +02:00
Adrià 94b2b54e8c Merge pull request #8338 from KernelPanicNT/feat/ngs2-calc-waveform-block-pcm
feat(libSceNgs2): map waveform blocks of linear PCM and float types
2026-10-21 14:17:40 +02:00
Retr0 9bd2bb06cc fix(libkernel): return ENOTSOCK from sendfile on a descriptor that is not a socket
FreeBSD 11 sendfile checks the file descriptor first, then looks up the
socket with getsock_cap, which answers ENOTSOCK for an open descriptor
that is not a socket and EBADF for one that is not open
(sys/kern/kern_sendfile.c, sys/kern/uipc_syscalls.c).

sendfile replaced the errno that Lookup had already set with EBADF. It
now reports the errno Lookup chose, so an open non-socket gives ENOTSOCK
and a closed descriptor still gives EBADF. The sentence about this gap
is cut from the sendfile debt entry and guest_sendfile covers both cases.
2026-10-21 15:16:35 +03:00
David 087c1f40a4 Merge branch 'main' into feat/agc-barycentric-rect-list 2026-10-21 16:15:52 +04:00