Commit Graph
3047 Commits
Author SHA1 Message Date
Ondra97andRomans Pokrovskis 785f8f7bcf fix(agc): reclaim retired multisample color targets
Co-authored-by: Romans Pokrovskis <[email protected]>
2026-10-19 01:08:37 +02:00
Adrià 9121a9e455 Merge pull request #6327 from HilalElusive/patch-1
docs(debt): correct Windows GUI logging description
2026-10-19 01:08:04 +02:00
fdfawef324andCodex edf6717cd1 docs(libSceJson2): qualify handler callback assumptions
Remove title IDs from the touched technical-debt entries and state that the null third type-mismatch handler argument is unverified on console.

Co-Authored-By: Codex <[email protected]>
2026-10-18 19:01:19 -04:00
Ondra97 a64d038154 fix(libs): flush pending GPU results before file writes 2026-10-19 00:53:25 +02:00
Yunus Shaikh 866ad41ea1 Merge main into fix/agc-sample-location-grid-exact
Keeps MultisampleTargetOrderTarget next to #6175's MultisampleTargetView, which now also returns the target's image.
2026-10-18 15:50:54 -07:00
Romans Pokrovskis 4b7f46d79c Merge remote-tracking branch 'origin/main' into codex/review6860-cadence-maineb1 2026-10-19 01:42:35 +03:00
Adrià 18bd700806 Merge pull request #6291 from santhoshkumar-dev/codex/fix-pixel-exec-helper-lanes
fix(shader): preserve pixel helper lanes in EXEC copies
2026-10-19 00:37:47 +02:00
Adrià 0fd3555ad6 Merge pull request #5958 from ps54all/feat/shader-converted-image-sample
feat(shader): sample converted unorm images in the shader
2026-10-19 00:24:10 +02:00
gohansharma79-svg a7ab0a0b9b docs(avplayer): avoid the pending metadata note conflict 2026-10-19 03:51:36 +05:30
Adrià 8b8edc5619 Merge pull request #6315 from hypermoist/fix/libc-snprintf-s-constraints
fix(libc): check the C11 runtime constraints in snprintf_s and vsnprintf_s
2026-10-19 00:17:04 +02:00
gohansharma79-svg b0a7695b57 fix(avplayer): deliver the first paused picture after audio starts 2026-10-19 03:46:40 +05:30
Dean Galvin cf4d1f4a97 Merge main into pr-4650
# Conflicts:
#	core/shader/recompiler/ShaderDiskCache.cpp
2026-10-19 11:15:57 +13:00
Yunus Shaikh d13a90d015 Merge main into fix/recompiler-once-per-pixel-sample-inputs
Resolves the shader debt file bullet by bullet: main's EmitSetAttribute entry, and this branch's PERSP_SAMPLE/LINEAR_SAMPLE and pixel-position entries.
2026-10-18 15:14:25 -07:00
Adrià 77fd2b6c5e Merge pull request #6317 from SleglJan/pr/clip-distance-full
fix(shader): leave out the all-zero position distance when guest distances fill all eight
2026-10-19 00:12:57 +02:00
Muhammad Wasif Ali WasifandClaude Opus 5.5 b4e80e8fc7 fix(libc): read /dev/random and /dev/urandom through fopen
fopen resolved the random device paths to a host file that does not
exist and failed with ENOENT, while open and sceKernelOpen already serve
them from host entropy. A read-only fopen of either path now returns a
stream whose fread fills the buffer with host entropy. setvbuf, feof,
ferror, clearerr, the stream locks and fclose work on it, fflush returns
0 as on a FreeBSD stream that is not writing, other stream functions
throw, and opening the paths for writing throws as in libkernel.

ProsperoTV (PPSA99003) reads its phone pairing code this way and showed
"Code expired or unavailable".

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 03:01:38 +05:00
Yunus Shaikh d2e2cd650d Merge main into fix/agc-sample-location-grid-exact
Keeps the multisampled target's sample-order view fields next to #6297's HTILE fields.
2026-10-18 14:56:26 -07:00
hypermistandClaude Opus 5.5 e9f4dbfcf5 fix(libc): check the C11 runtime constraints in snprintf_s and vsnprintf_s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 23:43:55 +02:00
simonbronkandClaude Opus 5.5 752cca10fe fix(agc): import native multisample depth whose HTILE is not ITERATE_256
The initial import of a native multisampled depth target only proceeds
when every HTILE word proves the same clear value, so no compressed Z
planes are read from guest memory. ITERATE_256 only changes how the DB
and the texture unit walk compressed MSAA Z planes (Mesa
ac_descriptors.c: "TC-compatible MSAA HTILE requires ITERATE_256").
The HTILE footprint (Addrlib) and the HTILE clear words (Mesa
radv_get_htile_fast_clear_value) do not depend on it. The import no
longer requires it; the texture's ITERATE_256 must still match the
target's.

