Template Class RangeRepeatCacheVKInternal

Inheritance Relationships

Base Type

  • public BaseClass

Derived Types

Class Documentation

template<class BaseClass>
class RangeRepeatCacheVKInternal : public BaseClass

Subclassed by gpa::playback::repeat::vulkan::RangeRepeatCacheVkCommandBuffer, gpa::playback::repeat::vulkan::RangeRepeatCacheVkInstance, gpa::playback::repeat::vulkan::RangeRepeatCacheVkQueue

Public Types

typedef std::shared_ptr<RangeRepeatCacheVKInternal<BaseClass>> Ptr

Public Functions

inline RangeRepeatCacheVKInternal(VkObjectType objectType, void *object, uint64_t captureKey, Context *pContext, Callable *pCallable)
inline virtual ~RangeRepeatCacheVKInternal() override
inline virtual void OnRangeEnter(GPADispatchTable const*&) override
inline virtual void OnRangeRepeatRecreateObject(GPADispatchTable const *&pDispatchTable, uint64_t repeatPass)
inline virtual void OnRangeRepeatDestroyObject(GPADispatchTable const *&table, uint64_t repeatPass) override
inline virtual void OnRangeRepeatRestoreState(GPADispatchTable const *&pDispatchTable, uint64_t repeatPass)
inline virtual void OnRangeExit(GPADispatchTable const *&pDispatchTable)
inline uint32_t GetCreationCallFunToken() const
inline playback::Callable const &GetCreationCallable() const
inline uint64_t GetParentHandle()

Protected Functions

inline bool RangeEntered()
inline bool ObjectRecreatedInThisPass(uint64_t pass)
inline bool StateRestoredInThisPass(uint64_t pass)

Protected Attributes

uint64_t mLastRecreateObjectPass = {UINT64_MAX}
uint64_t mLastRestoreStatePass = {UINT64_MAX}
uint64_t mParentHandle = {}

Protected Static Functions

static inline std::vector<GvkStateTrackedObject> &GetObjectsMarkedForDestruction()
static inline void MarkObjectForDestruction(GvkStateTrackedObject const &stateTrackedObject)