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