This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user