25 lines
1.0 KiB
Markdown
25 lines
1.0 KiB
Markdown
# 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.
|