Commit Graph
7963 Commits
Author SHA1 Message Date
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
Federico Marras 767e188339 test(libSceNgs2.native): expect the module's ATRAC9 block in the frame info test 2026-10-23 07:21:17 +02:00
Retr0 0ca2e0b4e7 fix(libkernel): return ENOTCONN from getpeername once a socketpair peer closed
getpeername on a socketpair end returned the unnamed AF_UNIX address
even after the other end was closed. In FreeBSD 11, closing an end runs
uipc_detach, whose unp_disconnect and unp_drop clear SS_ISCONNECTED on
both stream and datagram ends, and kern_getpeername then fails with
ENOTCONN. Each end now keeps a weak reference to its peer's socket,
which expires when the peer's last descriptor, duplicates included, is
closed. shutdown leaves the ends connected, as soshutdown does.
2026-10-23 08:21:09 +03:00
Retr0 0f3d4bc9ee fix(libc): fail with ENOTDIR for a file named with a trailing slash on Windows
FreeBSD 11.4's lookup() (sys/kern/vfs_lookup.c) fails with ENOTDIR when
a path with a trailing slash ends at something that is not a directory.
On Windows a mount alias dropped the slash, and the host calls do not
report ENOTDIR for "file\", so unlink, rename and open acted on the file
or failed with EINVAL. Guest path resolution now rejects an existing
non-directory named with a trailing slash with ENOTDIR on every host, and
a mount alias keeps the slash on Windows as it does on Linux and macOS.
2026-10-23 08:21:01 +03:00
Federico Marras 601d6dbe38 Merge remote-tracking branch 'upstream/main' into feat/ngs2-calc-atrac9-block 2026-10-23 07:19:59 +02:00
Dean Galvin f648ad61e2 fix(libSceConvertKeycode): map the user's keyboard type to the IME keyboard type 2026-10-23 18:19:52 +13:00
Josip Parlov 606fa2ef91 fix(relinker): take red-zone framing's function bounds from .eh_frame FDEs
Function starts were direct call targets plus 16-byte-aligned code after
int3 padding. A function reached only through a pointer and not preceded
by int3 then ended up inside the previous region, and its pop rbp; ret
exit could get the epilogue lea without a matching prologue.

The bounds now come from the executable's .eh_frame FDEs (the existing
EhFrameReader), each function is decoded from its FDE start to its FDE
end, and code outside every FDE is not framed. Conversion stops with an
error when the executable has no FDE. Sites added in one pass also count
as taken for the next function.
2026-10-23 05:19:10 +00:00
Federico Marras 0477c9c3f2 Merge remote-tracking branch 'upstream/main' into feat/ngs2-atrac9-module-loops 2026-10-23 07:18:26 +02:00
Federico Marras 6660dd080d fix(libSceNgs2.native): throw for ATRAC9 loops inside the decoder delay and blocks past the data chunk 2026-10-23 07:18:26 +02:00
Federico Marras f77f61ec7a Merge remote-tracking branch 'upstream/main' into tmp-9141 2026-10-23 07:12:32 +02:00
Federico Marras f73a4e8133 feat(libkernel_sys): implement the scePthread scope, atfork and setconcurrency forms 2026-10-23 07:12:32 +02:00
Federico Marras cf06f64c29 Merge remote-tracking branch 'upstream/main' into feat/audio-out-mastering
# Conflicts:
#	docs/dev/debt/libSceAudioOut.md
2026-10-23 07:11:02 +02:00
klosixgaming-arch 191dddae77 feat(agc): apply the color logic operation of CB_COLOR_CONTROL
The driver refused every ROP3 code but copy, so a draw that asks for a
logic operation stopped the process. The code is decoded into the draw
state, keyed in the pipeline cache and the pipeline journal, and applied
through the Vulkan logic operation of the color blend state.

The field accepts the 28 codes of the source and destination form and of
the brush and destination form, where the brush is the shader color; both
keep their function in bits 0, 1, 6 and 7. A code that combines source and
brush, blending together with a logic operation, a device without the
logicOp feature, and a color target that is not a normalized or integer
format throw.

The pipeline journal format moves to 7.

AI-assisted: yes. Written with AI assistance and reviewed by me.
2026-10-23 00:03:03 -05:00
Yunus Shaikh 542cb30f70 docs(relinker): describe the operand stubs and refused patches of --frame-red-zone
The debt entry no longer says that a leaf with an rsp operand that
cannot move in place is skipped. A new entry says that such an operand
moves to a stub, when the leaf is still skipped, and that a game patch
over a framed site or a moved displacement is refused. The USAGE row
says the same in short.
2026-10-23 04:50:13 +00:00
Arnab Ghosh 1f1ddc9e3a feat(libSceNgs2): implement sceNgs2VoiceGetMatrixInfo and sceNgs2CustomRackGetModuleInfo 2026-10-23 10:50:00 +06:00
Emanuele 75fdf64721 fix(shader): route a loop's back edge through an empty continue block when its latch holds instructions 2026-10-23 06:46:55 +02:00
thuanquangandClaude 0a3ea213e1 fix(shader): read a 2D MSAA T# through DIM 2D as its sample 0
A DIM 2D image_load or image_sample of a 2D MSAA T# returns sample 0 on
RDNA2 (RX 6700 XT, measured through HIP; bilinear blends sample-0 texels).
The recompiler now reads such a direct sampled access as a 2D image, and
the driver binds a one-sample copy of the target's sample 0, refreshed by
a fragment pass before each binding. Peace Walker (PPSA18216) stops on
this read at the end of its opening movie.

Co-Authored-By: Claude <[email protected]>
2026-10-23 11:38:12 +07:00
xXPBSXxandClaude Sonnet 5.5 f73c71563a docs(debt): note what a title call of sceKeyboardGetKey2Char shows about the output buffer
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 06:37:00 +02:00
Felipe Arce 6f401fe667 feat: run the common-dialog state machine in the Facebook and game custom data dialogs 2026-10-23 01:18:59 -03:00
Arnab Ghosh 5dfa258d9f feat(libSceNet): implement sceNetIoctl 2026-10-23 10:07:18 +06:00
Adrià 9d6adeb550 Merge pull request #10011 from xXPBSXx/docs/debt-appcontent-space-call-site
docs(debt): add call-site evidence for sceAppContentDownloadDataGetAvailableSpaceKb
2026-10-23 06:03:19 +02:00
Adrià 2259f05307 Merge pull request #10009 from xXPBSXx/docs/debt-npauth-v3-call-sites
docs(debt): add call-site evidence for the libSceNpAuth V3 parameter layouts
2026-10-23 06:02:17 +02:00
Yunus Shaikh 96c21c0d09 Merge main into feat/libkernel-sys-libthr-names
# Conflicts:
#	core/libs/CMakeLists.txt
2026-10-22 20:56:19 -07:00
Yunus Shaikh 6b75fb99f6 Merge main into fix/libkernel-udp-unreachable-port
# Conflicts:
#	docs/dev/debt/libkernel.md
2026-10-22 20:53:20 -07:00