Commit Graph
8546 Commits
Author SHA1 Message Date
VakzOs 3778e9fc98 Merge branch 'boykopovar:main' into feat/libressl-des 2026-10-23 09:27:10 +02:00
xXPBSXxandClaude Sonnet 5.5 9c863ba20b docs(agc): add AMD data to the queue 0x20 label wait entry
Adds the PPSA01746 measurements on an RX 6400 to the existing entry: the awaited word already holds a slot address when the wait starts, and the RELEASE_MEM the driver saw was queued but not shown to land.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 09:25:54 +02:00
ntamas94 357005d009 Merge remote-tracking branch 'origin/main' into fix/ps4-jpegenc-encode-size 2026-10-23 09:24:31 +02:00
Dean 3d9c01daed Merge pull request #9337 from Th3EvilGod/codex/ngs2-userfx-module-id
fix(ngs2): correct UserFx ids and preserve Delay compatibility
2026-10-23 20:24:20 +13:00
Emanuele 4bee82086f fix(agc): destroy buffers and memory on MoltenVK only while the graphics queue is idle 2026-10-23 09:17:55 +02:00
zaryabzip 6653dffe62 feat(libkernel_sys): implement scePthreadCondattrGetclock
Read the clock of a libkernel condition attribute, returning
SCE_KERNEL_ERROR_EINVAL for a null or destroyed attribute as
scePthreadCondattrSetclock does, after FreeBSD 11.4 libthr's
_pthread_condattr_getclock. A null clock pointer throws.
2026-10-23 12:17:02 +05:00
ntamas94andClaude Opus 5.5 f5519f4fcd fix(libSceJpegEnc): return the JPEG size from sceJpegEncEncode
On a PS4 Pro with firmware 10.71 a successful sceJpegEncEncode returns the
size of the JPEG it wrote, the same value it stores in the output info,
and it does so when the output info pointer is null too. AnyPS5 returned
0, so a title that takes the size from the return value got an empty
image. The guest test now checks the returned size against the output
info.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 09:13:47 +02:00
Dean ef0d8ae3b5 Merge pull request #8739 from p3n1cillin/codex/opus-native-decoder-20261021
fix(opus): remove artificial decoder delay with bundled libopus
2026-10-23 20:07:51 +13:00
Dean 91d4fa9658 Merge pull request #9219 from YossiYad/feat/gnm-neo-default-state
feat(libSceGnmDriverForNeoMode): write the Neo default hardware and context state
2026-10-23 20:06:44 +13:00
Dean 7a39e62d9f Merge pull request #9350 from Ondra97/codex/feat-freetype-lists
feat(libSceFreeType): implement guest list operations
2026-10-23 20:06:23 +13:00
Dean c31f139db4 Merge pull request #8890 from UnhealthyKraken/feat/libkernel-pthread-timedjoin
feat(libkernel): implement pthread_timedjoin_np
2026-10-23 20:05:52 +13:00
Federico Marras de981a27f9 Merge remote-tracking branch 'upstream/main' into feat/kernel-sys-pthread-scope-atfork 2026-10-23 09:05:21 +02:00
JAB-devandClaude Sonnet 5.5 870bacd092 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into feat/agc-4-4-4-4-partial-writes
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 08:59:06 +02:00
Filip Michalski cf3218b702 docs(libSceFreeType): remove duplicate debt after rebase 2026-10-23 08:51:17 +02:00
Filip Michalski 70a666db7e test(libSceFreeType): keep kerning checks clear of face lifecycle tests 2026-10-23 08:50:59 +02:00
Filip Michalski f200fcf468 test(libSceFreeType): isolate kerning fixture changes 2026-10-23 08:50:59 +02:00
Filip Michalski 407489e295 feat(libSceFreeType): implement FT_Get_Kerning 2026-10-23 08:50:36 +02:00
Dean Galvin 1e869157d0 fix(libSceUserService): report keyboard type 20 (US English) by default
The initial user reported keyboard type 0, which the converter maps to IME type 0
and then rejects, so a title reading the layout still could not use it. Report 20
for sceUserServiceGetKeyboardType, which the owner's table maps to IME keyboard
type 4 (English, US); the Japanese and Traditional Chinese input variants stay 0.
Tests and both debt entries updated.
2026-10-23 19:39:38 +13:00
78983daa1c fix(libSceNet): wake a receive on an unbound datagram socket at shutdown on macOS
On macOS, shutdown(SHUT_RD) on a UDP socket that was never bound does not
wake a thread blocked in recv on it, so sceNetShutdown left the receiver
hanging. Use the receive wait that Windows already has: block on the
socket table until the socket gets a local port or is shut, then poll.
On macOS an unbound socket reports port 0 from getsockname, so the check
looks at the port instead of the Winsock error.

Ported from #8658.

