8#ifndef GrD3DDescriptorHeap_DEFINED
9#define GrD3DDescriptorHeap_DEFINED
19 static std::unique_ptr<GrD3DDescriptorHeap>
Make(
GrD3DGpu* gpu, D3D12_DESCRIPTOR_HEAP_TYPE,
20 unsigned int numDescriptors,
21 D3D12_DESCRIPTOR_HEAP_FLAGS);
45 SkASSERT(index < fHeap->GetDesc().NumDescriptors);
53 SkASSERT(index < fHeap->GetDesc().NumDescriptors);
62 static std::atomic<uint32_t> nextID{1};
static constexpr uint32_t SK_InvalidUniqueID
D3D12_GPU_DESCRIPTOR_HANDLE fGPUHeapStart
size_t handleIncrementSize()
~GrD3DDescriptorHeap()=default
size_t getIndex(const GPUHandle &handle)
size_t getIndex(const CPUHandle &handle)
GPUHandle getGPUHandle(unsigned int index)
ID3D12DescriptorHeap * descriptorHeap() const
gr_cp< ID3D12DescriptorHeap > fHeap
CPUHandle getCPUHandle(unsigned int index)
uint32_t uniqueID() const
GrD3DDescriptorHeap(const gr_cp< ID3D12DescriptorHeap > &, unsigned int handleIncrementSize)
static std::unique_ptr< GrD3DDescriptorHeap > Make(GrD3DGpu *gpu, D3D12_DESCRIPTOR_HEAP_TYPE, unsigned int numDescriptors, D3D12_DESCRIPTOR_HEAP_FLAGS)
D3D12_CPU_DESCRIPTOR_HANDLE fCPUHeapStart
size_t fHandleIncrementSize
D3D12_CPU_DESCRIPTOR_HANDLE fHandle
D3D12_GPU_DESCRIPTOR_HANDLE fHandle