Commit Graph
14017 Commits
Author SHA1 Message Date
Adrià f9cc924fe6 Merge pull request #5180 from semirkabir/feat/shader-mode-rounding-tracking
feat(shader): track MODE rounding changes through the control flow graph
2026-10-14 15:47:15 +02:00
Muhammad Wasif Ali WasifandClaude Opus 5.5 654634b976 docs(contributing): manual builds run the relinker matrix only when its files change
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 18:44:17 +05:00
Muhammad Wasif Ali WasifandClaude Opus 5.5 a0fc988a53 refactor(agc): name dbOlWdppb4o and vieBRwlh1Lw the _10000 interpolant mappings
The names hash to the NIDs dbOlWdppb4o and vieBRwlh1Lw that the exports
carried as sceAgcUnknownCreateInterpolantMapping and
sceAgcUnknown_vieBRwlh1Lw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 18:44:16 +05:00
Adrià caee23fd9f Merge pull request #5777 from milescoviello/perf/trim-after-shader-prepare
perf(agc): return freed memory when shader preparation drains
2026-10-14 15:43:44 +02:00
Adrià 990c554af3 Merge pull request #5771 from simonbronk/feat/http2-websocket-ping-timeout
feat(libSceHttp2): export sceHttp2WebSocketSetPingTimeout
2026-10-14 15:43:12 +02:00
Seif Allah Karoui 86de982f25 fix(avplayer): defer loop warnings until frame delivery
Queue demux loop epochs and report each once when audio or video first delivers that pass. Discard pending loop boundaries on seek and restart. Add playback regressions and record unverified console callback timing.

AI-assisted: yes (Codex).
2026-10-14 14:38:36 +01:00
Gjon Gojcevic d422c760cd perf(shader): look up the BDA range of a user-data pointer once at program entry
Address-based reads whose 64-bit base is a pair of user-data registers
search the BDA table at every read, although the base is one value for
the whole draw. Where a program has two or more such reads of one base
(at most four bases, those with the most reads), the range holding the
base is now searched once at the program's entry, by the subgroup's
elected lane when the program already uses subgroup ballots. Each read
then takes one branch: when that range holds all of its bytes, and for
dword reads the device address is 4-aligned, it loads them directly;
otherwise it runs the lookup path as before, so data, faults, invocation
stops and wraparound are unchanged. Ranges ending above
0xffffffff00000000, whose base plus a 32-bit offset could wrap, and
ranges whose device addresses wrap are not used.

The direct path relies on the table being ascending and disjoint, which
the driver builds and now requires (BdaAbi::RangesOrdered).

AI-assisted: yes
2026-10-14 09:38:31 -04:00
p3nicillinandClaude Opus 5.5 a08310bdc4 feat(libSceAudioOut): open HDMI bitstream ports with sceAudioOutExOpen
Surround Sound Studio (PPSA99051) opens an Ex port for IEC 61937 bursts
when a clip is played. Follow the disassembly and console log in
sainsaji/PS5-Audio-Passthrough-Research: ExOpen refuses modes outside
mask 0x61F with 0x80260015 and opens an S16 stereo port of 256 frames at
48 kHz or 1024 frames at 192 kHz; ExConfigureOutput refuses a nonzero
first argument with 0x80268009 and returns 0 for the documented modes
and targets; ExClose returns 0. The host has no HDMI bitstream output,
so an Ex port has no device and drops its bursts at its own rate.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 14:28:48 +01:00
mrfelek f8aa9046d1 test(agc): pin the depth plane sampling views that must keep throwing
A base slice past the last slice, a cube from a base slice and a 2D view with a
base slice are refused by DepthSurfaceTexture. Each case fails when its check is
removed.
2026-10-15 02:27:10 +13:00
a5904f437f test(agc): depth plane arrays sampled from a later base slice
agc_driver_depth_plane_sampling's refusal case becomes base-slice cases: a D32 2D array from base
slice 1 reads its slices 1 and 2, and through a 2D shader image slice 1; a D16 plane array read as
R16_UINT from base slice 1 reads slice 1 (the integer path Diablo II takes).

Co-Authored-By: EagleBearerYS <[email protected]>
Co-Authored-By: mrfelek <[email protected]>
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-15 02:27:10 +13:00
62eff52c45 feat(agc): sample depth plane arrays from a later base slice
A T# reading a depth surface's planes as a 2D array whose BASE_ARRAY is past slice 0 views the plane
copy from that slice (the copy holds slices 0 to LAST_ARRAY), instead of being refused. A 2D binding
of such a plane array reads its base slice through a one-slice view. Resident Evil Village
(PPSA01556: a D32 array read as R32F from slice 1) and Diablo II: Resurrected (PPSA03912: a D16 array
read as R16_UINT from slice 1) stopped on the refusal.

