Commit Graph
3004 Commits
Author SHA1 Message Date
Dean 6eea4e0c2e Merge pull request #7282 from T3cm0/bionic/unlocked-stream-queries
feat(libc): implement clearerr_unlocked, fileno_unlocked and fgetln
2026-10-18 13:26:31 +13:00
Dean 54c5eff8ac Merge pull request #7308 from DavidSamir/feat/shader-barycentric-tessellation
feat(shader): emulate barycentrics through tessellation on devices without geometry shaders
2026-10-18 12:57:13 +13:00
Dean 5b7ec4a9bd Merge pull request #7272 from OskarLGS/fix/relinker-decoder-osize-branches
fix(relinker): decode near branches with an operand-size prefix as AM…
2026-10-18 12:56:40 +13:00
Dean bd58561708 Merge pull request #7294 from Amoenus/codex/feat-thick-s4kb-x-main64df
feat(agc): support thick 4 KiB standard XOR volumes
2026-10-18 12:26:42 +13:00
Dean f1dc7b4c19 Merge pull request #7293 from milescoviello/fix/trace-title-shader-threads
fix(agc): trace the title threads that register shaders
2026-10-18 12:18:13 +13:00
Dean 3954aed289 Merge pull request #7289 from LaunchDoesntCode/fix/itimer-sigalrm-pending
fix(libkernel): leave a blocked SIGALRM expiry pending
2026-10-18 12:18:09 +13:00
Dean 582de4cc1c Merge pull request #7300 from hugodearaujo/fix/ampr-busy-when-full
fix(ampr): return EBUSY when a command does not fit and EPERM before a buffer is bound
2026-10-18 12:09:00 +13:00
Dean 56da45636d Merge pull request #7306 from jagrat04/feat/libSceProprietaryVoiceChatHelperPrx-get-voice-chat
feat(libSceProprietaryVoiceChatHelperPrx): export sceProprietaryVoiceChatHelperGetVoiceChat
2026-10-18 12:08:57 +13:00
Dean cfaba870d1 Merge pull request #7207 from gjonn/fix/agc-color-11-11-10-float
feat(agc): implement 11_11_10 float color targets through 32-bit uint attachments
2026-10-18 12:08:54 +13:00
Dean 51cee90311 Merge pull request #7295 from ionut27001/fix/libkernel-pshared-private-only
fix(libkernel): reject PTHREAD_PROCESS_SHARED as the PS5 does and add the missing pshared accessors
2026-10-18 12:02:32 +13:00
David a968198710 Merge remote-tracking branch 'origin/main' into feat/shader-barycentric-tessellation
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Graphics/src/Pipeline.cpp
#	docs/dev/debt/shader.md
2026-10-18 02:30:39 +04:00
jagrat Singh 7f1e12a4e1 feat(libSceProprietaryVoiceChatHelperPrx): export sceProprietaryVoiceChatHelperGetVoiceChat 2026-10-18 03:54:32 +05:30
hugodearaujo 12813101d2 fix(ampr): return EBUSY when a command does not fit and EPERM before a buffer is bound 2026-10-17 19:23:26 -03:00
Romans Pokrovskis b2d9880700 feat(agc): support thick 4 KiB standard XOR volumes 2026-10-18 01:22:36 +03:00
Dean b4f05ab328 Merge pull request #6631 from AlxcBTW/perf/dcc-key-presync
perf(agc): pre-sync the DCC key writers of a dispatch's images before the GPU mutex
2026-10-18 11:18:56 +13:00
Dean 0381ac76d1 Merge pull request #6632 from AlxcBTW/perf/handoff-spin
perf(agc): spin before blocking on the GPU mutex and the draw committer hand-offs
2026-10-18 11:18:40 +13:00
Dean 2a1aa7e84e Merge pull request #7231 from ErenYeager1836/feat/voiceqos-set-remote-endpoint-attribute
feat(libSceVoiceQoS): implement sceVoiceQoSSetRemoteEndpointAttribute
2026-10-18 11:18:34 +13:00
Dean fbb76ae3e6 Merge pull request #7095 from milescoviello/feat/sysarch-gsbase
feat(libkernel): read and set the GS base through sysarch
2026-10-18 11:18:15 +13:00
David 91d5f577ea docs(shader): record the tessellation route of the barycentric emulation 2026-10-18 02:17:01 +04:00
Dean b51c65dd11 Merge pull request #7263 from thuanquang/fix/buffer-atomic-misaligned-base
fix(shader): run buffer atomics through a V# off a DWORD boundary
2026-10-18 11:02:26 +13:00
ionut27001andClaude Opus 5.5 c00c58ae34 fix(libkernel): reject PTHREAD_PROCESS_SHARED in pthread_condattr_setpshared and add pthread_condattr_getpshared
On a PS5 (firmware 12.70), of the values 0, 1, 2 and -1,
pthread_condattr_setpshared accepts only 0 and leaves the attribute
unchanged otherwise. pthread_condattr_getpshared reports 0 and returns
EINVAL for a null, uninitialized or destroyed attribute, also with a
null output. With an initialized attribute a null output crashes the
console; here it throws.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 00:50:09 +03:00
ionut27001andClaude Opus 5.5 bdf3adb379 feat(libkernel): add pthread_rwlockattr_getpshared and pthread_rwlockattr_setpshared
Measured on a PS5 (firmware 12.70): the getter reports 0, and of the
values 0, 1, 2 and -1 the setter accepts only 0 and checks the value
before the attribute. A null or uninitialized attribute, or a null
output, crashes the console; here it throws.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 00:50:09 +03:00
ionut27001andClaude Opus 5.5 db504f6b9c fix(libkernel): reject PTHREAD_PROCESS_SHARED in pshared setters as the PS5 does
On a PS5 (firmware 12.70), of the values 0, 1, 2 and -1,
pthread_spin_init, pthread_barrierattr_setpshared and
pthread_mutexattr_setpshared accept only PTHREAD_PROCESS_PRIVATE (0);
1, 2 and -1 return EINVAL and leave the attribute unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 00:49:58 +03:00
Dean 5e9074999f Merge pull request #7252 from thuanquang/fix/videodec2-decode-after-flush
fix(libSceVideodec2): decode after a flush without a reset
2026-10-18 10:38:59 +13:00
milescovielloandClaude Opus 5.5 f7cd8df309 fix(agc): trace the title threads that register shaders
Shader registration and the shader ABI resolves run on the title's own
threads, which never bound a trace buffer, so their Shader.Register and
Shader.Resolve* scopes were missing from every trace and summary. Those
entry points now bind the calling thread as `title` with the 32,768-event
buffer the shader preparation threads use.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 21:33:53 +00:00
Dean 55b968a239 Merge pull request #7245 from ErenYeager1836/fix/msgdialog-native-validation
fix(libSceMsgDialog.native): validate null argument and busy state across dialog lifecycle
2026-10-18 10:33:44 +13:00
Gjon Gojcevic 49b0e805f0 feat(agc): implement 11_11_10 float color targets through 32-bit uint attachments
Color format 7 (COLOR_11_11_10, float) keeps its 10-bit component in the
low bits; with the reversed component order (COMP_SWAP 2) that is blue,
with red in the high 11 bits. Vulkan has no such layout, so the target was
refused at decode.

