Class CallableCache

Class Documentation

class CallableCache

Public Types

typedef bool (*SortFunction)(Callable const &lhs, Callable const &rhs)
typedef void (*EnumerateCallablesCallback)(Callable *callable, void *userData)
typedef void (*EnumerateCallablesCallbackEx)(Callable *callable, uint64_t callableIndex, void *userData)
using EnumerateCallablesStdFunCallback = std::function<void(Callable *callable, uint64_t callableIndex)>

Public Functions

CallableCache()
CallableCache(CallableCache &&other)
CallableCache(CallableCache const &other)
~CallableCache()
CallableCache &operator=(CallableCache const &other)
Callable *operator[](uint64_t index)
Callable const *operator[](uint64_t index) const
void Add(Callable &&callable)
void Reserve(size_t capacity)
void Clear()
void Sort(SortFunction sortFunction)
void EnumerateCallables(EnumerateCallablesCallback callback, void *userData)
void EnumerateCallables(EnumerateCallablesCallbackEx callback, void *userData)
void EnumerateCallables(EnumerateCallablesStdFunCallback callback)
Callable const &PeekFront() const
Callable const &PeekBack() const
size_t CallableCount() const
detail::Span<Callable> GetCallables()
void SetProcessedInGPUOrder(bool val)
bool IsProcessedInGPUOrder() const
PrimaryCommandBufferKeyT GetOverrideCommandBufferKeyForSecondaryBuffer(SecondaryCommandBufferKeyT secondaryCommandBufferKey, uint64_t callableIndex)
std::map<SecondaryCommandBufferKeyT, SecondaryCommandBufferMetadata> *ObjectMapKeyOverrides()
const std::set<uint64_t> &GetSecondaryBufferExecutionIndices()
const std::set<uint64_t> &GetCommandBufferSubmissionIndices()
void MarkCachedSetsDirty()
void RecalculateSecondaryBufferExecutionIndices()
void RecalculateCommandBufferSubmissionIndices()

Protected Attributes

bool mIsProcessedInGPUOrder = false
std::vector<Callable> mCallables
std::map<SecondaryCommandBufferKeyT, SecondaryCommandBufferMetadata> mObjectMapKeyOverrides
std::set<uint64_t> mSecondaryCommandBufferExecutionIndices
bool mIsDirtySecondaryCommandBufferExecutionsSet = true
std::set<uint64_t> mCommandBufferSubmissionIndices
bool mIsDirtyCommandBufferSubmissionsSet = true