硬件功能级别

介绍 11_0 到 12_1 硬件功能级别的功能。

若要处理新的或现有计算机中的各类视频卡,Microsoft Direct3D 11 引入了功能级别的概念。 每个视频卡实现某个级别的 Microsoft DirectX (DX) 功能,具体取决于所安装的图形处理单元 (GPU)。 功能级别是明确定义的 GPU 功能的集合。 例如,11_0 功能级别实现在 Direct3D 11 中实现的功能。

现在,在创建设备时,你可以尝试为想要请求的功能级别创建设备。 如果设备创建成功,该功能级别将存在,如果失败,硬件将不支持该功能级别。 你可以尝试在更低的功能级别重新创建设备,也可以选择退出应用程序。

功能级别的基本属性包括:

  • 所有 Direct3D 12 驱动程序都将为功能级别 11_0 或更高。
  • 允许创建设备的 GPU 达到或超过该功能级别的功能。
  • 功能级别始终包括上一个或更低功能级别的功能。
  • 功能级别并不意味着性能,而只是功能。 性能依赖于硬件实现。
  • 调用 D3D12CreateDevice 时将选择功能级别。
  • 有关支持的功能(尤其是下表中标记为“可选”的功能,这意味着硬件可能支持功能,但不是必需的)的更多详细信息,请调用 CheckFeatureSupport

有关在特定功能级别创建非硬件类型的设备的限制的信息,请参阅有关创建 WARP 和引用设备的限制。 有关引入功能级别的详细信息,请参阅 Direct3D 功能级别上的 Direct3D 11 文档。

编号系统

硬件功能级别与 API 版本不同。 例如,有一个 D3D11.3 API,但没有 11_3 硬件功能级别。 功能级别在 D3D_FEATURE_LEVEL 枚举中定义。

有三个不同的编号系统:

  • Direct3D 版本使用句点;例如,Direct3D 12.0。
  • 着色器模型使用句点;例如,着色器模型 5.1。
  • 功能级别使用下划线;例如,功能级别 12_0。

功能级别支持

以下功能可用于每个 Direct3D 功能级别。

首行标题是 Direct3D 功能级别。 左侧列标题是功能。

功能\ 功能级别 12_1⁰ 12_0⁰ 11_1¹ 11_0
着色器模型 6.0 6.0 6.0/5.1² 6.0/5.1²
资源绑定层 Tier2³ Tier2³ Tier1³ Tier1³
平铺资源 Tier2³ Tier2³ 可选 可选
传统型光栅化 Tier1³ 可选 可选
光栅器有序视图 可选 可选
最小/最大筛选器 可选
映射默认缓冲区 可选 可选 可选 可选
着色器指定的模具参考值 可选 可选 可选
类型化无序访问视图加载 18 种格式,多个可选 18 种格式,多个可选 3 种格式,多个可选 3 种格式,多个可选
几何着色器
流输出
DirectCompute/计算着色器
外壳着色器和域着色器
纹理资源数组
立方体贴图资源数组
BC1 到 BC7 压缩
Alpha 覆盖范围
逻辑操作(输出合并器) 可选
独立于目标的光栅化
带有 ForcedSampleCount 1 的多呈现器目标 (MRT) 可选
仅 UAV 呈现的最大强制采样计数 16 16 16 8
最大纹理维度 16384 16384 16384 16384
最大立方体贴图维度 16384 16384 16384 16384
最大卷范围 2048 2048 2048 2048
最大纹理重复 16384 16384 16384 16384
最大各向异性 16 16 16 16
最大基元计数 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1
最大顶点索引 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1
最大输入槽 32 32 32 32
同时呈现器目标 8 8 8 8
封闭查询
单独的 Alpha 混合
镜像一次
重叠顶点元素
独立写掩码
实例化

 

  • ⁰ 需要 Direct3D 11.3 或 Direct3D 12 运行时。
  • ¹ 需要 Direct3D 11.1 运行时。
  • ² 着色器模型 5.0 可以选择性地支持双精度着色器、扩展的双精度着色器、SAD4 着色器说明和部分精度着色器。 若要确定可用的着色器模型 5.0 选项,请调用 ID3D12Device::CheckFeatureSupport。 某些兼容性取决于运行的硬件:无论使用的功能级别如何,着色器型号 5.1 仅在支持 DirectX 12 API 的硬件上受支持。 DirectX 11 硬件最多仅支持着色器模型 5.0。 DirectX 12 API 仅降级到功能级别 11_0。
  • ³ 更高的层是可选的。
  • 功能级别 12_0 和 12_1 需要 Direct3D 11.3 或 Direct3D 12 运行时。
  • 功能级别 11_1 需要 Direct3D 11.1 运行时。
  • 功能级别 11_0 需要 Direct3D 11.0 运行时。

DXGI 格式的硬件支持

若要查看 DXGI 格式和硬件功能的表,请参阅:

功能查询

了解 Direct3D 12