Commit Graph
20967 Commits
Author SHA1 Message Date
Adrià de0854b644 Merge pull request #8261 from thuanquang/fix/force-degamma-snorm-srgb-view
fix(agc): sample 8-bit SNORM textures through FORCE_DEGAMMA as their sRGB format
2026-10-23 19:57:15 +02:00
Luka Petrovic a0ce5788b3 fix(tools): validate compilation database entries 2026-10-23 19:38:59 +02:00
Ondra97 cc4c48c098 test(agc): retain Windows stderr for loader diagnostics 2026-10-23 19:22:18 +02:00
ntamas94andClaude Opus 5.5 8305168f39 fix(libc): answer strerror as the titles' libc.prx does
The libc.prx that PS4 titles ship (measured for CUSA04865 and CUSA12435 on a
PS4 Pro, firmware 10.71) names 0 "No error", 1 to 94 with the FreeBSD texts
(30 is "Read-only filesystem"), answers every other number, 95 and 96
included, with "error_code=0x%08x", and leaves errno alone. AnyPS5 returned
"No error: 0", named 95 and 96, answered "Unknown error: %d" and set errno
to 22. strerror_r and perror keep their wording; only the shared EROFS text
changes for them.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 19:19:40 +02:00
Adrià 4883171f9f Merge pull request #8283 from milescoviello/fix/msaa-dcc-cmask-fmask-only
fix(agc): leave a multisampled DCC target's CMASK unchecked without fast clears
2026-10-23 19:16:32 +02:00
Adrià 6da56f1c67 Merge pull request #8278 from m335671/perf/dispatch-complete-record-split
refactor(agc): split a dispatch's device call into a complete and a record step
2026-10-23 19:16:26 +02:00
Adrià e248d3ab24 Merge pull request #8180 from ntamas94/fix/agc-copied-writer-label-drain
fix(agc): store a label behind pending copied write-backs without draining
2026-10-23 19:16:19 +02:00
orezraeyandClaude Opus 5.5 3c943eb74c docs(libkernel): record select limits as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 14:14:51 -03:00
orezraeyandClaude Opus 5.5 a537c33096 fix(libkernel): answer zero-length datagram receives and recvmsg flags as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 14:09:47 -03:00
Adrià f57e4ef720 Merge pull request #8339 from DavidSamir/feat/agc-barycentric-rect-list
feat(agc): emulate barycentrics in rect-list draws
2026-10-23 19:01:47 +02:00
Adrià 6d0ee304fb Merge pull request #8120 from Raghav314/fix/agc-driver-memory-write-watch
fix(agc): write-watch the AGC driver memory on Linux
2026-10-23 18:57:47 +02:00
Adrià ca5f823971 Merge pull request #8117 from johandavidcm/perf/agc-sampled-key-scans
perf(agc): read a sampled texture's DCC keys once per lookup
2026-10-23 18:57:42 +02:00
orezraeyandClaude Opus 5.5 4710aa2ac4 docs(libkernel): record flexible memory flag 0x8000 as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 13:54:48 -03:00
Maz 500d77aef3 fix(shader): drop debug traces from pixel LDS fixture strip
Keep the version-45 bool pops for the pixel legacy fixtures; revert the
extra depth-remap legacyBytes pop that truncated those heads, and remove
temporary cerr probes.
2026-10-23 20:53:29 +04:00
Maz 0a3a3bb268 fix(shader): strip the pixel LDS bool from legacy fixtures
Version 45 adds a one-byte large-pixel LDS flag ahead of the storage dword; older fixture truncations left that byte as unexpected trailing data on Windows.
2026-10-23 20:53:29 +04:00
Maz 066b919636 fix(shader): fall back from BAR pixel LDS memory
Prefer DEVICE_LOCAL|HOST_VISIBLE only when its heap fits the pool; if that allocate fails, retry plain host-visible/coherent so non-ReBAR NVIDIA does not throw OUT_OF_DEVICE_MEMORY.
2026-10-23 20:53:29 +04:00
Maz 913e458369 fix(shader): deserialize pixel function storage dwords at version 45
The SM-budget threshold writes the storage size after the LDS flag; read it back and keep the fixtures on the fused+pointList trailer.
2026-10-23 20:53:29 +04:00
Maz 761af3c839 fix(shader): keep the pixel LDS debt note under the length limit 2026-10-23 20:53:28 +04:00
Maz 9ef24b1660 fix(shader): keep the pixel LDS debt note under the length limit 2026-10-23 20:53:27 +04:00
Maz aa77a5ba98 fix(shader): prefer device-local host-visible pixel LDS memory
Keep the NVIDIA-only pool mappable for the sticky overflow header while
preferring a device-local host-visible type when the driver exposes one.
2026-10-23 20:53:25 +04:00
Maz 40c7ff888c fix(shader): scale pixel LDS Function threshold by SM budget
Max measured a 4 GiB private-memory ceiling on a 4090; use
VK_NV_shader_sm_builtins so denser cards take the buffer path below 4096.
2026-10-23 20:53:24 +04:00
Maz 641a0a4173 fix(shader): check pixel LDS overflow when presents retire
Exhausted subgroups share slot 0 until the sticky flag is read; check it on present retire as well as WaitIdle, and cover two draws into one target.
2026-10-23 20:53:23 +04:00
Maz fcf4a09878 fix(shader): begin a pass before preparing pixel LDS
Continued draws skipped the slot fill while still binding the set.
Main already uses serialization version 41, so the LDS flag is 42.
2026-10-23 20:53:22 +04:00
Maz 89fcff6dd8 fix(shader): broadcast the first pixel LDS slot without a dynamic lane 2026-10-23 20:53:22 +04:00
Maz d06caa7a8d fix(shader): update request fixtures for pixel LDS version 39
Unsupported-version probes use 40, and legacy downgrade fixtures drop the
new trailer bool so Deserialize no longer sees trailing data.
2026-10-23 20:53:22 +04:00
mazen dba7f5466c fix(shader): keep a pixel LDS overflow until the GPU is idle
The slot counter is reset only after earlier fragment writes, and the overflow flag stays until WaitIdle. The storage buffer is limited to NVIDIA's proprietary driver, which is where the large function array does not finish.
2026-10-23 20:53:21 +04:00
mazen d37e9f4ea7 fix(shader): index pixel LDS by the host lane
A wave32 pixel program on a wider subgroup was using the guest lane, so both halves of that subgroup wrote one region.
2026-10-23 20:52:47 +04:00
mazen 287b149950 fix(shader): keep an unbounded pixel LDS array in a storage buffer
A Function array of 8192 dwords faults NVIDIA driver 617.42. The guest array stays that size, and each invocation gets its own region in a buffer.
2026-10-23 20:52:46 +04:00
Bram910 8cfa0cbf6f fix(io): reject NUL bytes in native file paths 2026-10-23 18:50:12 +02:00
orezraeyandClaude Opus 5.5 f334c156e1 fix(libkernel): keep socket buffer sizes and SO_NBIO as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 13:49:03 -03:00
Adrià b066e5cb77 Merge pull request #8145 from TheSovietWaffle/fix/recompiler-stencil-replay-readonly-bda
fix(recompiler): replay stencil exports of pixel shaders that only read through BDA
2026-10-23 18:46:24 +02:00
Adrià 156d033c6c Merge pull request #8139 from Izamaru/perf/sparse-page-permissions
fix(agc): allocate Windows page permissions on demand
2026-10-23 18:45:19 +02:00
MarcZX10 da5c03c20f test(tools): normalize Windows report paths 2026-10-23 16:42:45 +00:00
Adrià e93ec6823f Merge pull request #8109 from ebosido444-ai/fix/agc-depth-storage-layer-pitch
fix(agc): place a layered depth storage view at the guest's layer pitch
2026-10-23 18:40:16 +02:00
Adrià 0940da2424 Merge pull request #8070 from thuanquang/fix/table-call-wide-descriptor
fix(shader): link a table call whose V# is a slice of an s_load_dwordx8 or s_load_dwordx16
2026-10-23 18:40:11 +02:00
Adrià dd02cbf6f9 Merge pull request #8055 from thuanquang/fix/float-atomic-flush
fix(shader): flush the operands of image, buffer and global float atomics
2026-10-23 18:38:11 +02:00
Adrià ba58828440 Merge pull request #8034 from JJenkx/fix/packet-timing-phases-sync161
fix(agc): separate pipeline drain and device lock timings
2026-10-23 18:38:05 +02:00
mrfelek 24337dc1c8 fix(shader): plan an image table for a T# read at a first-lane offset
A compute shader that reads a T# with s_buffer_load_dwordx8 at an offset
taken from v_readfirstlane_b32, without a waterfall loop, stopped with
"GetImageResource dword 0 is not a valid runtime value": the table
column only accepted an offset of the form key << n, key * n or a masked
one, and here the lane value is scaled before the read
(v_lshlrev_b32 by 5, then v_lshl_add_u32 x, 1, x for a 96-byte record)
and merged across divergent branches. PPSA26344 compute shaders
0x80001f1100 and 0x8000139c00 stop on this.

Accept a first-lane offset whose value is a known multiple of a dword
stride as an unkeyed table column with that stride. The multiple is
found through shifts, multiplies by immediates, sums of one scaled
value, selects, Phis and selects the read's active mask implies.

AI-assisted. Tested by me on my own machine.
2026-10-23 16:35:17 +00:00
al3w0f205 aa276cd745 test(libSceConvertKeycode): cover null address and invalid keyboard type rejection 2026-10-23 11:34:40 -05:00
milescovielloandClaude Opus 5.5 ad6a55121e fix(agc): read FMASK of up to 8 samples in every storage width
Since the synthetic FMASK mode was removed, a direct FMASK load reads
the stored word and only Fmask32_S8_F8 is accepted. A load from any
other FMASK format of up to 8 samples now reads the 8-, 16- or 32-bit
surface and expands it in the shader to 4 bits per sample, an index
past the fragment count reading 8 (unknown). One runtime image mode
handles every such format, reading the format from the descriptor at
run time or from a specialization constant.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 16:34:33 +00:00
al3w0f205 c6b0f8ac9d test(libSceVideoOut): cover null status buffer validation in sceVideoOutGetResolutionStatus 2026-10-23 11:34:28 -05:00
al3w0f205 e6b2ae3dce test(libSceSaveData.native): cover null convert struct and directory name validation 2026-10-23 11:34:15 -05:00
al3w0f205 304821c40f test(libSceSaveData.native): cover null delete struct and directory name validation 2026-10-23 11:34:02 -05:00
al3w0f205 79e884902e test(libSceAudio3d): cover invalid reserved argument rejection in sceAudio3dInitialize 2026-10-23 11:33:49 -05:00
al3w0f205 3f4fa3a172 test(libSceAjm.native): cover null parameter validation in sceAjmDecWVorbisCreateHeaderPacket 2026-10-23 11:33:36 -05:00
al3w0f205 5053c1e8eb test(libSceAudio3d): cover speaker array parameter validation and memory query limits 2026-10-23 11:33:24 -05:00
Project-MOC db8785f6ce fix(tools): preserve new SELF output permissions 2026-10-23 18:33:14 +02:00
al3w0f205 8713da0cbb test(libSceSystemGesture): cover debug version query 2026-10-23 11:33:11 -05:00
al3w0f205 fcb9f57f50 test(libSceAppContent): cover uninitialized rejection in addcont mount and info queries 2026-10-23 11:32:58 -05:00
al3w0f205 0d4cdf942e test(libSceBluetoothHid): cover unregister device without callback rejection 2026-10-23 11:32:46 -05:00