核心接口

以下接口在 d3d12.h 中声明。

在本节中

主题 说明
ID3D12CommandAllocator 表示图形处理单元 (GPU) 命令的存储分配。
ID3D12CommandList ID3D12GraphicsCommandList 从中继承的接口。 它表示 GPU 执行的一组有序命令,同时允许扩展支持其他命令列表,而不仅仅是图形 (命令列表,例如计算和复制) 。
ID3D12CommandQueue 提供用于提交命令列表、同步命令列表执行、检测命令队列和更新资源磁贴映射的方法。
ID3D12CommandSignature 命令签名对象使应用能够指定间接绘图,包括要使用的缓冲区格式、命令类型和资源绑定。
ID3D12DescriptorHeap 描述符堆是描述符的连续分配的集合,每个描述符有一个分配。 描述符堆包含不属于管道状态对象 (PSO) 的许多对象类型,例如,着色器资源视图 (SRV)、无序访问视图 (UAV)、常量缓冲区视图 (CBV) 和取样器。
ID3D12Device 表示虚拟适配器;它用于创建命令分配器、命令列表、命令队列、围栏、资源、管道状态对象、堆、根签名、采样器和许多资源视图。
ID3D12Device1 表示虚拟适配器,并扩展 ID3D12Device 提供的方法范围。
ID3D12Device2 表示虚拟适配器。 此接口扩展 ID3D12Device1 ,以根据管道状态流说明创建管道状态对象。
ID3D12Device3 表示虚拟适配器。 此接口扩展 ID3D12Device2 以支持在系统内存中创建特殊用途诊断堆,即使出现 GPU 故障或设备删除的情况,这些堆仍会保留。
ID3D12Device4 表示虚拟适配器。 此接口扩展 ID3D12Device3
ID3D12Device5 表示虚拟适配器。 此接口扩展 ID3D12Device4
ID3D12Device6 表示虚拟适配器。 此接口扩展 ID3D12Device5
ID3D12Device7 表示虚拟适配器。 此接口扩展 ID3D12Device6
ID3D12Device8 表示虚拟适配器。 此接口扩展 ID3D12Device7
ID3D12Device9 表示虚拟适配器。 此接口扩展 ID3D12Device8 以添加用于管理着色器缓存的方法。
ID3D12Device10 表示虚拟适配器。
ID3D12DeviceChild 其他核心接口从中继承的接口,包括 ID3D12PipelineLibraryID3D12CommandListID3D12PageableID3D12RootSignature。 它提供了一个方法,用于返回到创建它所针对的设备对象。
ID3D12DeviceRemovedExtendedData 提供对设备删除的扩展数据的运行时访问 (DRED) 数据。
ID3D12DeviceRemovedExtendedDataSettings 此接口控制设备删除的扩展数据 (DRED) 设置。
ID3D12Fence 表示围栏、用于同步 CPU 的对象以及一个或多个 GPU。
ID3D12Fence1 表示围栏。 此接口扩展 ID3D12Fence,并支持检索用于创建原始围栏的标志。
ID3D12GraphicsCommandList 封装用于呈现的图形命令列表。 包括用于检测命令列表执行的 API,以及用于设置和清除管道状态的 API。
ID3D12GraphicsCommandList1 封装用于呈现的图形命令列表、扩展内表面以支持可编程的样本位置、用于实现后期闩锁技术的原子副本以及可选的深度边界测试。
ID3D12GraphicsCommandList2 封装用于呈现的图形命令列表,扩展接口以支持将直接值写入缓冲区。
ID3D12GraphicsCommandList3 封装用于呈现的图形命令列表。
ID3D12GraphicsCommandList4 封装用于呈现的图形命令列表,扩展接口以支持光线跟踪和呈现通道。
ID3D12GraphicsCommandList7 TBD
ID3D12Heap 堆是连续内存分配的抽象,用于管理物理内存。 此堆可以与 ID3D12Resource 对象一起使用,以支持放置的资源或保留的资源。
ID3D12LifetimeOwner 表示应用程序定义的回调,用于通知对象的生存期更改。
ID3D12LifetimeTracker 表示用于控制生存期跟踪对象的生存期的设施。
ID3D12MetaCommand 表示元命令。 元命令是 Direct3D 12 对象,表示由独立硬件供应商 (IHV) 加速的算法。 它是对驱动程序实现的命令生成器的不透明引用。
ID3D12Object ID3D12DeviceID3D12DeviceChild 从中继承的接口。 它提供用于关联私有数据和批注对象名称的方法。
ID3D12Pageable 许多其他核心接口从中继承的接口。 它指示对象类型封装了一定数量的 GPU 可访问内存;但不强烈指示应用程序是否可以操作对象的驻留。
ID3D12PipelineLibrary 管理管道库,特别是加载和检索单个 PSO。
ID3D12PipelineLibrary1 管理管道库。 此接口扩展 ID3D12PipelineLibrary ,以从管道状态流说明加载 PSO。
ID3D12PipelineState 表示所有当前设置的着色器以及某些固定函数状态对象的状态。
ID3D12QueryHeap 管理查询堆。 查询堆保存由索引引用的查询数组。
ID3D12Resource 封装 CPU 和 GPU 的通用功能,以便读取和写入物理内存或堆。 它包含用于组织和操作简单数据数组的抽象,以及针对着色器采样优化的多维数据。
ID3D12RootSignature 根签名定义绑定到图形管道的资源。 根签名由应用配置,并将命令列表链接到着色器所需的资源。 目前,每个应用都有一个图形和一个计算根签名。
ID3D12RootSignatureDeserializer 包含一个方法,用于返回序列化根签名版本 1.0 的反序列化的 D3D12-ROOT-SIGNATURE-DESC 数据结构。
ID3D12SDKConfiguration 提供 SDK 配置方法。
ID3D12ShaderCacheSession 表示着色器缓存会话。
ID3D12StateObject 表示应用程序作为单个单元进行管理的可变配置状态(包括着色器)量,并将其以原子方式提供给驱动程序进行处理,例如编译或优化。
ID3D12StateObjectProperties 提供用于获取和设置 ID3D12StateObject 属性的方法。
ID3D12Tools 此接口用于为 PIX 等工具配置运行时。 它不打算用于任何其他方案或不受支持。
ID3D12VersionedRootSignatureDeserializer 包含用于返回序列化根签名的任何版本的反序列化 的 D3D12-ROOT-SIGNATURE-DESC1 数据结构的方法。
ID3D12VirtualizationGuestDevice TBD