When a draw's stage fails to prepare, capture or recompile, the packet
worker fails the queue and the next Submit or WaitIdle rethrows the
error, which ends the title. With APS5_SKIP_REFUSED_DRAWS set,
materializeDrawStage rethrows that error as a RefusedDraw; the packet
loop skips the draw, counts it as a thrown skip, logs the shader once
per address and runs the rest of the submission. The frame then lacks
that draw. Compute refusals and errors outside the stage build fail as
before, and without the switch nothing changes.
agc_driver_draw_unsupported_buffer_type_skip_refused submits a draw
whose pixel shader is refused twice with the switch: the WRITE_DATA
after it lands both times and the color target stays untouched.
AI-assisted: yes
On RDNA2 the image, buffer and global float atomics (fmin, fmax,
fcmpswap and the _x2 forms) flush both operands to a signed zero when
bit 0 of the shader's denormal field is clear, as the LDS forms do: the
f32 field for the 32-bit forms, the f16/f64 field for _x2. Only the
LDS forms flushed here. floatAtomicFlush (was sharedFloatFlush) now
sets MemoryInfo::flushDenormals for every float atomic, and
AtomicFloatBits applies it in minMax and compareSwap.
The float atomic tests from #332, #506 and #562 were measured with
denormals kept, so they now set FLOAT_MODE 0xf0.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
sceAudio3dGetSpeakerArrayMemorySize, CreateSpeakerArray, DeleteSpeakerArray
and GetSpeakerArrayMixCoefficients(2) forward to the AudioOut2 speaker-array
calls as the console does: the memory size asks for no ambisonics, create
rejects a null handle or parameters with SCE_AUDIO3D_ERROR_INVALID_PARAMETER
and passes no ambisonics parameters, and MixCoefficients passes height_aware 0
and a 0.1 downmix spread radius. AudioOut2 create no longer rejects a null
ambisonics pointer, which the console accepts.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
sceAudioInOpenEx and sceAudioInHqOpenEx threw. In the PS5 12.00 module both
call the shared open routine that sceAudioInOpen uses, with one extra
argument in fourth place that only reaches the console's Mbus handle
registration. HqOpenEx sets the high-quality flag but skips the length,
rate and parameter checks of sceAudioInHqOpen, so both open like
sceAudioInOpen here. sceAudioInSetCompressorPreGain and
sceAudioInSetNoiseGateThreshold return 0 on the console without reading
their arguments.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
Addresses review on #8355: drops g_appLauncherReady and the
unverified init-param size check so both exports are plain silent
stubs, lists them under Silent stubs in the debt file naming
PPSA20397, and moves them out of the unknown-info entry.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The call threw for lack of a signature. In the PS5 12.00 libkernel it takes
one int, passes it to syscall 601 (command 29) and returns the raw kernel
result. No dump is produced here, so it returns 0, as
sceCoredumpConfigDumpMode does.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
sceWebBrowserDialogSetCookie and sceWebBrowserDialogResetCookie threw.
They now check their parameters in the console's order and with its
codes (PS5 12.00 module), then succeed: there is no cookie store. Open
sets the open-dialog flag that makes both return 0x80B80006 until the
dialog is updated to finished, closed or terminated.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
Follow FreeBSD 11.4 sys_getresuid and sys_getresgid (sys/kern/kern_prot.c):
retrieve real, effective, and saved user and group IDs for the guest process,
which is assumed to run as root with IDs 0. Pointers that are not null receive 0,
null pointers are ignored, and 0 is returned leaving errno unchanged on success.
Cover both in guest_credentials test and update libkernel debt documentation.
Debt entries name the titles they were measured on. Use the title ID, or "a retail title" where the sentence needs no identification. No technical content changes.