Commit Graph
13971 Commits
Author SHA1 Message Date
Yunus Shaikh c06bd7c7e1 Merge main into fix/agc-draw-aliases-by-key 2026-10-21 23:02:42 -07:00
Dean b27924d851 Merge pull request #9085 from YossiYad/feat/npmanager-check-callback-for-lib
feat(libSceNpManager): implement sceNpCheckCallbackForLib
2026-10-22 18:53:46 +13:00
Dean a7a924722e Merge pull request #9009 from YossiYad/feat/nptus-offline-requests
feat(libSceNpTus): check the arguments of 82 TUS and TSS requests and fail them signed out
2026-10-22 18:53:41 +13:00
Dean d430e40b50 Merge pull request #8122 from YossiYad/fix/videodec2-empty-access-unit
fix(libSceVideodec2): return access unit errors for a null or empty access unit
2026-10-22 18:53:34 +13:00
Dean 4a17c71757 Merge pull request #8310 from dantdmdarealguy/fix/agc-array-window-texel-alignment
test(agc): align the array window test's texels at run time
2026-10-22 18:30:27 +13:00
Dean da54c652e3 Merge pull request #9433 from Get-fix/ps4/limbo-libs
feat: PS4 NpTrophy, save data v1, NpWebApi offline and Limbo's other imports
2026-10-22 18:00:00 +13:00
Dean 2369fdd77a Merge pull request #8539 from billythemenace2/fix/kernel-raise-host-code-limit
fix(libkernel): retry a failed thread context read during a raise
2026-10-22 17:59:55 +13:00
Dean 6d8f13207a Merge pull request #9608 from DavidSamir/test/videoout-flip-windows-driver
test(libSceVideoOut): run the VideoOut flip tests with SDL's windows driver on Windows
2026-10-22 17:59:50 +13:00
Dean 524398151f Merge pull request #8807 from ycbuzi/fix/agc-driver-frame-dump-wait
fix(agc-driver): make the presenter wait for a full frame dump queue
2026-10-22 17:50:26 +13:00
Dean 17f5335562 Merge pull request #9607 from DavidSamir/test/videoout-prevblank-race
test(libSceVideoOut): find the pre-vblank event among every queued event
2026-10-22 17:39:42 +13:00
Dean 110a18ba01 Merge pull request #9429 from Get-fix/ps4/relinker-own-tls
fix(relinker): read guest TLS relocations against the module's own section symbol
2026-10-22 17:32:05 +13:00
Dean ab347d144d Merge pull request #8534 from ycbuzi/pr/windows-reparse-non-link
fix(libkernel): answer Windows reparse points that are not links
2026-10-22 17:22:28 +13:00
Dean 746bdd8041 Merge pull request #8550 from Retr0G28/fix/fopen-directory-read-windows
fix(libc): open a directory with fopen in a read mode on Windows
2026-10-22 17:22:22 +13:00
Dean 942dec44b4 Merge pull request #8598 from Ondra97/codex/fix-net-epoll-lifetime
fix(libSceNet): retire invalidated epoll registrations
2026-10-22 17:22:18 +13:00
Dean c61d20f548 Merge pull request #8087 from harry-z-kang/codex/windows-seh-runtime
feat(windows): support MSYS2 GCC runtime builds
2026-10-22 17:13:47 +13:00
David f4f60cf277 test(libSceVideoOut): run the VideoOut flip tests with SDL's windows driver on Windows
ANYPS5_VIDEO_OUT_TEST_DRIVER defaulted to SDL's offscreen driver on every
host. That driver has no Vulkan on Windows, so all thirteen flip tests that
open a display skipped there. Windows now defaults to the windows driver.
A machine without a Vulkan driver makes DisplayWindow report that Vulkan
lacks VK_KHR_surface, so the flip tests also skip on a DisplayWindow error
that names Vulkan, as they do on offscreen's message.
2026-10-22 05:05:28 +01:00
David 0225ae65a7 test(libSceVideoOut): find the pre-vblank event among every queued event
The controls check read exactly two events after subscribing to pre-vblank
and waiting for one vblank, and expected one of them to be PRE_VBLANK_START.
The VideoOut filter queues every vblank of the earlier VBLANK registration,
and the queue returns one registration's events before the next, so when a
second vblank lands between the earlier read and the wait (a real display's
cadence), both events read are VBLANK and the pre-vblank event is the third.
The check now reads up to eight events and requires a VBLANK for the vblank
registration and a PRE_VBLANK_START with its own user data among them.
2026-10-22 05:03:59 +01:00
Dean dce41a8947 Merge pull request #4442 from fma-rc/docs/issue-forms
docs: add a bug report form and issue chooser links
2026-10-22 17:03:27 +13:00
Dean 3e37e08e6a Merge pull request #8135 from mrfelek/docs/game-testing-budgets
docs(dev): name the memory budgets and the sleeping-display stop in the game testing guide
2026-10-22 17:03:22 +13:00
Dean d9c99c9ba4 Merge pull request #8204 from realshinmalphur/feat/net-ether-address-parser
feat(net): parse Ethernet address strings
2026-10-22 16:47:13 +13:00
Kang, Harry Zixuan 89548eb4af fix(tests): retry locked Windows TLS fixture cleanup 2026-10-21 20:45:15 -07:00
Kang, Harry Zixuan 4e9854ea2b test(relinker): report SHA-1 preservation failures precisely 2026-10-21 20:29:55 -07:00
Kang, Harry Zixuan 726edc503b feat(windows): support MSYS2 GCC runtime builds 2026-10-21 20:29:55 -07:00
ShinMalphur 24b7977241 Merge branch 'main' into feat/net-ether-address-parser 2026-10-22 09:44:29 +06:30
Dean 6ef5a1c4c9 Merge pull request #8974 from rooklz/fix/call-trace-fixed-base
fix(libc): count call trace offsets from the first page of a non-PIE executable
2026-10-22 15:24:57 +13:00
Dean 44661db263 Merge pull request #8973 from rooklz/fix/linux-console-base
fix(relinker): load Linux executables at 0x400000 by default
2026-10-22 15:24:38 +13:00
blu 9897260c6e Merge branch 'boykopovar:main' into pr/windows-reparse-non-link 2026-10-21 19:08:16 -07:00
blu 445a549d88 Merge branch 'boykopovar:main' into fix/agc-driver-frame-dump-wait 2026-10-21 19:04:09 -07:00
Dean 8c26eac3cd Merge pull request #9459 from hugodearaujo/fix/netctl-starts-initialized
fix(netctl): start the library initialized, as titles find it
2026-10-22 14:52:02 +13:00
Dean df2569d2c5 Merge pull request #8008 from emirplus/fix-test-shader-cache-discovery
fix(tests): guard main and provide defaults in shader cache sources test
2026-10-22 14:42:48 +13:00
Dean 94fbb8cea8 Merge pull request #8025 from emirplus/fix-pr-overlap-markdown-links
fix(tools): recognize markdown links and pull request URLs in pr_overlap dependencies
2026-10-22 14:24:04 +13:00
Yunus Shaikh 2b862fbb7e fix(agc): keep a draw relocation's donor cached while relocated draws reuse it
A draw that hits through a relocation alias reuses its donor's stages
under a key the cache doesn't hold. It isn't inserted, since
cacheDrawStages skips hits, and lookupDraw moves an entry up the LRU
only when the entry it hit is the one cached under the draw's own key.
So a donor that serves a relocated draw every frame ages to the back of
the LRU like an unused entry, and the cache evicts it once other draws
insert. Since aliases name a key instead of holding the entry, that
eviction also ends the alias, and the next relocated draw misses,
compiles and is admitted again, only to age out the same way.

A relocated hit now moves its donor to the front of the LRU, with the
same rate limit as a direct hit (once per an eighth of the cache's
entries in hits).

agc_driver_draw_cache_relocation_kept (--kept, with
APS5_DRAW_CACHE_ENTRIES=2) teaches a relocation alias, then runs three
rounds: two draws of another vertex shader that insert an entry, then a
moved draw with the taught contents. Every moved draw has to hit.
Without the refresh, the second round's insert evicts the donor and its
moved draw misses.
2026-10-21 16:29:21 -07:00
hugodearaujo 25b7991c6a fix(netctl): start the library initialized, as titles find it
Titles register and check NetCtl callbacks without importing
sceNetCtlInit: libSceNetCtl is an internal sysmodule the system has
started before the title runs. 007 First Light traps at start-up when
sceNetCtlRegisterCallback answers NOT_INITIALIZED.
2026-10-21 18:56:52 -03:00
Get-fix f04d16d702 feat: PS4 NpTrophy, save data v1, NpWebApi offline and Limbo's other imports
NpTrophy reads the trophy count and icons from the title's trophy
package (names are encrypted and stay not implemented), PS4 v1 save data
calls wrap the native v2/v3 ones, and NpWebApi library contexts, handles
and push event filters work offline (service filters fail without a
signed-in user). libSceAjm is built from the libSceAjm.native sources
for PS4 titles. Limbo's (CUSA01664) remaining PS4 imports, including the
synchronous PS4 TUS calls and the Facebook dialog calls next to the
existing libraries, are exported as not implemented.
2026-10-22 00:35:09 +03:00
boykopovar a6dcea9279 Merge pull request #9137 from boykopovar/fix/funcs-abi-debt-2026-10-20
fix(libs): libs funcs abi debt 2026 10 20
Corrected signatures or behaviour of 1,702 existing exported functions across 96 libraries. Added 85 typed export wrappers. Unimplemented functions retain NotImplemented_nid_no_patch(__func__).
2026-10-22 00:32:11 +03:00
Adrià 0c6a5bd593 Merge pull request #8519 from MarrasFederico/fix/agc-zero-stride-oob-select
fix(agc): follow RDNA 2's range checks for zero-stride vertex fetches
2026-10-21 21:54:30 +02:00
Adrià 415fd7136b Merge pull request #8991 from Tamalero/fix/shader-image-table-split-tsharp-halves
fix(recompiler): match image-table T# halves offset before and after readfirstlane
2026-10-21 21:53:27 +02:00
Adrià 6f9de57386 Merge pull request #9147 from xXPBSXx/fix/ult-rwlock-destroy-owner
fix(libSceUlt): keep the reader-writer lock state alive until sceUltReaderWriterLockDestroy has unlocked it
2026-10-21 21:48:11 +02:00
Adrià 7202f120d5 Merge pull request #8922 from MarcZX10/codex/8917-small-receive-window
test(net): bound Linux blocking-send receiver buffer
2026-10-21 21:38:39 +02:00
Dean 3594eee9f3 Merge pull request #6604 from notaxeltv/fix/recompiler-default-past-num-interp
fix(recompiler): fill missing pixel interpolators as DEFAULT
2026-10-22 08:31:15 +13:00
Dean 584c5a80fd Merge pull request #6718 from Zenodeon/stk-resource-performance-pr
perf(agc): avoid redundant texture-array CPU transfers
2026-10-22 08:30:01 +13:00
Adrià f0de89a506 Merge pull request #9026 from milescoviello/perf/depth-plane-unit-stores
perf(agc): store only the depth plane units a read overlaps
2026-10-21 21:29:26 +02:00
Adrià a849f2516e Merge pull request #9029 from xXPBSXx/test/call-trace-abort-race-lifetime
test(libc): keep the abort-race flag of the call trace test alive until the process aborts
2026-10-21 21:28:20 +02:00
Adrià 2457319ab9 Merge pull request #8918 from xXPBSXx/test/net-blocking-send-exhaustion-bound
test(libSceNet): allow more timed sends before the blocking-send test expects EAGAIN
2026-10-21 21:23:13 +02:00
Adrià 765d3d1b97 Merge pull request #8867 from MarcZX10/codex/kernel-variant-host-fallback
fix(relinker): resolve kernel variant imports via canonical kernel
2026-10-21 21:22:06 +02:00
Adrià 1896871ba7 Merge pull request #8892 from harisibrar1/ci/conventions-current-base
ci(conventions): check pull requests with the current base branch rules
2026-10-21 21:12:55 +02:00
Adrià 3f23f2ae65 Merge pull request #8689 from MarcZX10/codex/reject-large-non-elf-early
fix(relinker): reject large non-ELF inputs before allocation
2026-10-21 21:12:48 +02:00
Adrià 1698d1ea6a Merge pull request #8642 from MarcZX10/codex/color-compare-format-support-7934
fix(agc): match measured color comparison formats
2026-10-21 21:02:30 +02:00
Adrià fe93440dfd Merge pull request #8502 from xXPBSXx/fix/pthread-barrier-count-limit
fix(libkernel): reject a pthread barrier count above INT_MAX like libthr
2026-10-21 21:02:25 +02:00
Yunus Shaikh 1d2fdfb261 test(agc): an evicted draw entry serves no relocation through its alias
Add EvictedEntriesServeNoRelocation, run by a new ctest
agc_driver_draw_cache_relocation_evicted (--evicted) with
APS5_DRAW_CACHE_ENTRIES=2. It teaches a relocation alias as
MovedDataHitsTheCache does, checks that one moved draw hits, evicts both
taught entries with draws of another vertex shader, and requires that
the next moved draw with the same contents does not hit. Before the
alias named a key, the alias kept the evicted entry and served it.
2026-10-21 18:59:16 +00:00