AnyPS5/docs/dev
Celegans12 e1d4e699be feat(agc): implement primitive-ordered pixel shaders with fragment shader interlock
DecodeState and the draw precheck rejected DB_SHADER_CONTROL bit 16,
PRIMITIVE_ORDERED_PIXEL_SHADER (POPS), which runs the ordered section
of overlapping pixels' shaders in primitive order. The bit now reaches
the recompiler as a pixel stage field, and such a pixel shader declares
PixelInterlockOrderedEXT and runs its whole body between
OpBeginInvocationInterlockEXT and OpEndInvocationInterlockEXT; an
invocation that a BDA read fault kills ends the interlock first. The
POPS collision SGPRs read 0, so a title skips its POPS wait and runs
its per-collision loop once. An image_load still reads a sampled
binding, which misses an earlier overlapping primitive's image_store in
the same draw. The device enables VK_EXT_fragment_shader_interlock when
it has fragmentShaderPixelInterlock; without it the recompile throws,
as does a nonzero POPS_OVERLAP_NUM_SAMPLES. The field is part of the
recompile cache key, the draw key and the serialized request (version 10).
2026-10-08 11:18:46 +02:00
..
ARCHITECTURE.md docs: add architecture overview with Mermaid diagrams 2026-10-04 11:20:38 +02:00
BUILD.md Merge pull request #1083 from ctz23/docs/linux-x11-build-requirements-20261007 2026-10-08 18:29:03 +13:00
CONVENTIONS.md refactor(docs): separated user and dev in docs + compatibility file 2026-09-28 22:58:17 +03:00
HW_ORACLE.md fix(oracle)!: require explicit float modes 2026-10-07 14:58:28 +05:00
PROGRESS.md fix(progress): report shared-source libraries 2026-10-07 21:40:38 +02:00
TechnicalDebt.md feat(agc): implement primitive-ordered pixel shaders with fragment shader interlock 2026-10-08 11:18:46 +02:00