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]>
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).
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
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]>
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.
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]>
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]>
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]>
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
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]>
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.