Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Core Interfaces

The following interfaces are declared in d3d12.h.

In this section

TopicDescription

ID3D12CommandAllocator

Represents the allocations of storage for graphics processing unit (GPU) commands.

ID3D12CommandList

An interface from which ID3D12GraphicsCommandList inherits from. It represents an ordered set of commands that the GPU executes, while allowing for extension to support other command lists than just those for graphics (such as compute and copy).

ID3D12CommandQueue

Provides methods for submitting command lists, synchronizing command list execution, instrumenting the command queue, and updating resource tile mappings.

ID3D12CommandSignature

A command signature object enables apps to specify indirect drawing, including the buffer format, command type and resource bindings to be used.

ID3D12DescriptorHeap

A descriptor heap is a collection of contiguous allocations of descriptors, one allocation for every descriptor. Descriptor heaps contain many object types that are not part of a Pipeline State Object (PSO), such as Shader Resource Views (SRVs), Unordered Access Views (UAVs), Constant Buffer Views (CBVs), and Samplers.

ID3D12Device

Represents a virtual adapter; it is used to create command allocators, command lists, command queues, fences, resources, pipeline state objects, heaps, root signatures, samplers, and many resource views.

ID3D12Device1

Represents a virtual adapter, and expands on the range of methods provided by ID3D12Device.

ID3D12Device2

Represents a virtual adapter. This interface extends ID3D12Device1 to create pipeline state objects from pipeline state stream descriptions.

ID3D12DeviceChild

An interface from which other core interfaces inherit from, including ID3D12PipelineLibrary, ID3D12CommandList, ID3D12Pageable, and ID3D12RootSignature. It provides a method to get back to the device object it was created against.

ID3D12Fence

Represents a fence, an object used for synchronization of the CPU and one or more GPUs.

ID3D12GraphicsCommandList

Encapsulates a list of graphics commands for rendering. Includes APIs for instrumenting the command list execution, and for setting and clearing the pipeline state.

ID3D12GraphicsCommandList1

Encapsulates a list of graphics commands for rendering, extending the inteface to support programmable sample positions, atomic copies for implementing late-latch techniques, and optional depth-bounds testing.

ID3D12Heap

A heap is an abstraction of contiguous memory allocation, used to manage physical memory. This heap can be used with ID3D12Resource objects to support placed resources or reserved resources.

ID3D12Object

An interface from which ID3D12Device and ID3D12DeviceChild inherit from. It provides methods to associate private data and annotate object names.

ID3D12Pageable

An interface from which many other core interfaces inherit from. It indicates that the object type encapsulates some amount of GPU-accessible memory; but does not strongly indicate whether the application can manipulate the object's residency.

ID3D12PipelineLibrary

Manages a pipeline library, in particular loading and retrieving individual PSOs.

ID3D12PipelineLibrary1

Manages a pipeline library. This interface extends ID3D12PipelineLibrary to load PSOs from a pipeline state stream description.

ID3D12PipelineState

Represents the state of all currently set shaders as well as certain fixed function state objects.

ID3D12QueryHeap

Manages a query heap. A query heap holds an array of queries, referenced by indexes.

ID3D12Resource

Encapsulates a generalized ability of the CPU and GPU to read and write to physical memory, or heaps. It contains abstractions for organizing and manipulating simple arrays of data as well as multidimensional data optimized for shader sampling.

ID3D12RootSignature

The root signature defines what resources are bound to the graphics pipeline. A root signature is configured by the app and links command lists to the resources the shaders require. Currently, there is one graphics and one compute root signature per app.

ID3D12RootSignatureDeserializer

Contains a method to return the deserialized D3D12_ROOT_SIGNATURE_DESC data structure, of a serialized root signature version 1.0.

ID3D12Tools

This interface is used to configure the runtime for tools such as PIX. Its not intended or supported for any other scenario.

ID3D12VersionedRootSignatureDeserializer

Contains methods to return the deserialized D3D12_ROOT_SIGNATURE_DESC1 data structure, of any version of a serialized root signature.

 

Related topics

Core Reference
Direct3D 12 Reference
Interface Hierarchy

 

 

Show:
© 2017 Microsoft