Files
AnyPS5/core
Yunus Shaikh e986ee0f7a fix(agc): leave the rect-list pairs a pipeline ABI cannot build to their first draw
sceAgcLinkShaders resolves the rect-list pairing of a pipeline when the
title creates it, and three cases ended the title there although the
rect-list draw that uses the pipeline builds its pair itself:

- a pipeline without a pixel shader reached ResolveGraphicsAbi with a
  null pixel, which required both stages, although the draw pairs the
  front stage with the null pixel program;
- a stage with no artifact yet, such as a pixel shader that exports
  stencil on a device without VK_EXT_shader_stencil_export, failed the
  missing stage artifacts check;
- a pair that BuildRectListShaders refuses, such as a pixel input with
  passthrough interpolation, threw from the builder.

The ABI now skips the first two, and logs the third once as a deferral
of the pixel shader without recording the pair, so the pair's draw
builds it again and fails with the builder's reason. When a draw builds
the rectangles of its front stage, only the pair of its own fragment can
fail it; the pair of another fragment that has no artifact or that the
builder refuses is left to that fragment's draw.

A new mode resolves a front stage with a null pixel, with a pixel before
it has an artifact, with a pixel that never gets one and with the first
pixel's passthrough variant, and expects one deferral with the
builder's reason. It then draws the front stage as a rect list with the
null pixel program, which succeeds although the other two pairs cannot
be built, and with the passthrough pixel, which fails with the
builder's reason.
2026-10-16 00:48:18 +00:00
..