D103 - The shader container format is built here

Status: decided Date: 2026-09-26

selfish-shader builds the AGC shader container sceAgcCreateShader is handed, from data/agc-shader-format.tsv: the header, the sub-table placement and the self-relative pointer fields. The register contents come from the caller, read from the shader's bytecode by whatever produced it.

Why: the header is cited by five open-source emulators that agree on it, one pinning the offsets with a static_assert, and obSCEne's hardware sweep confirms it. Laying out a container is format knowledge; finding a shader's registers in its bytecode is what a compiler knows.

Rejected: