Commit Graph
20967 Commits
Author SHA1 Message Date
Federico Marras e556f153ef Merge remote-tracking branch 'upstream/main' into feat/ngs2-waveform-frame-info
# Conflicts:
#	docs/dev/debt/libSceNgs2.md
2026-10-21 14:15:23 +02:00
al3w0f205 83ae329b44 test(libSceMove): assert unknown handle rejection for zero and negative handles 2026-10-21 07:13:26 -05:00
capmare 9863f8b641 fix(shader): give the frontend's call analysis the dispatch's wave size
AcquireFrontend built the frontend's SwappcInfo with a wave size of 0, while the
driver's LinkUserDataCallees passes the dispatch's wave size. A wave64 v_cmp_e64
that reuses a call's link pair after the return, followed by a v_cndmask_b32_e64
that reads it, was refused as escaping the call/return model. The frontend now
receives the dispatch's wave size, and a frontend built for one wave size is not
reused for another.
2026-10-21 14:13:06 +02:00
Adrià 11bb53a347 Merge pull request #8327 from MarrasFederico/feat/ngs2-voice-owner
feat(libSceNgs2): report the rack and index that own a voice in sceNgs2VoiceGetOwner
2026-10-21 14:12:24 +02:00
Santhosh Kumar 114df6965f feat(libSceFreeType): expose font format and embedding flags 2026-10-21 17:41:11 +05:30
Santhosh Kumar a5b7e4d268 feat(libSceFreeType): reverse and translate guest outlines 2026-10-21 17:41:10 +05:30
Santhosh Kumar 0ed04b266a feat(libSceFreeType): expose charmap metadata 2026-10-21 17:41:10 +05:30
Santhosh Kumar 9544a3e766 feat(libSceFreeType): check outlines and query control bounds 2026-10-21 17:41:09 +05:30
aarushkhaandClaude Opus 5.5 28faa76a17 fix(libkernel): measure regular-file read events outside the equeue mutex
The file read poll called sceKernelFstat and sceKernelLseek while
holding m_mutex, and on Windows lseek waits for the descriptor's position
lock, so a long read or write on that descriptor blocked every operation
on the equeue. Each file read event now keeps its measurement in its own
state object; a wait copies the descriptors to measure, releases
m_mutex, runs fstat and lseek, then stores the results under m_mutex
before polling. A descriptor closed and reused in that window gets a new
state object, so the old measurement is never reported for it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 17:40:45 +05:30
aarushkhaandClaude Opus 5.5 3e48fb5f5e fix(libkernel): remove equeue events before taking the position lock on close
A wait polling a regular-file event holds the equeue mutex and calls
sceKernelLseek, which takes the descriptor's position lock on Windows.
sceKernelClose and close took that lock first and then the equeue mutex
in EqueueDescriptorClosed, so a close racing such a wait deadlocked. Both
now remove the descriptor's events before taking the position lock, as
dup2 already does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 17:40:45 +05:30
aarushkhaandClaude Opus 5.5 7bff640073 feat(libkernel): answer sceKernelAddReadEvent and sceKernelAddWriteEvent on regular files
Both threw for a regular file. They now follow FreeBSD 11.4's
filt_vfsread and filt_vfswrite: a read event reports the file size less
the descriptor's offset and fires while that is not 0; a write event
always fires with data 0. A wait holding such an event polls it again
every millisecond, as no host call reports every file change. A size
above 1 and other vnode types still throw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 17:40:45 +05:30
Santhosh Kumar 091dc1d1b5 feat(libSceFreeType): expose raw SFNT name records 2026-10-21 17:40:35 +05:30
orezraeyandClaude Opus 5.5 6369edbf12 Merge main into fix/http-uri-parse-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 09:10:14 -03:00
Santhosh Kumar 1bf9429135 feat(libSceFreeType): expose font and glyph names 2026-10-21 17:39:26 +05:30
thuanquangandClaude a936eadd6a test(libc): drop the wcsncat_s overlap case that pins a false positive
The console rejects a copy only when the written range intersects the read range; this call writes indices 3-4 and reads 1-2, so the console copies and returns 0 (oneandonlydean, reading libc.prx). Main returns 22, and the row would have pinned that.

