Class D3D12DescriptorHeapState
Defined in File d3d12-descriptorheap.h
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public gpa::d3d12_state_tracker::ObjectState< ID3D12Object >
(Template Class ObjectState)
Class Documentation
-
class D3D12DescriptorHeapState : public gpa::d3d12_state_tracker::ObjectState<ID3D12Object>
Public Functions
-
D3D12DescriptorHeapState(ID3D12DescriptorHeap *pHeap, const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, uint32_t uniqueSequentialID)
-
virtual GUID GetGUID() override
-
D3D12_DESCRIPTOR_HEAP_TYPE GetType() const
Returns descriptor heap type.
-
uint32_t GetUniqueID() const
Returns descriptor heaps unique ID.
-
UINT GetIncrementSize() const
Returns size of single descriptor of this heap.
-
D3D12_CPU_DESCRIPTOR_HANDLE GetCPUHandle() const
Returns CPU handle for heap start.
-
bool CPUHandleObtained() const
Tells if the workoad obtained CPU handle for this descriptor heap.
-
void CPUHandleObtained(bool val)
-
D3D12_GPU_DESCRIPTOR_HANDLE GetGPUHandle() const
Returns GPU handle for heap start.
-
bool GPUHandleObtained() const
Tells if the workoad obtained CPU handle for this descriptor heap.
-
void GPUHandleObtained(bool val)
-
uint64_t GetCPUHandle(DX12Descriptor const &descriptor) const
Returns CPU handle for given descriptor.
-
std::vector<DX12Descriptor>::iterator GetDescriptor(uint64_t cpuHandle)
Returns iterator to the descriptor on this heap by cpu handle.
-
size_t GetDescriptorCount() const
Returns number of descriptors in the heap.
-
std::vector<DX12Descriptor>::iterator begin()
For range-based for.
-
std::vector<DX12Descriptor>::iterator end()
Public Static Attributes
-
static constexpr GUID sGUID = {0x6f61b7b, 0xba75, 0x4782, {0xa7, 0x1e, 0xb6, 0x24, 0xd3, 0x76, 0xad, 0x71}}
Protected Functions
-
DX12Descriptor *GetDescriptors()
Returns pointer to descriptor vector contents.
-
struct CopyCollection
Interface for copying descriptors.
Public Functions
-
CopyCollection(UINT NumDescriptorRanges, const D3D12_CPU_DESCRIPTOR_HANDLE *pDescriptorRangeStarts, const UINT *pDescriptorRangeSizes, D3D12_DESCRIPTOR_HEAP_TYPE type)
-
void OnNewRange(D3D12_CPU_DESCRIPTOR_HANDLE rangeStart)
-
gpa::d3d12_state_tracker::DX12Descriptor &Current()
-
bool Proceed()
Public Members
-
uint32_t mNumDescriptorRanges
-
D3D12_CPU_DESCRIPTOR_HANDLE const *mpDescriptorRangeStarts
-
uint32_t const *mpDescriptorRangeSizes
-
D3D12_DESCRIPTOR_HEAP_TYPE mType
-
uint32_t mCurrDescriptorRangeIndex = 0
-
uint32_t mCurrDescriptorIndexInCurrRange = 0
-
uint32_t mCurrentRangeHeapIndex = UINT32_MAX
-
uint32_t mCurrentRangeBaseDescriptorIndex = UINT32_MAX
-
gpa::d3d12_state_tracker::DX12Descriptor *mCurrentRangeDescriptorHeapContents = nullptr
-
uint32_t mCurrentHeapTypeIncrementSize = UINT32_MAX
-
CopyCollection(UINT NumDescriptorRanges, const D3D12_CPU_DESCRIPTOR_HANDLE *pDescriptorRangeStarts, const UINT *pDescriptorRangeSizes, D3D12_DESCRIPTOR_HEAP_TYPE type)
-
D3D12DescriptorHeapState(ID3D12DescriptorHeap *pHeap, const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc, uint32_t uniqueSequentialID)