Nameless Engine
Loading...
Searching...
No Matches
ne::ContinuousDirectXDescriptorRange::InternalData Struct Reference

Public Attributes

std::unordered_set< DirectXDescriptor * > allocatedDescriptors
 
std::queue< INT > noLongerUsedDescriptorIndices
 
INT iRangeStartInHeap = -1
 
INT iRangeCapacity = 0
 
INT iNextFreeIndexInRange = 0
 

Detailed Description

Groups mutex guarded data.

Member Data Documentation

◆ allocatedDescriptors

std::unordered_set<DirectXDescriptor*> ne::ContinuousDirectXDescriptorRange::InternalData::allocatedDescriptors

Descriptors allocated from this range.

Remarks
Size of this set defines range size (actually used descriptor count).
It's safe to store raw pointers here because descriptor in its destructor will notify the range.

◆ iNextFreeIndexInRange

INT ne::ContinuousDirectXDescriptorRange::InternalData::iNextFreeIndexInRange = 0

Index of the next free descriptor (relative to the range start iRangeStartInHeap) that can be used.

Remarks
Once this value is equal to iRangeCapacity we will use noLongerUsedDescriptorIndices to see if any old descriptors were released and no longer being used.

◆ iRangeCapacity

INT ne::ContinuousDirectXDescriptorRange::InternalData::iRangeCapacity = 0

Current range capacity.

◆ iRangeStartInHeap

INT ne::ContinuousDirectXDescriptorRange::InternalData::iRangeStartInHeap = -1

Index of the first descriptor of this range in the heap.

Remarks
-1 means that no space was reserved (i.e. not initialized), this is used to determine if we should call the notification callback or not.

◆ noLongerUsedDescriptorIndices

std::queue<INT> ne::ContinuousDirectXDescriptorRange::InternalData::noLongerUsedDescriptorIndices

Indices (relative to heap start) of descriptors that were created but no longer being used.


The documentation for this struct was generated from the following file: