DML_BINDING_TABLE_DESC structure (directml.h)

Specifies parameters to IDMLDevice::CreateBindingTable and IDMLBindingTable::Reset.

Syntax

struct DML_BINDING_TABLE_DESC {
  IDMLDispatchable            *Dispatchable;
  D3D12_CPU_DESCRIPTOR_HANDLE CPUDescriptorHandle;
  D3D12_GPU_DESCRIPTOR_HANDLE GPUDescriptorHandle;
  UINT                        SizeInDescriptors;
};

Members

Dispatchable

Type: IDMLDispatchable*

A pointer to an IDMLDispatchable interface representing the dispatchable object (an operator initializer, or a compiled operator) for which this binding table will represent the bindings—either an IDMLCompiledOperator or an IDMLOperatorInitializer. The binding table maintains a strong reference to this interface pointer. This value may not be null.

CPUDescriptorHandle

Type: D3D12_CPU_DESCRIPTOR_HANDLE

A valid CPU descriptor handle representing the start of a range into a constant buffer view (CBV)/shader resource view (SRV)/ unordered access view (UAV) descriptor heap into which DirectML may write descriptors.

GPUDescriptorHandle

Type: D3D12_GPU_DESCRIPTOR_HANDLE

A valid GPU descriptor handle representing the start of a range into a constant buffer view (CBV)/shader resource view (SRV)/ unordered access view (UAV) descriptor heap that DirectML may use to bind resources to the pipeline.

SizeInDescriptors

Type: UINT

The size of the binding table, in descriptors. This is the maximum number of descriptors that DirectML is permitted to write, from the start of both the supplied CPU and GPU descriptor handles. Call IDMLDispatchable::GetBindingProperties to determine the number of descriptors required to execute a dispatchable object.

Requirements

Requirement Value
Header directml.h

See also

Binding in DirectML