Commit Graph
20967 Commits
Author SHA1 Message Date
Scramblrrrr 9898600145 fix(agc): include draw finisher work in CPU traces 2026-10-23 03:46:57 +05:30
Yunus Shaikh 3ded7d3269 fix(recompiler): hold the result-key memo in AtomicSharedPtr so libc++ builds
ResultKeyMemo declared std::atomic<std::shared_ptr<...>>. libc++ has no
atomic<shared_ptr> specialization, so with Apple clang the recompiler
headers stop at std::atomic's trivially-copyable static assertion
(request_serializer_tests in the macOS relinker build). The memo now uses
AtomicSharedPtr from libc, which is that specialization where the library
provides it and a locked shared_ptr with the same load and store otherwise.
The header joins the shader disk cache key's sources, and
request_serializer_tests gets core/libs on its include path.
2026-10-23 03:46:57 +05:30
raghav314andClaude Opus 5.5 a220da9f57 fix(agc): drain the draw finisher before the committer stops at exit
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 03:46:57 +05:30
Yunus Shaikh 1aacde9a68 fix(agc): keep the draw pipeline's thread-local scratch in HostThreadLocal
On Windows a thread_local destructor in a module runs after emulated TLS
has freed the object, and prx_thread_local_destructors refuses
libSceAgcDriver.prx for it. The draw pipeline of upstream PR 6946
(Raghav314, f8192a64b3) added such scratch objects:
DrawFinisher::Enqueue's and DrawPipeline::Enqueue's reclaim lists,
CachedFragmentOutputs' last key and outputs, DecodeVertexStageInfo's
attribute and buffer tables, and PrepareDrawBindings' pool size counts.
They now live in HostThreadLocal, as the driver's other per-thread
scratch does; on other hosts that is the same thread_local.
2026-10-23 03:46:57 +05:30
raghav314andClaude Opus 5.5 c0dbd1871c perf(agc): draw finisher pipeline (APS5_DRAW_PIPELINE)
The second half of a pipelined draw (stage materialization, cache insert,
enqueue) runs on a finisher thread, overlapping the next draw's packet
work; draws whose stages could write memory are held back. Commits skip
work whose inputs did not change since the last commit, color metadata
passes are ordered through the pipeline, resource and storage-image proofs
are reused within one collect epoch until a write breaks them, and a shape
entry is refreshed in place at the second sight of the same read user words.
APS5_VERIFY_DRAW_PIPELINE checks reused proofs against a full check.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 03:46:57 +05:30
Dean Galvin f84fdc493a Merge main into fix/pr-overlap-from-subdirectory 2026-10-23 11:16:41 +13:00
Dean c27fe1e966 Merge pull request #9810 from emirplus/fix/pr-overlap-main-guard
fix(tools): wrap entrypoint in main with stream reconfigure in pr_overlap
2026-10-23 11:15:21 +13:00
JJenkxandClaude Opus 5.5 3aed8761ac test(libkernel): skip the read-only shm unlink case when running as root
Root passes the faccessat check in shm_unlink, so the EACCES expectation
fails under root as the read-only cases of GuestTruncate would. Skip it
there with the same message GuestTruncate prints.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 18:13:09 -04:00
Queuze ab8fcf3ec0 chore: sync contribution with main 2026-10-22 19:12:26 -03:00
Queuze fea0994737 chore: sync socket option contribution with main 2026-10-22 19:10:47 -03:00
Queuze c079a98a41 chore: sync socket option contribution with main 2026-10-22 19:10:46 -03:00
Dean 8964c12d5c Merge pull request #9218 from slopggobblercobbler81/feat/libkernel-setresuid-setresgid
feat(libkernel): implement setresuid and setresgid
2026-10-23 11:10:12 +13:00
p3nicillinandClaude Opus 5.5 a6e9733c17 fix(opus): hide libopus symbols and package its notice as a license
Build the bundled libopus with hidden visibility and an empty OPUS_EXPORT,
so its symbols stay internal without relying on --exclude-libs (which
Apple's linker lacks). Turn off OPUS_STACK_PROTECTOR and
OPUS_FORTIFY_SOURCE so MinGW builds do not import libssp-0.dll, as in
27c0acabe2 from #9764. Ship the notice through the licenses list as
libs/licenses/opus.txt, like vgmstream.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 23:09:24 +01:00
p3nicillin 721a2e4b73 fix(opus): decode at the requested rate with bundled libopus 2026-10-22 23:09:24 +01:00
Dean a78ebba1af Merge pull request #9080 from YossiYad/feat/imedialog-internal-queries
feat(libSceImeDialog): implement the star state, internal init and panel position calls
2026-10-23 11:09:22 +13:00
Queuze 435a41bb82 chore: sync contribution with main 2026-10-22 19:09:12 -03:00
Dean d2b1c3edd5 Merge pull request #9079 from JJenkx/feat/pad-input-chords
feat(tools): press several buttons together from pad_input.py
2026-10-23 11:09:00 +13:00
Queuze ff4412c7e6 chore: sync contribution with main 2026-10-22 19:07:22 -03:00
Dean 944ff6c97e Merge pull request #9249 from Pacuka/fix/shader-3d-store-2d-array-tsharp
fix(shader): accept 3D image stores on 2D-array T#s
2026-10-23 11:06:04 +13:00
Queuze a559f1e0be chore: sync contribution with main 2026-10-22 19:02:56 -03:00
Dean 287d539503 Merge pull request #9336 from ycbuzi/fix/libkernel-sys-link-follow-windows
fix(libkernel_sys): follow a symbolic link in link on Windows
2026-10-23 11:02:54 +13:00
Dean ccf7f10407 Merge pull request #9114 from voidlakhan/feat/appcontent-temporary-data-mount
feat(libSceAppContent): implement temporary data mount
2026-10-23 11:02:29 +13:00
Dean 4a74325fb8 Merge pull request #9031 from hypermoist/feat/gamelivestreaming-program-info
feat(libSceGameLiveStreaming): answer sceGameLiveStreamingGetProgramInfo with an empty program
2026-10-23 11:02:05 +13:00
fma-rc 928588bbb8 fix(tools): compare libraries before looking for a duplicate export's body 2026-10-23 00:01:52 +02:00
JAB-devandClaude Sonnet 5.5 2eedb856d9 fix(libSceNgs2): return INVALID_NUM_CHANNELS for PLAY on a sampler voice that was never set up
A sampler voice with no setup used to enter the playing state and never finish, so a title that frees its sound slots by polling sceNgs2VoiceGetStateFlags ran out of slots. The PS4 firmware 11.00 library fails the event and keeps the voice idle.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 00:00:31 +02:00
Queuze 51e5c15f90 chore: sync siginterrupt tests with main 2026-10-22 18:58:18 -03:00
Kraken beb7b21f3d feat(freetype): integrate outline queries after Ot declarations 2026-10-22 22:57:11 +01:00
Dean 5366b8b911 Merge pull request #8914 from hypermoist/feat/audioin-open-ex
feat(libSceAudioIn): open ports through the Ex calls and accept the two setters
2026-10-23 10:57:08 +13:00
Dean 1fd6f9bb58 Merge pull request #9544 from Queuse/codex/net-buffer-validation
fix(libSceNet): reject nonpositive socket buffers
2026-10-23 10:54:58 +13:00
Dean 5ea79486ec Merge pull request #9809 from emirplus/fix/performance-compare-stream-reconfigure
fix(tools): reconfigure streams with backslashreplace in performance_compare
2026-10-23 10:54:46 +13:00
Dean 0c6c83c4cf Merge pull request #9808 from emirplus/fix/stubgen-stream-reconfigure
fix(tools): reconfigure streams with backslashreplace in stubgen
2026-10-23 10:54:35 +13:00
Dean d04ffd2d2b Merge pull request #9341 from emirplus/fix/package-release-error-handling
fix(tools): handle errors cleanly and reconfigure streams in package_release
2026-10-23 10:54:23 +13:00
Dean 634940a8ec Merge pull request #9334 from emirplus/fix/check-compile-utf8-bom
fix(tools): decode compile commands JSON with utf-8-sig in check_compile
2026-10-23 10:54:11 +13:00
Dean ba4419cb47 Merge pull request #9358 from emirplus/fix/test-web-error-handling
fix(tools): handle errors cleanly and decode archive with utf-8-sig in test_web
2026-10-23 10:53:59 +13:00
Dean 88fb75b96e Merge pull request #9343 from emirplus/fix/pr-labels-main-guard
fix(tools): wrap entrypoint in main with stream reconfigure in pr_labels
2026-10-23 10:53:46 +13:00
Dean 204e0f9ac4 Merge pull request #9330 from emirplus/fix/check-test-registration-utf8-bom
fix(ci): decode CMakeCache with utf-8-sig and wrap entrypoint in check_test_registration
2026-10-23 10:53:33 +13:00
Kraken 982350964c docs(freetype): keep provider debt in its module file 2026-10-22 22:50:43 +01:00
Kraken a3c6c8206e docs(freetype): avoid adjacent debt entry conflicts 2026-10-22 22:47:12 +01:00
Dean eb8dcfebaa Merge pull request #9837 from JAB-dev/fix/ngs2-pan-init-validation
fix(libSceNgs2): return the SDK pan error codes from sceNgs2PanInit
2026-10-23 10:43:59 +13:00
Dean c9999808e7 Merge pull request #9328 from emirplus/fix/unwrap-self-main-guard
fix(tools): wrap entrypoint in main with stream reconfigure in unwrap_self
2026-10-23 10:43:41 +13:00
Kraken 2a7cd60c89 feat(freetype): implement system outline border queries 2026-10-22 22:43:33 +01:00
Dean d6d1f3cc66 Merge pull request #9306 from emirplus/fix/check-main-sync-main-guard
fix(tools): wrap entrypoint in main with stream reconfigure in check_main_sync
2026-10-23 10:43:24 +13:00
Dean a613093740 Merge pull request #9310 from emirplus/fix/build-web-cli-error-handling
fix(tools): handle errors cleanly and reconfigure streams in build_web
2026-10-23 10:43:03 +13:00
Dean 4e5e4675ef Merge pull request #9307 from emirplus/fix/check-skips-main-entrypoint
fix(ci): wrap entrypoint in main with stream reconfigure in check_skips
2026-10-23 10:42:37 +13:00
Dean d3efe3af99 Merge pull request #8115 from milescoviello/feat/msaa-depth-one-sample-color
feat(agc): draw one-sample color targets beside a multisampled depth target with sample 0's coverage
2026-10-23 10:38:32 +13:00
teepeanandClaude Opus 5.5 5da86019ac perf(agc): find a host import among the last ones found first
HostImportFor walks the import map under the import mutex for every
in-place vertex input, index buffer and label it serves, most of them
for the same few buffers. It now first checks the last four imports a
lookup found, while the map is the one they came from: the imports epoch
moves with every retire and trim and the map's size with every insert.
Imports in the map never overlap, so the one that contains the range is
the map's answer. A hit counts its use as a map lookup does, so imports
age out of their eviction protection after as many lookups as before.
APS5_NO_RECENT_IMPORTS looks every import up in the map.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 00:31:02 +03:00
03d5065995 fix(libc): rename over a dangling symbolic link on macOS
RenamePath compares source and destination with fs::equivalent and
treats ENOENT from it as "not the same file". libc++ reports
errc::not_supported instead when either path does not resolve, so on
macOS renaming a file over a dangling symbolic link failed with EIO
(guest_filesystem). A path that does not resolve cannot be the same file
as the other, so not_supported is cleared the same way on macOS. The same
guard is part of #7201 and #8658.

Co-Authored-By: marion909 <[email protected]>
Co-Authored-By: iamthehimansh <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 17:20:48 -04:00
Th3EvilGod b553950efd fix(ngs2): correct UserFx ids and preserve the Delay compatibility path 2026-10-23 01:17:40 +04:00
xdCloudy fcec4981a5 docs: distinguish known exports from unverified ABI 2026-10-22 22:15:40 +01:00
xdCloudy 718e1755ac docs: distinguish known exports from unverified ABI 2026-10-22 22:15:21 +01:00