Direct3D 12 中的新增功能
本主题介绍可用于各种版本的最重要的新 Direct3D 12 文档。
有关获取和安装 Direct3D 的信息,请参阅 Direct3D 12 编程环境设置。
Windows 11 上的 Direct3D 12
- DirectX Ultimate 又名 D3D_FEATURE_LEVEL_12_2。
- HLSL 着色器模型 6.6
- ID3D12Device9 接口及其方法。
另请参阅 DirectX Agility SDK 1.4。
Windows 10 2020 年 5 月更新
这些功能和 API 已针对 Windows 10 版本 2004 (10.0 添加或更新;内部版本 19041) ,也称为 Windows 10 2020 年 5 月更新。
- ID3D12Device7 接口及其方法。
- ID3D12Device8 接口及其方法。
- HLSL 着色器模型 6.5 功能:Direct3D 12 光线跟踪 (DXR) Tier 1.1、网格&放大着色器和采样器反馈。
- D3D12_HEAP_FLAGS枚举已更新,添加了 D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT 和 D3D12_HEAP_FLAG_CREATE_NOT_ZEROED。 请参阅 对内存分配的更多控制。
- D3D_SHADER_MODEL枚举已更新为添加D3D_SHADER_MODEL_6_6常量 (实验级功能) 。
Windows 7 上的 Direct3D 12
- 基于 Windows 7 的 Direct3D 12 现在可供开发人员使用。
Windows 10 2019 年 5 月更新
这些功能和 API 已针对 Windows 10 版本 1903 (10.0 添加或更新;内部版本 18362) ,也称为Windows 10 2019 年 5 月更新。
- 可变速率着色 (VRS) 。 允许以因渲染图像而异的速率分配渲染性能/功率。
- HLSL 着色器模型 6.4。 介绍添加到 HLSL 着色器模型 6.4 中的机器学习内部函数。
- D3D12_DRED_VERSION 枚举。 定义常量,这些常量指定设备删除的扩展数据 (DRED) 的版本。
- D3D12_FEATURE_DATA_D3D12_OPTIONS6 结构。 指示适配器为元命令提供的支持级别。
- D3D12_FEATURE_DATA_QUERY_META_COMMAND 结构。 指示适配器为元命令提供的支持级别。
- D3D12_VARIABLE_SHADING_RATE_TIER 枚举。 定义常量,用于指定可变速率着色或 VRS) (着色速率层。
- ID3D12Device6 接口及其方法。 用于设置驱动程序后台处理优化的模式。 另请参阅 背景着色器优化。
- ID3D12DeviceRemovedExtendedData 接口及其方法。 提供对设备删除的扩展数据 (DRED) 数据的运行时访问。
- ID3D12DeviceRemovedExtendedDataSettings 接口及其方法。 控制设备删除的扩展数据 (DRED) 设置。
- D3D12GraphicsCommandList5 接口及其方法。 支持可变速率着色 (VRS) 。
D3D_SHADER_MODEL 枚举已更新,D3D_SHADER_MODEL_6_5常量 (实验级功能) 。
已使用添加 D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE 常量更新 了 D3D12_COMMAND_LIST_TYPE 枚举。
D3D12_FEATURE枚举已更新,添加了D3D12_FEATURE_D3D12_OPTIONS6和D3D12_FEATURE_QUERY_META_COMMAND常量。
D3D12_RESOURCE_STATES 枚举已使用添加 D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE 常量进行更新。
Windows 10 版本 1809
为 Windows 10 版本 1809 (10.0 添加或更新了这些功能和 API;内部版本 17763) ,也称为Windows 10 2018 年 10 月更新。
- 使用 HLSL 着色器模型 6.3 的 Direct3D 12 光线追踪。
- Direct3D 12 呈现通道
- ID3D12Device5 接口及其方法。
Windows 10 版本 1803
这些功能和 API 已针对 Windows 10 版本 1803 (10.0 添加或更新;内部版本 17134) ,也称为 2018 年 4 月更新Windows 10。
- ID3D12Device4 接口及其方法。
Windows 10 版本 1709
下列接口已添加到 Windows 10 版本 1709 的 Direct3D 文档中。
- ID3D12Fence1 通过支持检索传入的标志来创建围栏,扩展了创建围栏的功能。
- ID3D12GraphicsCommandList2 通过支持将即时值直接写入缓冲区,扩展了可用图形命令列表。
- ID3D12Device3 通过在系统内存中创建特殊用途的诊断堆来扩展虚拟适配器功能,这些诊断堆即使在出现 GPU 故障或设备被删除的情况下也能保留。
D3D_SHADER_MODEL 枚举添加了一个新的 D3D_SHADER_MODEL_6_1 值来描述着色器模型 6.1。
D3D12_FEATURE 枚举还具有新的D3D12_FEATURE_D3D12_OPTIONS3和D3D12_FEATURE_EXISTING_HEAPS值。 顾名思义,通过这些值可查看其他 Direct3D12 选项以及现有堆的支持。
Windows 10 版本 1703
以下主题已添加到 Windows 10 版本 1703 的 Direct3D 文档中。
- ID3D12Device2::CreatePipelineState 方法和 D3D12_Pipeline_State_Stream_Desc 结构表示创建 PSO 的全新且更可靠的方法,并统一了用于创建图形和计算管道的内层。
- ID3D12Device1::CreatePipelineLibrary1 方法扩展管道库接口以接受使用新的统一D3D12_Pipeline_State_Stream_Desc结构创建的 PSO。
- D3D12EnableExperimentalFeatures 函数让开发人员能够使用开发人员模式中的计算机来体验某些开发中的功能。
- 有 5 个新接口(请参阅接口层次结构):
- 请参阅 HLSL 着色器模型 6.0 概述,其中介绍了多线程像素和计算着色器的批次内部操作。
- ID3D12Device::SetStablePowerState 的使用已更改。
- 在 Direct3D 11.4 功能中描述了 Direct3D 11 的一些新功能。
- AtomicCopyBufferUINT 和 AtomicCopyBufferUINT64 实现了延迟锁存来降低出现的延迟。
- ID3D12Device2::CreatePipelineState 和 OMSetDepthBounds 在支持的硬件上实现了。
- ResolveSubresourceRegion 实现了子资源的部分解析,以帮助优化性能。
- SetSamplePositions 在支持的硬件上实现了可编程的示例位置。
2016 年 11 月文档更新
- 修订了 ID3D12GraphicsCommandList::DiscardResource 的备注。
- 阐述了“状态衰减至常见”(请参阅在 Direct3D 12 中使用资源屏障同步资源状态)。
- 可直接通过 D3D12 帮助程序库下载在 D3D12 的帮助程序结构和函数中引用的 D3dx12.h 头文件。
2016 年 8 月文档更新 2
新增了名为了解 D3D12 调试层的指南部分。
下面介绍了预览模式下 () 的三个新调试层接口: ID3D12Debug1、 ID3D12DebugCommandList1、 ID3D12DebugDevice1。
2016 年 8 月文档更新 1
- 修订了 在 Direct3D 12 中使用资源屏障同步资源状态。
- 多队列资源访问的修订。
Windows 10 版本 1607
以下主题已添加到 Windows 10 版本 1607 的 Direct3D 文档中。
- 根签名版本 1.1:概述了更新后的根签名,它们使应用能够指定静态或易失性描述符和数据的方式,这有助于图形驱动程序优化。
- ID3D12Device1::CreatePipelineLibrary 方法描述了创建管道库的优势。
- 有 3 个新接口(请参阅接口层次结构):
- 请参阅 HLSL 着色器模型 6.0 概述,其中介绍了多线程像素和计算着色器的批次内部操作。
- ID3D12Device::SetStablePowerState 的使用已更改。
- 在 Direct3D 11.4 功能中描述了 Direct3D 11 的一些新功能。
- Direct3D 12 支持的库范围已更新,请参阅 Direct3D 12 编程环境设置的“支持的工具和库”部分。
- 使用具有高动态范围显示的 DirectX 和高级颜色
- 显示变量刷新频率
- DXGI 1.5 改进