本主题介绍可用于各种版本的最重要的新 Direct3D 12 文档。
有关获取和安装 Direct3D 的信息,请参阅 Direct3D 12 编程环境设置。
Windows 11 上的 Direct3D 12
- DirectX Ultimate a.k.a. D3D_FEATURE_LEVEL_12_2。
- HLSL 着色器模型 6.6
- ID3D12Device9 接口及其方法。
另请参阅 DirectX Agility SDK 1.4。
Windows 10 2020 年 5 月更新
为 Windows 10 版本 2004 (10.0; 版本号 19041)(也称为 Windows 10 2020 年 5 月更新)添加或更新了这些功能和 API。
- ID3D12Device7 接口及其方法。
- ID3D12Device8 接口及其方法。
- HLSL 着色器模型 6.5 功能:Direct3D 12 光线跟踪(DXR)层级 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 月更新
为 Windows 10 版本 1903(10.0,内部版本 18362)添加或更新了这些功能和 API,亦称为 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枚举已更新,并添加了D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE常量。
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,内部版本 17763)的功能和 API 添加或更新——也称为 Windows 10 2018 年 10 月更新。
- Direct3D 12 光线跟踪 ,它使用 HLSL 着色器模型 6.3。
- Direct3D 12 渲染通道
- ID3D12Device5 接口及其方法。
Windows 10 版本 1803
为 Windows 10 版本 1803(10.0,内部版本 17134)已添加或更新这些功能和 API,亦称为 Windows 10 2018 年 4 月更新。
- 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 函数允许开发人员在开发人员模式下使用计算机试验某些开发内功能。
- 有五个新接口(请参阅 接口层次结构):
- 请参阅 HLSL 着色器模型 6.0 概述,其中介绍了多线程像素和计算着色器的波内在作。
- ID3D12Device::SetStablePowerState 的使用已更改。
- Direct3D 11 的一些新功能在 Direct3D 11.4 功能中进行了介绍。
- AtomicCopyBufferUINT 和 AtomicCopyBufferUINT64 使 后期闩锁 能够降低感知到的延迟。
- ID3D12Device2::CreatePipelineState 和 OMSetDepthBounds 在受支持的硬件上启用 深度边界测试 。
- ResolveSubresourceRegion 使子资源 的部分解析 有助于优化性能。
- SetSamplePositions 在受支持的硬件上启用 可编程的示例位置 。
2016 年 11 月文档更新
- ID3D12GraphicsCommandList::DiscardResource 备注的修订。
- 关于“状态衰减为常规”的说明(请参阅 在 Direct3D 12 中使用资源屏障同步资源状态)。
- D3dx12.h 头文件(在 D3D12 的帮助程序结构和函数中引用)可以直接从 D3D12 帮助程序库下载。
2016 年 8 月文档更新 2
名为 “了解 D3D12 调试层”的新指南部分。
介绍了三个新的调试层接口(在预览模式下): ID3D12Debug1、 ID3D12DebugCommandList1、 ID3D12DebugDevice1。
2016 年 8 月文档更新 1
Windows 10 版本 1607
这些主题已添加到适用于 Windows 10 版本 1607 的 Direct3D 文档。
- 根签名版本 1.1 :更新的根签名概述,使应用能够指定静态或易失性描述符和数据的方式,这有助于图形驱动程序优化。
- ID3D12Device1::CreatePipelineLibrary 方法描述了创建管道库的优点。
- 有三个新接口(请参阅 接口层次结构):
- 请参阅 HLSL 着色器模型 6.0 概述,其中介绍了多线程像素和计算着色器的波内在作。
- ID3D12Device::SetStablePowerState 的使用已更改。
- Direct3D 11 的一些新功能在 Direct3D 11.4 功能中进行了介绍。
- Direct3D 12 支持的库范围已更新,请参阅 Direct3D 12 编程环境设置支持的工具和库部分。
- 将 DirectX 与高动态范围显示和高级颜色
- 可变刷新率显示
- DXGI 1.5 改进