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::RangeRepeatCacheVkBuffer, gpa::playback::repeat::vulkan::RangeRepeatCacheVkBufferView, gpa::playback::repeat::vulkan::RangeRepeatCacheVkCommandBuffer, gpa::playback::repeat::vulkan::RangeRepeatCacheVkDescriptorPool, gpa::playback::repeat::vulkan::RangeRepeatCacheVkDescriptorSet, gpa::playback::repeat::vulkan::RangeRepeatCacheVkDeviceMemory, gpa::playback::repeat::vulkan::RangeRepeatCacheVkFence, gpa::playback::repeat::vulkan::RangeRepeatCacheVkFramebuffer, gpa::playback::repeat::vulkan::RangeRepeatCacheVkImage, gpa::playback::repeat::vulkan::RangeRepeatCacheVkImageView, gpa::playback::repeat::vulkan::RangeRepeatCacheVkQueue, gpa::playback::repeat::vulkan::RangeRepeatCacheVkSemaphore, gpa::playback::repeat::vulkan::RangeRepeatCacheVkSwapChain

Public Types

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

Public Functions

inline RangeRepeatCacheVKInternal(void *object, uint64_t captureKey, playback::Context *context, playback::Callable *callable)
inline virtual ~RangeRepeatCacheVKInternal()
inline virtual void OnRangeEnter(GPADispatchTable const*&)
inline virtual void OnRangeRepeatRecreateObject(GPADispatchTable const *&table, uint64_t repeatPass)
inline virtual void OnRangeRepeatRestoreState(GPADispatchTable const*&, uint64_t repeatPass)
inline virtual void OnRangeExit(GPADispatchTable const*&)
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 = 0