硬件功能级别
描述 11_0 到 12_1 硬件功能级别的功能。
为了处理新计算机和现有计算机中的视频卡多样性,Microsoft Direct3D 11 引入了功能级别的概念。 每个视频卡根据安装的图形处理单元(GPU)实现特定级别的 Microsoft DirectX (DX) 功能。 功能级别是一组定义完善的 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> |
资源绑定层 | 第 2 层 | 第 2 层 | Tier1Icp | Tier1Icp |
平铺资源 | 第 2 层 | 第 2 层 | 自选 | 自选 |
保守光栅化 | Tier1Icp | 自选 | 自选 | 不 |
光栅器有序视图 | 是的 | 自选 | 自选 | 不 |
最小/最大筛选器 | 是的 | 是的 | 自选 | 不 |
映射默认缓冲区 | 自选 | 自选 | 自选 | 自选 |
着色器指定的模具引用值 | 自选 | 自选 | 自选 | 不 |
类型化无序访问视图加载 | 18 种格式,更多可选 | 18 种格式,更多可选 | 3 种格式,更多可选 | 3 种格式,更多可选 |
几何着色器 | 是的 | 是的 | 是的 | 是的 |
流出 | 是的 | 是的 | 是的 | 是的 |
DirectCompute/ 计算着色器 | 是的 | 是的 | 是的 | 是的 |
赫尔和域着色器 | 是的 | 是的 | 是的 | 是的 |
纹理资源数组 | 是的 | 是的 | 是的 | 是的 |
Cubemap 资源数组 | 是的 | 是的 | 是的 | 是的 |
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 Blend | 是的 | 是的 | 是的 | 是的 |
镜像一次 | 是的 | 是的 | 是的 | 是的 |
重叠顶点元素 | 是的 | 是的 | 是的 | 是的 |
独立写入掩码 | 是的 | 是的 | 是的 | 是的 |
实例化 | 是的 | 是的 | 是的 | 是的 |
- ⁰ 需要 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 格式支持
- Direct3D 功能级别 12.0 硬件 的 DXGI 格式支持
- Direct3D 功能级别 11.1 硬件 的 DXGI 格式支持
- Direct3D 功能级别 11.0 硬件的 DXGI 格式支持
- Direct3D 10Level9 格式的硬件支持
- Direct3D 10.1 格式的硬件支持
- Direct3D 10 格式的硬件支持
相关主题