Co-authored-by: Himansh Raj <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 03:39:27 -03:00
Claude 705f6e1580 feat(libkernel_sys): implement chown, lchown, fchownat and linkat
All four exports threw. The ownership calls follow fchown: owner and
group 0 and the unchanged value are accepted and any other value
throws. The path is looked up first with stat, lstat or fstatat, as
FreeBSD 11's kern_fchownat does, so a lookup error is returned before
the owner is checked. fchownat rejects flags other than
AT_SYMLINK_NOFOLLOW with EINVAL. linkat passes AT_FDCWD and absolute
paths to link and rejects flags other than AT_SYMLINK_FOLLOW with
EINVAL; a relative path with a directory descriptor and a symbolic
link source without AT_SYMLINK_FOLLOW throw. On Windows a symbolic
link source is detected with the file attributes, since libstdc++
there reports it as a regular file.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-23 06:34:32 +00:00
Dean Galvin 4c33e22394 Merge main into feat/libSceCesCs-sbc-mbcs-utf16-utf32 2026-10-23 19:33:14 +13:00
Dean 0a0ed72167 Merge pull request #8855 from hypermoist/fix/libc-utf8-multibyte
fix(libc): convert multibyte text as UTF-8 like the console's C locale
2026-10-23 19:30:12 +13:00
Dean 5fb1e23b0b Merge pull request #8959 from akkadbakkad89/feat/np-webapi-session-ingc
feat(libSceNpCppWebApi): cover SessionManager PlayerSessionsApi and InGameCatalog ContainerApi imports
2026-10-23 19:29:41 +13:00
JAB-dev 2cf37664d2 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/ngs2-play-without-setup
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>

# Conflicts:
#	core/libs/prx/libSceNgs2.native/include/Ngs2Types.hpp
2026-10-23 08:29:14 +02:00
Dean dd7a2c964d Merge pull request #6313 from mazen320/fix/savedata-convert-completion-event
fix(savedata): queue conversion completion events
2026-10-23 19:28:07 +13:00
SebastianandClaude Opus 5.5 bb403de88f feat(libkernel): add missing pthread attribute accessors
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01QnkpF2oEMofseVz9Z7WEAC
2026-10-23 06:27:49 +00:00
Dean 5255264b15 Merge pull request #9316 from MarrasFederico/feat/ngs2-system-create-arguments
fix(libSceNgs2.native): return the module's buffer and allocator errors from sceNgs2SystemCreate and sceNgs2SystemCreateWithAllocator
2026-10-23 19:27:46 +13:00
Dean bd4906d7cf Merge pull request #8111 from savvaniss/feat/camera-not-attached
feat(libSceCamera): report that no camera is attached
2026-10-23 19:27:20 +13:00
Dean c9edaff579 Merge pull request #9104 from Retr0G28/fix/sendfile-enotsock
fix(libkernel): return ENOTSOCK from sendfile on a descriptor that is not a socket
2026-10-23 19:25:35 +13:00
Dean b3d9852630 Merge pull request #9090 from santhoshkumar-dev/codex/freetype-face-properties
feat(libSceFreeType): expose font format and embedding flags
2026-10-23 19:25:13 +13:00
Dean 9af7d8d810 Merge pull request #8987 from simonbronk/feat/libkernel_sys-pthread-barrier
feat(libkernel_sys): implement the scePthreadBarrier, cpuclockid, concurrency and msync forms
2026-10-23 19:24:34 +13:00
Dean 41fca9b037 Merge pull request #8967 from simonbronk/feat/libSceCesCs-japanese-scalar
feat(libSceCesCs): implement Shift-JIS and EUC-JP scalar conversions
2026-10-23 19:23:56 +13:00
Dean 444c2e1a3c Merge pull request #8112 from savvaniss/feat/companion-httpd-no-device
feat(libSceCompanionHttpd): keep the server state with no companion device
2026-10-23 19:23:35 +13:00
hypermistandClaude Opus 5.5 1cee26eba7 Merge remote-tracking branch 'upstream/main' into fix/audioout2-mastering-state
Keep the shared Init/InitEx validation over the InitEx body from #9349.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01SNqSvnFwRBz3D76n476yw6
2026-10-23 19:12:29 +13:00
frankea 98c6aef289 Merge branch 'perf/structurizer-split-search' into perf/structurizer-construct-walk 2026-10-23 02:03:06 -04:00
frankea 00ed884987 Merge branch 'fix/structurizer-scc-iterative' into perf/structurizer-split-search 2026-10-23 02:03:06 -04:00
frankea ea2b648a05 Merge remote-tracking branch 'origin/main' into fix/one-sample-ancillary-unsampled 2026-10-23 02:02:41 -04:00
frankea 594f57aef7 Merge remote-tracking branch 'origin/main' into fix/one-sample-depth-comp-z 2026-10-23 02:02:41 -04:00
JAB-devandClaude Sonnet 5.5 9723f7af66 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/ngs2-play-without-setup
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 07:58:53 +02:00
MarcZX10 86f3f07012 merge upstream main into sched interval fix 2026-10-23 05:56:19 +00:00
JJenkxandClaude Opus 5.5 cdc21a9897 fix(tools): bound symbol lookups to their section, keep inclusive counts and refuse unrecorded modules
Review of #9572 found three gaps:

