Class D3D12DescriptorHeapState

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

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