核心接口
以下接口在 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 | 其他核心接口从中继承的接口,包括 ID3D12PipelineLibrary、 ID3D12CommandList、 ID3D12Pageable 和 ID3D12RootSignature。 它提供了一个方法,用于返回到创建它所针对的设备对象。 |
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 | ID3D12Device 和 ID3D12DeviceChild 从中继承的接口。 它提供用于关联私有数据和批注对象名称的方法。 |
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 |