硬件功能级别
介绍 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.1 硬件的 DXGI 格式支持
- DXGI Format Support for Direct3D Feature Level 12.0 Hardware(Direct3D 功能级别 12.0 硬件的 DXGI 格式支持)
- DXGI Format Support for Direct3D Feature Level 11.1 Hardware(Direct3D 功能级别 11.1 硬件的 DXGI 格式支持)
- DXGI Format Support for Direct3D Feature Level 11.0 Hardware(Direct3D 功能级别 11.0 硬件的 DXGI 格式支持)
- Hardware Support for Direct3D 10Level9 Formats(Direct3D 10Level9 格式的硬件支持)
- Hardware Support for Direct3D 10.1 Formats(Direct3D 10.1 格式的硬件支持)
- Hardware Support for Direct3D 10 Formats(Direct3D 10 格式的硬件支持)
相关主题