- PeModule.name() checked that an RVA was in some code section, then
  bisected one list of every symbol, so an address in a later code
  section before that section's first symbol took the last symbol of an
  earlier section. Each code section now keeps its own sorted list.
- Address files keep both counters ('module offset self inclusive'):
  the inclusive count is kept and subtracted by --since, and the summary
  lists functions by inclusive samples as well, summed over each
  function's addresses (an upper bound when a function is on one stack
  more than once). The total comes from the '# N samples' line or from
  the 'thread <id> samples <n>' headings of APS5_SAMPLE_THREADS, which
  the loader previously misread as a stack line; --thread keeps one
  thread.
- The address writers of both samplers wrote no '# module' records, so
  those files skipped the size and timestamp check. Both now write them
  (through the helper the collapsed-stack writer uses), and the tool
  leaves a module unsymbolized when the samples have no record for it,
  unless --unverified is given.

Five new cases cover a second code section, inclusive totals, --since
on an address file, thread headings with --thread, and the missing
record with and without --unverified.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 01:49:21 -04:00
JJenkxandClaude Opus 5.5 59693ae54c feat(tools): symbolize the Windows samplers' stacks
The Windows samplers (APS5_SAMPLE_WORKER, APS5_SAMPLE_COMMITTER and
APS5_SAMPLE_THREADS) write every frame as module+0xRVA, and BUILD.md left
naming them to the reader ("for example with nm on the .prx"). Doing that
by hand means finding each module's image base, choosing between COFF
symbols and the export table, and keeping the files cumulative totals in
mind.

tools/symbolize_samples.py reads a collapsed-stack file or the address
file, opens each module it finds in --libs as a PE32+ image, and names
every frame module!function:

- From the COFF symbol table that the MinGW-built .prx and .dll keep:
  external and static symbols in code sections, at the section's RVA
  plus the symbol value. Addresses outside a code section, or before the
  first symbol, stay module+0xRVA.
- From the export table, prefixed with "~", for a module without
  symbols, such as the runtime DLLs.
- A module whose SizeOfImage or TimeDateStamp differs from the sampler's
  "# module" line is left unsymbolized, with a warning: its addresses
  would name the wrong functions.

--since subtracts an earlier copy of the same file, which keeps only the
samples taken between the two copies (the files hold totals since
start-up). --out writes the named stacks for speedscope or flamegraph.pl.
--demangle uses c++filt when it is on PATH. It needs no binutils
otherwise.

test_symbolize_samples (registered with CTest) builds small PE32+ images
with COFF symbols and with an export table, and covers short, string-table
and static names, the ignored section and data symbols, addresses outside
code, the export fallback, the size and timestamp check, --since with
--out, the address-file format and rejected lines.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 01:49:21 -04:00
Celegans12 c77548f5f1 feat(agc): enable VK_NV_device_diagnostics_config behind APS5_NV_DIAGNOSTICS
A device loss on NVIDIA reports only VK_ERROR_DEVICE_LOST, and
VK_EXT_device_fault often gives no address. Nsight Aftermath can write a
crash dump that names the faulting shader and the kind of fault, but
only when the device was created with VK_NV_device_diagnostics_config.
APS5_NV_DIAGNOSTICS (presence) now creates the device with that
extension (shader debug info, resource tracking, automatic checkpoints,
shader error reporting) and with VK_NV_device_diagnostic_checkpoints
when the device supports them. Unset, or on a device without the
extension, the device is created as before; the latter prints a notice.
ChooseDeviceDiagnostics holds the choice so the test can check it.

AI-assisted: yes
2026-10-23 07:44:58 +02:00
Ondra97 b13deef0db feat(libSceFreeType): implement FT_Get_Gasp 2026-10-23 07:44:17 +02:00
xdCloudy 5dbfbc9382 feat(libSceIpmi): declare 49 PS5 pending exports 2026-10-23 06:43:01 +01:00
Adrià 0ed14c1067 Merge pull request #10031 from xXPBSXx/docs/debt-keyboard-getkey2char-title
docs(debt): note what a title call of sceKeyboardGetKey2Char shows about the output buffer
2026-10-23 07:33:53 +02:00
ntamas94 5f5c956ae8 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/agc-copied-writer-label-drain
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Graphics/src/Recorder.cpp
2026-10-23 07:27:00 +02:00
Dean 16319642a4 Merge pull request #6946 from Raghav314/perf/agc-draw-pipeline
perf(agc): draw finisher pipeline (APS5_DRAW_PIPELINE)
2026-10-23 18:24:48 +13:00
Yunus Shaikh a376e37b88 fix(relinker): decode each red-zone leaf over its whole FDE range 2026-10-23 05:22:26 +00:00
Federico Marras 25b6f6e50b Merge branch 'feat/ngs2-calc-atrac9-block' into feat/ngs2-atrac9-module-loops 2026-10-23 07:22:20 +02:00