Publish Chimera GFX source
phase0-ci / build-and-audit (push) Successful in 2m14s

This commit is contained in:
Chimera GFX release export
2026-09-03 03:27:14 +02:00
commit a6037502d7
828 changed files with 100454 additions and 0 deletions
@@ -0,0 +1,74 @@
# Phase 1.0P VideoOut submit analysis
Phase 1.0P is an offline postmortem of the consumed Phase-1.0O run. It adds no
target source or artifact and performs no device action. The exact runtime
evidence remains the M artifact (1,845,208 bytes, SHA-256
`c99a0856309a357ad2667d89b4924e4063ad214cae09c8a419457b0732f583cd`)
and the ignored O trace (18,031 bytes, SHA-256
`3d0b8811ae11f5cac2c2d331e252e1789a10588cab0e6045828a6b6af0fe1eb6`).
## Proven call boundary
The exact linked SDL overlay source has SHA-256
`9949a280fed40241746788a8c001280455bc629e0566a88f82f16a8634d43025`.
Its linker map has SHA-256
`6768ffc7267b9b362c3b953571e5dfeed1e70004a3e19f41ef500c3f26272719`
and locates `PS5_VideoInit` at `0xfdc20` and
`PS5_PresentEarlyDiagnosticFrame` at `0xfe560`.
Disassembly of the exact M ELF proves that the indirect call at `0xfe7bc`
loads the VideoOut handle into `edi`, zero into `esi`, one into `edx`, and
zero into `ecx`. The corresponding GOT slot is `0x1779b0`. The code tests
`eax` and, on failure, reads `errno` before emitting D07. The O trace therefore
binds the following facts across source, map, disassembly and runtime:
- `sceVideoOutOpen` returned positive handle `0x4e100100`;
- `sceVideoOutRegisterBuffers2(handle, 0, 0, buffers, 2, attr, 0, NULL)`
returned `0`;
- the diagnostic copied pixels into registered buffer zero;
- `sceVideoOutSubmitFlip(handle, 0, 1, 0)` returned `-1`;
- the immediately saved `errno` was `0`;
- no flip-event wait followed the failed submit.
The unmodified public SDL source at commit
`0baf4ac49382b537ba449901b5b6d0d189bb1fbb` also starts `frame_id` at zero,
uses `idx = frame_id % 2`, and calls the same tuple on its first normal frame.
The earlier diagnostic-versus-normal first-index mismatch has therefore been
eliminated and cannot explain the O result.
## Evidence limits
SDK v0.41 commit `d2e2e585740362976a39fdd5ccf390f199a7bc37` exports symbol stubs,
but supplies no public VideoOut prototypes, structures, constants or return
semantics. The SDL fork is the only local public source for the prototype,
the 32-byte buffer descriptor, the opaque 80-byte attribute object and the
format constant `0x8000000022000000`. Buffer registration returning zero is
useful runtime evidence, but it does not independently validate those opaque
semantics.
| Question | Classification | Reason |
|---|---|---|
| exact failure site | PROVEN | source/map/disassembly plus D07 |
| raw submit return | PROVEN | D07 is `-1` |
| useful errno identity | ABSENT | saved value is `0` |
| frame-zero difference from normal path | REJECTED_CURRENT_CAUSE | both paths now use zero |
| buffer-zero validity | UNPROVEN | consistent with source, not independently specified |
| flip-mode value `1` | UNPROVEN | no local public semantic definition |
| frame-ID zero validity | UNPROVEN | used by SDL, not independently specified |
| buffer attribute/layout semantics | UNPROVEN | opaque fork-local declaration |
| flip-master or active-app ownership | UNPROVEN | export names are not callable ABI evidence |
| visible presentation or cleanup | UNPROVEN | no successful submit or terminal proof |
Calling `sceVideoOutSetFlipMaster`, a status query, or changing a submit
argument based only on an export name would be an ABI guess. Phase 1.0P does
not authorize or recommend such a change. Its decision is
`VIDEOOUT_SUBMIT_FAILURE_SITE_PROVEN_ROOT_CAUSE_UNRESOLVED`.
## Safe continuation gate
Before another target artifact is designed, acceptable public evidence must
define the relevant VideoOut signature, arguments, structure layouts, return
codes and required ownership/state. If that evidence cannot be obtained, the
hardware path remains fail-closed. A later artifact also needs a corrected
terminal protocol, separately audited and separately authorized before any
device action.