Render it the way 10_11_11 unorm targets are rendered: an R32_UINT
attachment, the reversed export mapping 0xc6, and a new
ColorExportPacking::Float11_11_10 that makes the pixel shader pack each
export with the format-43 image store conversion (toward zero, overflow to
the largest finite value, negatives to zero, NaN kept). Blending, partial
writes, 16-bit integer exports, DCC and the other component orders throw.

AI-assisted: yes
2026-10-17 17:29:21 -04:00
Dean 8690d92f07 Merge pull request #7071 from SleglJan/fix/storage-budget-pressure
fix(agc): let the storage image cache budget follow the heap's use like the sampled one
2026-10-18 10:29:01 +13:00
Dean e815fb4170 Merge pull request #7251 from thuanquang/fix/rect-list-last-provoking-vertex
fix(agc): draw rect lists in last provoking vertex mode
2026-10-18 10:28:06 +13:00
Dean fb20d5d4ec Merge pull request #6053 from ThatsLeo/perf/shader-plan-first-lane
perf(shader): judge first-lane and constant reads by what they read
2026-10-18 10:24:44 +13:00
LaunchDoesntCodeandClaude Opus 5.5 1bc029da6d fix(libkernel): leave a blocked SIGALRM expiry pending
An ITIMER_REAL or alarm expiry while SIGALRM is blocked is marked on the
pending set of sigtimedwait instead of throwing, as kern_psignal leaves a
blocked signal pending. sigwait, sigwaitinfo and sigtimedwait take it,
repeated expiries merge into one pending signal, and unblocking it runs a
guest handler on the unblocking thread or, with the default disposition,
exits the process with status 142 as FreeBSD's default action does.

The expiry rechecks the mask after marking the signal, so an unblock that
races it does not leave SIGALRM pending while unblocked, and TakePending
clears the bit with the value it read so one signal is taken once.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 16:22:59 -05:00
Dean 8f0e276c61 Merge pull request #6402 from Pipodi/feat/image-table-stores
feat(agc): store to images selected through image tables
2026-10-18 10:22:39 +13:00
Dean 6447ed1ed7 Merge pull request #7241 from ErenYeager1836/fix/savedata-native-transaction-resource-validation
fix(libSceSaveData.native): validate initialization and parameters in transaction resource lifecycle
2026-10-18 10:19:36 +13:00
Dean 8532632d4e Merge pull request #7249 from Lorkydey/feat/libc-binary-word-io
feat(libc): implement getw and putw
2026-10-18 10:18:50 +13:00
T3cm0andClaude Opus 5.5 22c584acd3 feat(libc): implement clearerr_unlocked, fileno_unlocked and fgetln
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 16:17:27 -05:00
Dean cf217c51c6 Merge pull request #7211 from simonbronk/codex/secure-scan-null-20261017
fix(libc): reject null secure scan destinations
2026-10-18 10:16:38 +13:00
Dean 5ba257cb0a Merge pull request #7237 from ErenYeager1836/feat/netctl-http-proxy-port-and-nat-info
feat(libSceNetCtl): support NET_CTL_INFO_HTTP_PROXY_PORT and validate null in sceNetCtlGetNatInfo
2026-10-18 10:13:57 +13:00
Dean ae12023436 Merge pull request #7236 from ErenYeager1836/fix/system-gesture-touch-event-index-validation
fix(libSceSystemGesture): validate gesture handle and recognizer in sceSystemGestureGetTouchEventByIndex
2026-10-18 10:13:22 +13:00
Dean 11acfdd84e Merge pull request #7234 from ErenYeager1836/fix/savedata-dialog-progressbar-not-running
fix(libSceSaveDataDialog.native): return NOT_RUNNING from progress bar updates when not running
2026-10-18 10:11:25 +13:00
Dean af7972ce91 Merge pull request #7229 from nicolasfalesy/feat/libkernel-export-nmount
feat(libkernel): export nmount
2026-10-18 10:10:15 +13:00
Dean a3d2f6ef50 Merge pull request #7225 from nicolasfalesy/feat/libkernel-condattr-setpshared
feat(libkernel): implement pthread_condattr_setpshared
2026-10-18 10:09:16 +13:00
Dean 6005185eef Merge pull request #7224 from jagrat04/feat/libSceVoice-resource-info
feat(libSceVoice): implement sceVoiceGetResourceInfo
2026-10-18 10:08:45 +13:00
Dean ce0d58edbc Merge pull request #7131 from JosepBove/fix/agc-depth-plane-fill
fix(agc): clear the host depth image on a fill of a depth or stencil plane
2026-10-18 10:07:50 +13:00
Dean a2d40a48ba Merge pull request #7072 from mrfelek/fix/ngs2-system-lock-try-render
fix(libSceNgs2): let render skip a grain while another thread holds the system lock
2026-10-18 10:07:14 +13:00
Dean 30115250d9 Merge pull request #7214 from omar-akermi/codex/fix-http-uri-escaping
fix(libSceHttp): make URI escaping independent of host locale
2026-10-18 10:06:13 +13:00
Dean c3c3dcf157 Merge pull request #7213 from thuanquang/feat/color-565-target
feat(agc): render 5_6_5 UNORM color targets
2026-10-18 10:04:00 +13:00
oskarlgsandClaude Opus 5.5 206aaa56cb fix(relinker): decode near branches with an operand-size prefix as AMD does
66 E8, 66 E9 and 66 0F 80-8F without REX.W take a 16-bit displacement on
AMD processors, the console included. Every near relative branch with that
prefix truncates its target to 16 bits, so the decoder reports no branch
target for it and stubs refuse to move it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016TFMtUC4L4wMS4eeEqaNSR
2026-10-17 20:58:29 +00:00
Dean 88395770b8 Merge pull request #6875 from pushkarreddyy/fix/agc-driver-unclamped-normalized-color
fix(libSceAgcDriver): accept unclamped normalized color target formats
2026-10-18 09:55:51 +13:00
Dean 07475de571 Merge pull request #7185 from Destroyers212x/docs/rosetta-m1-macos-26
docs(relinker): record Rosetta instruction support on an M1 with macOS 26.6.2
2026-10-18 09:55:02 +13:00
Dean dacd2e991c Merge pull request #7151 from Bonjourcestmatt/fix/socket-type-eprototype
fix(libkernel): return EPROTOTYPE for a socket type inet does not have
2026-10-18 09:51:50 +13:00