Commit Graph
20967 Commits
Author SHA1 Message Date
Adrià 3102f39af0 Merge pull request #8235 from jagrat04/feat/libSceNet-show-route-with-memory
feat(libSceNet): implement sceNetShowRouteWithMemory
2026-10-24 17:17:45 +02:00
Dean e60371da9c Merge pull request #9123 from Retr0G28/fix/sigaction-ignore-discards-pending
fix(libkernel): discard a pending signal when sigaction or signal ignores it
2026-10-25 04:17:21 +13:00
Dean 23d89bf767 Merge pull request #10236 from orezraey/fix/libc-heap-error-report-measured-ps5
fix(libc): print sceLibcInternalHeapErrorReportForGame's report as a PS5 does
2026-10-25 04:16:56 +13:00
Dean fee6a14709 Merge pull request #9221 from YossiYad/feat/gnm-neo-embedded-shaders
feat(libSceGnmDriverForNeoMode): set the embedded fullscreen VS and PS shaders
2026-10-25 04:16:30 +13:00
roboterspinne 7f58c7a407 fix(relinker): reject R_X86_64_COPY relocations
The Linux output writes every import symbol with st_size 0 and copies
a COPY relocation into the output unchanged, so ld.so copies
MIN(st_size of the definition, 0) = 0 bytes and the variable stays
zero. Windows and macOS already rejected the type in the relocation
builder. ValidationPolicy now rejects type 5 before any target code,
so every target reports the same error, and the COPY case of the
fixed-base rebasing, which validation makes unreachable, is gone.
2026-10-24 17:16:23 +02:00
Dean Galvin 75e78c3cad Merge main into windows/libc-powf-msun 2026-10-25 04:13:50 +13:00
Dean Galvin cba2f88fc0 Merge main into feat/libc-feholdexcept 2026-10-25 04:13:50 +13:00
Adrià cb807e0cfe Merge pull request #9574 from Ondra97/codex/feat-freetype-trigonometry
feat(libSceFreeType): expose LP64 trigonometry
2026-10-24 17:12:37 +02:00
aarushkha 8d67d8d070 docs(libkernel): note that lseek does not reactivate a regular-file read knote on FreeBSD 2026-10-24 20:37:58 +05:30
Adrià Franch af673ae694 docs(agc): record the one-fragment color target's unmeasured console behaviour and refused cases 2026-10-24 16:59:57 +02:00
Adrià 3ca5b17655 Merge pull request #9443 from janzezno/fix/array-target-depth-plane-flush
fix(agc): flush depth planes only over the layers an array target's lookup refreshes
2026-10-24 16:59:49 +02:00
Adrià f863d6af28 Merge pull request #7814 from ionut27001/fix/videoout-output-status-resolution
fix(libSceVideoOut): report the output resolution from the host display as measured on a PS5
2026-10-24 16:58:48 +02:00
Adrià 78d907bfcc Merge pull request #8232 from jagrat04/feat/libSceNet-show-netstat-ex
feat(libSceNet): implement sceNetShowNetstatEx
2026-10-24 16:58:43 +02:00
Rookie 39df8e081c fix(relinker): prefer 0x400000 for Windows executables 2026-10-24 15:58:35 +01:00
Dean 25b744db4a Merge pull request #9232 from UnhealthyKraken/feat/libc-feupdateenv
feat(libc): implement feupdateenv
2026-10-25 03:52:37 +13:00
Dean 0eba9f8d02 Merge pull request #9902 from MarrasFederico/feat/np-matching2-contexts
feat(libSceNpMatching2): model contexts offline
2026-10-25 03:52:12 +13:00
Dean a8c8b8117b Merge pull request #8900 from WhiteAssassins/feat/patch-advisor
feat(tools): recommend verified local game patches
2026-10-25 03:51:47 +13:00
Dean 7dea7774d6 Merge pull request #10018 from JJenkx/fix/dmem-release-skips-free-pages
fix(libkernel): skip unallocated pages in sceKernelReleaseDirectMemory
2026-10-25 03:51:22 +13:00
Dean 0c30c363ea Merge pull request #9972 from tkcm01/fix/flexible-memory-fixture-meta-macos
test(libkernel): describe the flexible memory fixture's segment on macOS
2026-10-25 03:50:56 +13:00
Dean 1981c789ed Merge pull request #8684 from xXPBSXx/test/time-conversion-region-zones-windows
test(libc): run POSIX-form time zone conversions on Windows
2026-10-25 03:50:28 +13:00
Bram910 16eb32f20e fix(relinker): resolve BND and NOTRACK call sites 2026-10-24 16:49:41 +02:00
Nicola GalluccioandClaude Opus 5.5 50e383ca4a fix(shader): resolve each shader cache source and include path once
ShaderCacheVersion.cmake resolved every source's real path twice and
every include's real path once per include line: 1102 REALPATH calls
per run, about 1.6 ms each on Windows. Reuse the source paths from the
first pass and resolve each include path once. The generated version
file is unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 16:46:39 +02:00
Adrià 1e740a23a3 Merge pull request #9056 from milescoviello/fix/sample-order-test-depth-read
test(agc): read the sample order tests' depth through a sampled copy
2026-10-24 16:45:31 +02:00
Adrià d098eca3d6 Merge pull request #9185 from janzezno/fix/pixel-interlock-monolithic
fix(agc): build a pipeline with a fragment shader interlock whole, not from libraries
2026-10-24 16:29:56 +02:00
Dean Galvin cac82f55d1 Merge main into codex/libc-srandomdev-20261020 2026-10-25 03:29:34 +13:00
hypermist 7cd3845f15 Merge remote-tracking branch 'upstream/main' into feat/libc-dinkumware-conversions-m2 2026-10-25 03:28:51 +13:00
SebastianandClaude Opus 5.5 adc22104af docs(debt): drop sched_rr_get_interval from the unimplemented scheduling calls
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01QnkpF2oEMofseVz9Z7WEAC
2026-10-24 14:28:33 +00:00
SebastianandClaude Opus 5.5 84e65ab140 fix(libkernel): bound sched_setparam and sched_getparam by the reported priority range
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01QnkpF2oEMofseVz9Z7WEAC
2026-10-24 14:28:22 +00:00
SebastianandClaude Opus 5.5 a3ae332f5e feat(libkernel): implement sched_getparam, sched_getscheduler and sched_setparam for the calling thread
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01QnkpF2oEMofseVz9Z7WEAC
2026-10-24 14:28:05 +00:00
roboterspinne f1a7f913c7 fix(relinker): reject executable exports outside PT_LOAD and PT_TLS memory
An exported symbol of the executable must lie inside a PT_LOAD segment,
executable for STT_FUNC, together with its size and at least one byte.
A non-TLS export in SHN_ABS is exempt from the range check, and any
other special section index is rejected. An STT_TLS export needs a
regular section index and a PT_TLS header and must lie inside it.