Unblocks PPSA27836 (Onimusha: Way of the Sword), which samples a
four-sample D32 target with pipe-aligned HTILE and ITERATE_256 off.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 23:38:21 +02:00
Adrià 1158cb8aab Merge pull request #6255 from LeandroLP23/fix/agc-kill-demoted-quad-pixels
fix(shader): kill demoted quad-mask pixels when the pixel program returns
2026-10-18 23:26:48 +02:00
Adrià c7f67e5cf3 Merge pull request #6144 from freshstart2066-create/feat/libc-safe-wide-strings
feat(libc): implement safe wide string and concatenation functions
2026-10-18 23:26:38 +02:00
Adrià 2da2284def Merge pull request #6270 from YossiYad/fix/agc-register-defaults-pairs
fix(libSceAgc): return the console's register-defaults table and type pairs
2026-10-18 23:14:29 +02:00
Dean e1248700d9 Merge pull request #7646 from oneandonlydean/revert/6112
revert(relinker): run guest preinit arrays before the module initializer (#6112)
2026-10-19 10:10:20 +13:00
David 9f4cd87a61 Merge remote-tracking branch 'origin/main' into fix/netctl-default-route-macos
# Conflicts:
#	core/libs/tests/GuestNetCtl.cpp
2026-10-19 00:56:11 +04:00
Adrià ff2fc57153 Merge pull request #6248 from mugurc/feat/libscesystemservice-loadexec-macos
feat(libSceSystemService): LoadExec on macOS hosts
2026-10-18 22:50:27 +02:00
Savvanis SpyrosandClaude Opus 5.5 45a2e3dd4a fix(relinker): resume scans after undecodable bytes between PS4 unwind functions
In PS4 executables and modules the bytes between unwind functions are
16-byte slots of function tails and padding, and a tail can begin inside
an instruction, such as a lone REX byte before a 15-byte NOP. The
syscall and call-site scans decode the executable segment linearly, so
such a slot failed the relink with "Cannot decode instruction".

For images with a PT_SCE_DYNLIBDATA segment the scans now receive the
unwind function ranges. Outside every range an undecodable byte is
skipped and decoding resumes at the next byte, and a decoding that would
cross into a range ends at its start, so gap bytes cannot change how a
function is decoded. Inside a range a decode failure still fails the
relink, and images without unwind ranges are scanned as before.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 23:45:49 +03:00
Dean Galvin c3b9001592 revert(relinker): run guest preinit arrays before the module initializer (#6112)
This reverts commit 376c040294.
2026-10-19 09:38:31 +13:00
Adrià 6e27fc8f07 Merge pull request #6233 from milescoviello/fix/spawn-missing-program
fix(libSceLibcInternal): fail posix_spawn with ENOENT when the program is not there
2026-10-18 22:37:14 +02:00
Yunus Shaikh 340f3aa13a Merge main into fix/agc-sample-location-grid-exact
Resolves MultisampleTarget against #6635: the sampled view takes the requested view type and keeps the sampled-only usage when the target has a storage view for the guest's sample order.
2026-10-18 13:37:01 -07:00
Adrià ccf0f58785 Merge pull request #6228 from Ondra97/codex/fix-windows-directory-renames
fix(libkernel): preserve directory identity across Windows renames
2026-10-18 22:20:22 +02:00
David 306229d940 Merge remote-tracking branch 'origin/main' into fix/netctl-default-route-macos
# Conflicts:
#	core/libs/tests/GuestNetCtl.cpp
#	docs/dev/debt/libSceNetCtl.md
2026-10-19 00:18:16 +04:00
David 8f4a50d727 Merge remote-tracking branch 'origin/main' into feat/shader-barycentric-tessellation-last-vertex
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Graphics/src/Pipeline.cpp
#	core/shader/recompiler/SpirvBackend/src/BarycentricGeometryShader.cpp
#	docs/dev/debt/libSceAgcDriver.md
#	docs/dev/debt/shader.md
2026-10-19 00:15:47 +04:00
David 2f406862a8 docs(debt): note the branch targets the AMD-only converter ignores 2026-10-19 00:10:07 +04:00
thuanquangandClaude Opus 5.5 a9cd39045b fix(shader): write a mesh shader's layer through a per-primitive block
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 03:07:32 +07:00
Adrià 05171bc66b Merge pull request #5987 from GustavoGamarra95/fix/agc-device-memory-host-fallback
fix(agc): place device memory in host memory when the driver refuses a device-local allocation
2026-10-18 22:02:03 +02:00
Adrià b8cd204a3f Merge pull request #6220 from DavidSamir/fix/libkernel-sysctl-kern-ostype
feat(libkernel): answer the uname sysctl names
2026-10-18 21:56:01 +02:00
Bl4ckk01 f4b090fbfd feat(libSceCesCs): implement Shift-JIS CP932 encoding conversions 2026-10-18 21:41:40 +02:00
Adrià 48d61f53b4 Merge pull request #6217 from milescoviello/fix/libc-malloc-stats-default-heap
feat(libc): answer malloc_stats_fast for the default heap
2026-10-18 21:31:59 +02:00
Adrià d098a7b140 Merge pull request #6170 from primesoul-web/feat/complete-remaining-libraries
feat(libs): finish the CesCs conversions and the AudioOut, AudioIn and GameUpdate exports
2026-10-18 21:31:54 +02:00
Adrià 4b4385cb7f Merge pull request #6201 from bruceblake/libkernel-getdtablesize
feat(libkernel): implement getdtablesize
2026-10-18 21:26:33 +02:00
ionut27001 bd22a701f5 fix(libkernel): answer sysarch I386_GET_FSBASE, I386_GET_GSBASE and undefined operations as measured on a PS5
In a payload process on a PS5 (firmware 12.70), I386_GET_FSBASE (7) and
I386_GET_GSBASE (9) wrote 4 bytes, the low 32 bits of the FS and GS
bases, and failed with EFAULT for a null argument; both threw here. On
Linux x86-64 hosts they now do the same.

The nine operation numbers tried that FreeBSD 11's amd64 sysarch has no
case for (2, 5, 6, 12, 127, 133, 134, 1000 and -1), each with a null
argument, failed with EINVAL there, as its default case does, and threw
here. Every such number now returns EINVAL on every host.

Threads made with pthread_create and scePthreadCreate started with their
creator's GS base there; the test now checks that a guest thread does so
on Linux. The sysarch debt entry records these measurements and what
AMD64_GET_XFPUSTATE and I386_GET_XFPUSTATE returned there; both still
throw here.
2026-10-18 22:25:09 +03:00
Dean 6685795f77 Merge pull request #7626 from frankea/ssl-followup
feat(libSceSsl): apply the verify options, run the verify callback, add ALPN, non-blocking sockets and sceSslClose
2026-10-19 08:24:50 +13:00
thuanquangandClaude cc69016858 fix(shader): follow long branches in the hoisted descriptor search
reachingWriter followed only fall-through and direct branches, so a V#
load on a path that reaches the loop through an s_setpc_b64 jump the
control flow analysis resolves was not seen, and another load could be
taken as the only writer. The walk now follows those jumps. It also
fails at s_call_b64 targets, whose callers it does not follow, instead
of walking from a function entry into the code above it.

Co-Authored-By: Claude <[email protected]>
2026-10-19 02:18:43 +07:00
Nicolas Abosch d22094d066 Merge remote-tracking branch 'origin/main' into perf/gpu-wake-sleeps
# Conflicts:
#	docs/dev/debt/libkernel.md
2026-10-18 16:04:17 -03:00
Dean 400baa252b Merge pull request #6884 from MarcZX10/codex/udp-connect-port-zero-6880
fix(libkernel): reject port-zero connect on unconnected sockets
2026-10-19 07:51:55 +13:00
Adrià 8a7f434f19 Merge pull request #6196 from SandstromPL/fix/agc-msaa-enable-clear-one-sample-target
fix(agc): rasterize into one-sample targets as one sample when MSAA_ENABLE is clear
2026-10-18 20:49:55 +02:00
Emanuele f67e221738 test(libc): check that the macOS guest arena keeps free space beside host regions
The four guest_arena tests still pass with the mach_vm_region walk
disabled, because TryReserve marks every 1 GiB chunk it cannot reserve
as occupied. guest_arena_gap reads the host map before the arena
reserves its range and requires a fixed guest mapping in free space
that shares a chunk with a host region to be accepted.

The debt entry also records that on macOS 27.0.1 (M4 Pro) the
unmappable range starts at 0xF_C000_0000.
2026-10-18 20:33:33 +02:00
Dean 376c040294 Merge pull request #6112 from ayam04/fix/relinker-guest-preinit
fix(relinker): run guest preinit arrays before the module initializer
2026-10-19 07:33:14 +13:00
Yunus Shaikh a74f343e58 Merge main into fix/agc-sample-location-grid-exact 2026-10-18 11:30:40 -07:00
Yunus Shaikh dc47a81b02 Merge main into fix/recompiler-once-per-pixel-sample-inputs 2026-10-18 11:30:31 -07:00
Yunus Shaikh 7da5ba7b3c Merge main into fix/agc-heap-mirror-replan-unwatched 2026-10-18 11:30:09 -07:00