Rebased onto main from EagleBearerYS's adaptation to the current DepthPlaneCopy.

Co-Authored-By: EagleBearerYS <[email protected]>
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-15 02:27:10 +13:00
boykopovar 5a6ad0ed36 Merge pull request #5839 from boykopovar/ci/init-linux-self-hosted
ci(linux): limit build and test parallelism to one
2026-10-14 16:19:34 +03:00
boykopovar f74b8e2d87 ci(linux): limit build and test parallelism to one 2026-10-14 16:18:17 +03:00
MarcZX100 541a4e7052 test(tools): shard conventions comment checks under CTest timeout 2026-10-14 13:13:45 +00:00
christopherflores9312 f895e178ec fix(tools): reject mixed NID modes with empty filters 2026-10-14 06:13:24 -07:00
mrfelek ca9f4e47b1 feat(libSceUlt): implement sceUltMutexDestroy and sceUltWaitingQueueResourcePoolDestroy 2026-10-14 15:07:48 +02:00
Semir Kabir ee1e341976 fix(agc): take an unregistered compute shader's float mode from the live COMPUTE_PGM_RSRC1 2026-10-14 15:07:24 +02:00
Semir Kabir f662afe533 feat(shader): track MODE rounding changes through the control flow graph 2026-10-14 15:07:24 +02:00
Piglit09 1f7bf7413f fix(relinker): protect Windows TLS code entry roots 2026-10-14 08:07:16 -05:00
Gjon Gojcevic 0b5a4aae32 fix(agc): store small pending storage results at each flip 2026-10-14 09:05:53 -04:00
Adrià 63fb0cd92e Merge pull request #5626 from Lorkydey/feat/oracle-json-results
feat(hw-oracle): export results with run settings as JSON
2026-10-14 15:05:09 +02:00
Adrià 937cd6cab2 Merge pull request #5539 from JJenkx/feat/videoout-eop-flips
feat(videoout): present reserved flips from tagged GPU completion
2026-10-14 15:04:12 +02:00
Adrià 5507642361 Merge pull request #4978 from AlxcBTW/perf/bda-read-lists-by-reference
perf(agc): note an address space's in-place reads by reference
2026-10-14 15:02:32 +02:00
billythemenace2andClaude Opus 5.5 3c81a744bd fix(kernel): read a zero flexibleMemorySize in param.json as the default budget
SONIC SUPERSTARS (PPSA06888) ships "kernel": {"flexibleMemorySize": 0},
which the parser rejected, so the title stopped before its first module
loaded. A zero size now leaves the default budget, like an absent one.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-14 14:02:14 +01:00
Adrià 45d99dac82 Merge pull request #5563 from karimibrahim07/feat/libc-fegetenv
feat(libc): implement fegetenv
2026-10-14 14:59:26 +02:00
Adrià beb7e94048 Merge pull request #5453 from overlordxrz-source/feat/agc-device-fault
feat(agc): report device losses with VK_EXT_device_fault and dispatch checkpoints
2026-10-14 14:58:14 +02:00
Adrià 131171e772 Merge pull request #4840 from Lorkydey/feat/shader-fragment-user-data-tail
feat(shader): link raw fragment epilogs through user data
2026-10-14 14:56:34 +02:00
Gjon Gojcevic 4e27d8d753 fix(videoout): keep the output SDR on hosts without a monitor HDR report
A Vulkan surface can offer HDR10 formats while the display is not in
HDR (KDE Wayland with RADV lists them with the output's HDR disabled),
so on hosts other than Windows the probe now reports an SDR monitor and
HDR output stays off until an output-state signal exists. A probe test
checks that a window without a Windows monitor report reads as SDR with
an HDR10 surface.

The HDR10 present test now also changes the monitor's luminance while
presenting HDR10, and the presenter logs the HDR metadata it sets.

AI-assisted: yes
2026-10-14 08:55:18 -04:00
ps54allandClaude Sonnet 5.5 af7ca4af50 feat(agc): run the pixel program per sample for PS_ITER_SAMPLE
PA_SC_MODE_CNTL_1 bit 16 (PS_ITER_SAMPLE) was rejected with the other scan
control bits. On a multisampled draw it now enables Vulkan sample shading with
a minimum rate of 1.0, and the draw throws when the device lacks
sampleRateShading. On a single-sample draw the bit has no effect and is
dropped. The flag is part of the pipeline, pipeline library and draw register
keys.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 14:53:42 +02:00
Adrià 7181fe94d6 Merge pull request #5616 from JJenkx/feat/vp9-picture-info
feat(videodec2): implement VP9 picture metadata
2026-10-14 14:53:32 +02:00
Adrià 1b55ee4ab3 Merge pull request #5610 from Dripl1x/codex/feat-libkernel-fixed-anonymous-mmap
feat(libkernel): support fixed anonymous mmap
2026-10-14 14:52:53 +02:00
Adrià 96dd647191 Merge pull request #5607 from Feuris/feat/libc-wcsnlen-s
feat(libc): implement wcsnlen_s
2026-10-14 14:52:15 +02:00
Adrià 24f58e534a Merge pull request #5605 from babyhuey/feat/libkernel-soc-power
feat(libkernel): export sceKernelGetSocPowerConsumption
2026-10-14 14:51:36 +02:00
Adrià 8bbed135fa Merge pull request #5592 from JJenkx/feat/videoout-buffer-labels
feat(videoout): expose buffer labels and release replaced frames
2026-10-14 14:50:50 +02:00
Adrià c8e3039382 Merge pull request #5590 from Lorkydey/feat/performance-summary-comparison
feat(tools): compare performance capture summaries
2026-10-14 14:50:16 +02:00
Adrià 8ffbb49267 Merge pull request #5588 from ryyReid/feat/unwrap-self
feat(tools): unwrap decrypted SELF containers into clean ELF
2026-10-14 14:48:51 +02:00
boykopovar 570ffb1ec2 Merge pull request #5822 from boykopovar/ci/init-linux-self-hosted
ci(linux): move builds to self-hosted runner with persistent caches
2026-10-14 15:48:45 +03:00
Adrià cee9841b6a Merge pull request #5551 from fdfawef324/codex/optional-library-prebuild
perf(agc): allow disabling graphics library registration warmup
2026-10-14 14:46:49 +02:00
Adrià FranchandClaude 3faeae816b docs(debt): mark the ratio ramp semantics as assumed
Co-Authored-By: Claude <[email protected]>
2026-10-14 14:46:30 +02:00
Dean Galvin 1ef97e517c fix(shader): group compute derivatives by four consecutive lanes
A compute shader with an LOD query was emitted with DerivativeGroupQuadsKHR,
which needs both workgroup dimensions even. A guest workgroup of N x 1 lanes
failed SPIR-V validation (VUID-StandaloneSpirv-DerivativeGroupQuadsKHR-10151),
which agc_driver_waterfall_images hits on every device.

GFX10 forms a compute quad from four consecutive lanes, which is
DerivativeGroupLinearKHR. The wave64 path no longer reshapes its workgroup
to 2 x N, which only made the 2D quads match consecutive lanes.
2026-10-15 01:46:28 +13:00
pushkarreddyy 4c58702fd0 feat(libSceAjm): support ratio ramp in sceAjmBatchJobSetResampleParametersEx 2026-10-14 14:46:23 +02:00
Adrià 4e0cb18d1e Merge pull request #5545 from Nixitov/feat/setpriority
feat(libkernel): implement setpriority
2026-10-14 14:46:16 +02:00
Adrià fce397b509 Merge pull request #5513 from codingreapermaps/feat/agc-device-buffers-host-memory
feat(agc): place device buffers in host memory when device memory runs out
2026-10-14 14:45:19 +02:00
Adrià c4b4a74f6e Merge pull request #5502 from ahmad3a4/feat/libkernel-sysctlnametomib
feat(libkernel): implement sysctlnametomib for the sysctl names AnyPS5 serves
2026-10-14 14:44:59 +02:00
Adrià 3bbfc60bb7 Merge pull request #5448 from joelfernandes23/fix/pad-audio-rumble-20261013
feat(pad): bridge controller audio haptics to motor rumble
2026-10-14 14:43:54 +02:00
Adrià 85f240e3c3 Merge pull request #5438 from milchgeldkassierer/fix/json-value-set-null-access-callback
feat(libSceJson2): implement Value::setNullAccessCallBack
2026-10-14 14:43:12 +02:00
Adrià b52356acca Merge pull request #5307 from MarcZX100/codex/ajm-m4aac-3410
feat(libSceAjm.native): implement M4AAC decoding
2026-10-14 14:42:25 +02:00
Adrià a628765e58 Merge pull request #5053 from YossiYad/feat/libkernel-mmap-regular-files
feat(libkernel): map regular files with mmap on Linux
2026-10-14 14:41:32 +02:00
Adrià efae02d034 Merge pull request #5047 from parl0v/feat/trace-digest-batches
feat(tools): trace_digest lists the largest GPU batches with the CPU slices that recorded them
2026-10-14 14:40:55 +02:00
Adrià FranchandClaude 2854d51352 fix(libkernel): follow kern_mincore order and report reserved pages as not resident
Co-Authored-By: Claude <[email protected]>
2026-10-14 14:40:12 +02:00