1.0 KiB
ADR-0005: Versioned resource lifecycle and host present model
- Status: accepted
- Date: 2026-07-17
Decision
API version 2 includes opaque contexts, surfaces, and textures, plus sized
descriptors for texture upload and present. Context destruction returns
RESOURCE_BUSY while child handles exist. The version-1 chimera_gfx_destroy
symbol remains as a void compatibility wrapper for childless contexts. The
mock backend implements the complete ownership model in host memory and records
deterministic present serials and content hashes.
The mock present is a state transition, not a graphical operation. It creates
no window, accesses no display, and advertises both NON_RENDERING and
HOST_TEST_ONLY. The PS5 backend is a separate compiled unit that refuses
context creation with SAFETY_POLICY.
Consequences
Adapter work can compile and test lifecycle assumptions before a hardware ABI exists. Future backends must preserve validation and cleanup semantics, but must not inherit mock capabilities without evidence.