struct TlsGuardPersist
Defined at line 955 of file ../../third_party/Vulkan-ValidationLayers/src/layers/containers/custom_containers.h
Helper for thread local Validate -> Record phase data
Define T unique to each entrypoint which will persist data
Use only in with singleton (leaf) validation objects
State machine transition state changes of payload relative to TlsGuard object lifecycle:
State INIT: bool(payload_)
State RESET: NOT bool(payload_)
* PreCallValidate* phase
* Initialized with skip (in PreCallValidate*)
* RESET -> INIT
* Destruct with skip == true
* INIT -> RESET
* PreCallRecord* phase (optional IF PostCallRecord present)
* Initialized w/o skip (set "persist_" IFF PostCallRecord present)
* Must be in state INIT
* Destruct with NOT persist_
* INIT -> RESET
* PreCallRecord* phase (optional IF PreCallRecord present)
* Initialized w/o skip ("persist_" *must be false)
* Must be in state INIT
* Destruct
* INIT -> RESET