Co-Authored-By: Claude <[email protected]>
2026-10-21 19:08:42 +07:00
Santhosh Kumar 211dc984b1 docs(libSceFreeType): use the shared debt sections 2026-10-21 17:38:36 +05:30
Santhosh Kumar 69e6ac4438 feat(libSceFreeType): copy and convert guest bitmaps 2026-10-21 17:38:35 +05:30
Adrià d099bc6cd8 Merge pull request #8245 from YossiYad/feat/http-object-options
feat(libSceHttp): keep options per template, connection and request and implement their getters
2026-10-21 14:04:15 +02:00
lakhantheboss d1b7722630 feat(libSceAppContent): implement temporary data mount 2026-10-21 17:33:27 +05:30
Adrià aed67d7e55 Merge pull request #8256 from YossiYad/feat/hmd-no-headset-queries
feat(libSceHmd): answer ten buffer and device queries the way the disconnected-headset path implies
2026-10-21 14:03:19 +02:00
Adrià f815e8bdd6 Merge pull request #8247 from santhoshkumar-dev/codex/freetype-font-face-lifecycle
feat(libSceFreeType): support memory fonts and face cleanup
2026-10-21 14:03:13 +02:00
Adrià d5705d17ad Merge pull request #8290 from akkadbakkad89/feat/psml-mfsr-queries
feat(libScePsml): implement the MFSR query exports
2026-10-21 14:02:16 +02:00
Adrià 9270760493 Merge pull request #8289 from santhoshkumar-dev/codex/freetype-load-character
feat(libSceFreeType): load glyphs by character code
2026-10-21 14:02:11 +02:00
Adrià b11d7cefdb Merge pull request #7907 from akkadbakkad89/feat/prx-declare-inventory-74
feat(prx): declare exports for 66 inventory-covered system libraries
2026-10-21 14:02:05 +02:00
Yossi Yadgar fcc7f2aba9 docs(debt): note where sceNpCheckCallbackForLib comes from 2026-10-21 14:59:31 +03:00
Yossi Yadgar 38e3a0e1f6 test(libSceNpManager): deliver the state callbacks through sceNpCheckCallbackForLib 2026-10-21 14:59:31 +03:00
Yossi Yadgar 99bdd60a6e feat(libSceNpManager): deliver pending state callbacks from sceNpCheckCallbackForLib 2026-10-21 14:59:31 +03:00
Zenodeon 2d50c08473 test(agc): exercise heap mirror regressions on Windows 2026-10-21 13:57:46 +02:00
thuanquangandClaude Opus 5.5 9ab433f250 fix(agc): start DB_Z_INFO and DB_STENCIL_INFO at their clear-state value
A context that never wrote DB_Z_INFO or DB_STENCIL_INFO had neither
register, so a draw testing depth or stencil without a depth target was
refused (PPSA24040, DB_DEPTH_CONTROL 0x777), and a depth or stencil plane
whose other register was never written stopped on a missing register.
Both now start at 0, FORMAT INVALID, initially and after CLEAR_STATE.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 18:57:24 +07:00
JJenkxandClaude Opus 5.5 505943c4ef feat(tools): press several buttons together from pad_input.py
Some titles wait for a chord on their title screen: RollerCoaster Tycoon
Adventures Deluxe (PPSA17330) asks for L1 + R1. The command file already
carries a button bit field, but the helper accepted one name. Names joined
by '+' are now combined into one command; unknown names, duplicates and
release in a chord are rejected without touching the command file.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 07:55:36 -04:00
Federico Marras bef2578837 fix(libSceAudioOut): throw for any legacy mastering flags while their effect is disputed 2026-10-21 13:52:55 +02:00
Yossi Yadgar 3c5924518f docs(debt): note where the internal ImeDialog calls come from 2026-10-21 14:52:11 +03:00
Yossi Yadgar 0e82cc6484 test(libSceImeDialog): cover the star state, internal init and panel position 2026-10-21 14:52:11 +03:00
Yossi Yadgar 2c0f778b93 feat(libSceImeDialog): refuse panel moves without a movable panel 2026-10-21 14:52:11 +03:00
Yossi Yadgar 77f439cf28 feat(libSceImeDialog): open the dialog through sceImeDialogInitInternal 2026-10-21 14:52:11 +03:00
Yossi Yadgar c46ff25ee7 feat(libSceImeDialog): report the star state of an open dialog 2026-10-21 14:52:11 +03:00
Retr0 99c195e79a fix(libc): leave tzname[1] as three spaces for a zone without daylight saving time
FreeBSD 11 localtime.c initializes tzname to WILDABBR ("   ") and settzname()
resets both entries to it before filling them from the zone's types, so a
zone with no daylight saving type keeps "   " in tzname[1]. Windows left it
empty and Linux repeated tzname[0].
2026-10-21 14:49:28 +03:00
Retr0 36226741f5 fix(libc): open a directory with fopen in a read mode on Windows
FreeBSD 11 fopen opens the path with _open, and vn_open_vnode refuses a
directory only for FWRITE or O_TRUNC, so fopen of a directory in a read
mode succeeds; Linux hosts already open it. On Windows CreateFileW
without FILE_FLAG_BACKUP_SEMANTICS refused it with EACCES.

fopen now opens such a path as a libkernel directory descriptor, which
libkernel registers in libc when it loads, and fclose and freopen remove
it from libkernel's table. Reads on the stream fail with EISDIR and set
the error indicator, as on a Linux host and FreeBSD's tmpfs: the Windows
CRT fails them already but reports EINVAL. Writes fail with EBADF, and
fseek, ftell and ungetc work, as on any read-only stream.
2026-10-21 14:48:37 +03:00
orezraeyandClaude Opus 5.5 c5df2f4ce0 fix(libSceNet): accept every sceNetMemoryAllocate flag as measured on a PS5
A PS5 (firmware 13.60) allocates with any flag value, zero-fills only for
flag 2 and returns 64-byte aligned blocks. Record the measured behaviour of
sceNetGetIfName, sceNetGetRandom, sceNetGetSystemTime, sceNetMemoryFree and
sceNetUsleep, which already match the console, and keep only their open gaps.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 08:48:19 -03:00
Gabrieljr42 df0a74e7c6 fix(ajm): parse protected MP3 frame metadata correctly 2026-10-21 08:48:05 -03:00
Adrià 47fa6eecf8 Merge pull request #8215 from jagrat04/feat/libSceNpWebApi2-add-web-trace-tag
feat(libSceNpWebApi2): implement sceNpWebApi2AddWebTraceTag
2026-10-21 13:46:46 +02:00
Adrià e335d5b5ba Merge pull request #7974 from DavidSamir/feat/libkernel-file-mmap-macos
feat(libkernel): map files through the guest's mmap on macOS hosts
2026-10-21 13:46:41 +02:00
Federico Marras c33c37d57b Merge remote-tracking branch 'upstream/main' into feat/audio-out-mastering 2026-10-21 13:46:34 +02:00
Federico Marras 546d62d6b4 feat(libSceNgs2): report the ATRAC9 frame layout in sceNgs2GetWaveformFrameInfo 2026-10-21 13:46:12 +02:00
thuanquangandClaude b8596dca9b docs(shader): say that S#s without a mip filter also read a multi-level view at its base
Co-Authored-By: Claude <[email protected]>
2026-10-21 18:41:59 +07:00
Adrià 865166414f Merge pull request #7884 from jacob6769/feat/ces-korean-big5
feat(libSceCesCs): convert EUC-KR, UHC and Big5 through the CP949 and CP950 tables
2026-10-21 13:39:26 +02:00
Adrià 6c8b43931b Merge pull request #8228 from jagrat04/feat/libSceNet-show-route6
feat(libSceNet): implement sceNetShowRoute6
2026-10-21 13:38:29 +02:00
Adrià 64361960c5 Merge pull request #7818 from fogydes/feat/vorbisdec-firmware-exports
feat(libSceVorbisDec): export missing firmware Vorbis decoder interfaces
2026-10-21 13:38:24 +02:00
Adrià de4ef842b5 Merge pull request #7850 from mugurc/feat/libkernel-sockets-macos
feat(libkernel): UDP sockets and name resolution on macOS hosts
2026-10-21 13:36:21 +02:00
Gabrieljr42 5df064ebda Merge remote-tracking branch 'upstream/main' into feat/ajm-mp3-frame-metadata 2026-10-21 08:35:45 -03:00