12 D3D12_DESCRIPTOR_HEAP_TYPE
type,
13 unsigned int numDescriptors,
14 D3D12_DESCRIPTOR_HEAP_FLAGS
flags) {
15 D3D12_DESCRIPTOR_HEAP_DESC heapDesc = {};
17 heapDesc.NumDescriptors = numDescriptors;
18 heapDesc.Flags =
flags;
20 ID3D12DescriptorHeap* heap;
21 gpu->
device()->CreateDescriptorHeap(&heapDesc, IID_PPV_ARGS(&heap));
23 return std::unique_ptr<GrD3DDescriptorHeap>(
25 gpu->
device()->GetDescriptorHandleIncrementSize(
type)));
29 unsigned int handleIncrementSize)
31 , fHandleIncrementSize(handleIncrementSize)
32 , fUniqueID(GenID()) {
38 SkASSERT(index < fHeap->GetDesc().NumDescriptors);
45 SkASSERT(index < fHeap->GetDesc().NumDescriptors);
D3D12_GPU_DESCRIPTOR_HANDLE fGPUHeapStart
GPUHandle getGPUHandle(unsigned int index)
gr_cp< ID3D12DescriptorHeap > fHeap
CPUHandle getCPUHandle(unsigned int index)
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
ID3D12Device * device() const
FlutterSemanticsFlag flags