GuestImageReader applies the PT_LOAD, PF_X and PT_TLS bounds to every
symbol of a guest module, and the macOS target applied the bounds and
the section rule to the executable's exports. Linux rejected only a
special section index at a fixed base, and Windows only an STT_FUNC
export with a nonzero size outside the code, in code analysis; every
other export was copied into the output unchecked. The check now runs
in the pipeline, so every target reports the same error for an export
it rejects, and the macOS export test expects that message.
2026-10-24 16:26:59 +02:00
Adrià 041fd0a635 Merge pull request #9247 from xXPBSXx/test/shm-descriptor-reuse-readlink-chk
test(libkernel): hook __readlink_chk in the shared-memory descriptor reuse test
2026-10-24 16:25:48 +02:00
Dean Galvin 8016939e31 fix(agc): bump the pipeline journal format for the color logic operation
encodeState and decodeState carry colorRop, which changes the recipe codec. Main's journal format is already 9, so the bump to 9 this branch made is a no-op; use 10.
2026-10-25 03:20:33 +13:00
Maximilian FleckensteinandClaude Opus 5.5 e21db2912e fix(libSceNpTrophy2): include <cstddef> for std::size_t in the constants header
NpTrophy2Constants.hpp uses std::size_t but includes only <cstdint>.
libstdc++ happens to declare it through that header; libc++ does not,
so guest_nptrophy2_tests fails to compile on macOS with "no type named
'size_t' in namespace 'std'".

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 11:16:00 -03:00
LeandroLP23andClaude Opus 5.5 ae83030621 ci(windows): keep test temporary files on the runner's work disk
On windows-latest, TEMP is on C:, which writes 256 MiB in 1.9 s against
0.2 s on D:, where RUNNER_TEMP and the workspace live. The ctest step now
points TEMP and TMP at runner.temp. On a probe runner the optional byte-cap
capture test drops from a 6.4 s median to 1.3 s with four copies running,
and the git-heavy tool tests from 26-35 s to 24-26 s.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 16:15:57 +02:00
yash27git 1c21aeb870 docs(libSceContentDelete): clarify unresolved export contracts 2026-10-24 19:44:29 +05:30
fma-rc 5d418de02d fix(agc): keep a one-fragment target's FMASK address without its pipe-bank XOR
CB_COLOR_FMASK's low 16 bits carry the surface's pipe-bank XOR, as with the other 64 KiB-aligned
metadata bases, so the guarded FMASK range starts at the 64 KiB-aligned surface.
2026-10-24 16:08:49 +02:00
fma-rc ce51369643 test(agc): keep the one-fragment coverage case in the anonymous namespace and leave the key-range comment unchanged 2026-10-24 16:08:49 +02:00
fma-rc fadd4d3bea test(agc): expect an eliminated one-fragment target's CMASK expanded 2026-10-24 16:08:49 +02:00
fma-rc 1930fb56bd fix(agc): apply a one-fragment target's CMASK fast clear as a one-sample clear
With one fragment, CMASK code 0 marks a tile whose only fragment holds the clear color, as radeonsi's
CMASK fast clear writes it. Such tiles are materialized like a one-sample target's; codes other than 0
and 0xc-0xf still throw.
2026-10-24 16:08:49 +02:00
fma-rc 838f238356 fix(agc): check one-fragment EQAA anchors after the sample-count check and its CMASK before any clear path 2026-10-24 16:08:49 +02:00
fma-rc 9d63323868 fix(agc): guard a one-fragment target's FMASK as host memory and refuse unmeasured EQAA states
The FMASK of a one-fragment color target drawn on the host is added to the guarded host-only ranges, so
texture, storage, DMA and CPU reads of it throw on every lookup, including cached ones, and the guard is
dropped when the memory is unmapped. The range is the smallest footprint one FMASK bit per sample needs,
rounded to 64 KiB.

A one-fragment target now requires static DB_EQAA anchors at the depth target's sample count, the
configuration measured. Its CMASK may only hold codes 0x0 and 0xc-0xf, and materializing a fast clear
of it throws. A target with more fragments than samples gets its own message.
2026-10-24 16:08:49 +02:00
fma-rc b76ab1f6c0 fix(agc): draw a one-fragment multisampled color target as one sample with sample 0's coverage
A color target whose CB_COLOR_ATTRIB has more samples than fragments (4 samples, 1 fragment) was refused
as EQAA. With one fragment, a write is kept only where sample 0 is covered, which is the truncated
coverage reduction one-sample targets beside a multisampled depth target already use. Decode such a
target as one sample, keep its coverage sample count, and take that path. Targets with more than one
but fewer fragments than samples still throw.

The host does not write the FMASK of these targets, so a guest FMASK read of one that was drawn on the
host throws.
2026-10-24 16:08:40 +02:00
Maximilian FleckensteinandClaude Opus 5.5 28f3f43842 fix(tests): give each RTC test run its own title directory
EnterTitleDirectory named the run's directory after the current
steady_clock value. guest_rtc and guest_rtc_ps5_title run the same test
binary, and when ctest starts both at once they can read the same value
and share one directory; guest_rtc then writes its PS4 title there and
the PS5 run reads it and aborts. Name the directory with
std::random_device instead, as the other tests that make temporary
directories do.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 11:05:52 -03:00
Dean 5ed5427bac Merge pull request #10622 from oneandonlydean/fix/configure-seed-type-sizes
fix(tools): keep check_type_size results in configure_seed
2026-10-25 03:01:15 +13:00
Adrià bafe9f65c1 Merge pull request #9558 from Izamaru/fix/pipeline-cache-save-temporaries
fix(agc): release pipeline cache save temporaries after use
2026-10-24 15:58:13 +02:00
Adrià cc277a667d Merge pull request #9421 from JJenkx/windows/host-allocator-kept-lists
perf(agc): keep full freed-block lists for a thread whose list is empty
2026-10-24 15:56:09 +02:00
noirandClaude Opus 5.5 21d9566166 fix(agc): keep the replay priority change to Windows
The Linux path was not built or run; Linux keeps the replay threads at
their priority.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 15:55:22 +02:00
xXPBSXxandClaude Sonnet 5.5 d9ad16045b docs(debt): note how titles call the sceNpSessionSignaling lookups
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 15:53:06 +02:00
shurhundo 7221249a9a fix(check-compile): expand response files recursively with cycle and depth protection 2026-10-24 21:53:05 +08:00
Dean Galvin 90cc1fa6a5 Merge main into feat/gnm-neo-embedded-shaders 2026-10-25 02:52:26 +13:00