Direct3D 功能级别 您所在的位置:网站首页 着色器的功能 Direct3D 功能级别

Direct3D 功能级别

2023-08-22 06:21| 来源: 网络整理| 查看: 265

Direct3D 功能级别 项目 07/28/2023

为了处理新计算机和现有计算机中视频卡的多样性,Microsoft Direct3D 11 引入了功能级别的概念。 本主题讨论 Direct3D 功能级别。

每个视频卡实现某个级别的 Microsoft DirectX (DX) 功能,具体取决于所安装的图形处理单元 (GPU)。 在以前版本的 Microsoft Direct3D 中,你可以找到视频卡实现的 Direct3D 版本,然后相应地对应用程序编程。

在 Direct3D 11 中,引入了称为功能级别的新范例。 功能级别是明确定义的 GPU 功能的集合。 例如,9_1 功能级别实现在 Microsoft Direct3D 9 中实现的功能,该功能 ps_2_x 和 vs_2_x公开着色器模型的功能,而 11_0 功能级别实现在 Direct3D 11 中实现的功能。

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

使用功能级别,可以针对 Direct3D 9、Microsoft Direct3D 10 或 Direct3D 11 开发应用程序,然后在 9、10 或 11 硬件 (上运行该应用程序,但有一些例外情况:例如,新的 11 个功能不会在现有的 9 卡) 上运行。 下面是功能级别的几个其他基本属性:

允许创建设备的 GPU 达到或超过该功能级别的功能。 功能级别始终包括上一个或更低功能级别的功能。 功能级别并不意味着性能,而只是功能。 性能依赖于硬件实现。 创建 Direct3D 11 设备时,请选择功能级别。

有关在某些功能级别上创建非硬件类型设备的限制的信息,请参阅 创建 WARP 和参考设备的限制。

为了帮助你确定要设计的功能级别,请比较每个功能级别的功能。

10Level9 参考部分列出了各种 ID3D11Device 和 ID3D11DeviceContext 方法在各种 10Level9 功能级别上的行为差异。

版本号的格式

Direct3D 版本、着色器模型和功能级别有三种格式。

Direct3D 版本使用句点;例如,Direct3D 12.0。 着色器模型使用句点;例如,着色器模型 5.1。 功能级别使用下划线;例如,功能级别 12_0。 Direct3D 12 功能支持 (功能级别 12_2 到 11_0)

以下功能可用于列出的功能级别。 顶行的标题是 Direct3D 12 功能级别。 左侧列标题是功能。 另请参阅 表的脚注。

功能 \ 功能级别 12_28 12_10 12_00 11_11 11_0 着色器模型 6.5 5.12 5.12 5.12 5.12 WDDM 驱动程序模型 2.0 1.x 1.x 1.x 1.x 光线追踪 第 1.1 层 可选 可选 可选 可选 可变着色速率 第 2 层 可选 可选 可选 可选 网格着色器 第 1 层 可选 可选 可选 可选 取样器反馈 第 0.9 层 可选 可选 可选 可选 资源绑定 第 3 层 第 3 层 第 3 层 第 3 层 第 1 层 根签名 1.1 1 1 1 1 深度边界测试 是 可选 可选 可选 可选 立即写入缓冲区 直接、计算、捆绑 可选 可选 可选 可选 GPU 虚拟地址位 4010 4010 4010 平铺资源 Tier3 第 2 层6 第 2 层6 可选 可选 传统型光栅化 Tier3 第1 层 6 可选 可选 否 光栅器顺序视图 是 是 可选 可选 否 最小/最大筛选器 是 是 是 可选 否 映射默认缓冲区 空值 可选 可选 可选 可选 着色器指定的模具参考值 可选 可选 可选 可选 否 类型化无序访问视图加载 18 种格式,多个可选 18 种格式,多个可选 18 种格式,多个可选 3 种格式,多个可选 3 种格式,多个可选 几何着色器 是 是 是 是 是 流输出 是 是 是 是 是 DirectCompute/计算着色器 是 是 是 是 是 外壳着色器和域着色器 是 是 是 是 是 功能\ 功能级别 12_28 12_10 12_00 11_11 11_0 纹理资源数组 是 是 是 是 是 立方体贴图资源数组 是 是 是 是 是 BC4/BC5 压缩 是 是 是 是 是 BC6H/BC7 压缩 是 是 是 是 是 Alpha 覆盖范围 是 是 是 是 是 扩展格式 (BGRA 等) 是 是 是 是 是 10 位 XR 增强色格式 是 是 是 是 是 逻辑操作(输出合并器) 是 是 是 是 可选1 独立于目标的光栅化 是 是 是 是 否 带有 ForcedSampleCount 1 的多呈现器目标 (MRT) 是 是 是 是 可选1 UAV 槽 分层9 64 64 64 8 每个阶段的 UAV 是 是 是 是 否 功能\ 功能级别 12_28 12_10 12_00 11_11 11_0 仅 UAV 呈现的最大强制采样计数 16 16 16 16 8 常量缓冲区偏移和部分更新 是 是 是 是 可选1 每像素 16 位 (bpp) 格式 是 是 是 是 可选1 最大纹理维度 16384 16384 16384 16384 16384 最大立方体贴图维度 16384 16384 16384 16384 16384 最大卷范围 2048 2048 2048 2048 2048 最大纹理重复 16384 16384 16384 16384 16384 最大各向异性 16 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 2^32 – 1 2^32 – 1 最大输入槽 32 32 32 32 32 同时呈现器目标 8 8 8 8 8 功能 \ 功能级别 12_28 12_10 12_00 11_11 11_0 封闭查询 是 是 是 是 是 单独的 Alpha 混合 是 是 是 是 是 镜像一次 是 是 是 是 是 重叠顶点元素 是 是 是 是 是 独立写掩码 是 是 是 是 是 实例化 是 是 是 是 是 有条件的 2 个非电力3 否 否 否 否 否 nonpowers-of-2 无条件4 是 是 是 是 是

此外,还设置了以下标志:

功能 \ 功能级别 12_28 WaveOps true OutputMergerLogicOp true VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportWithoutGSEmulation true CopyQueueTimestampQueriesSupported true CastingFullyTypedFormatSupported true Int64ShaderOps true Direct3D 11 功能支持 (功能级别 12_1 到 9_1)

以下功能可用于列出的功能级别。 顶行中的标题是 Direct3D 11 功能级别。 左侧列标题是功能。 另请参阅 表的脚注。

功能 \ 功能级别 12_10 12_00 11_11 11_0 10_1 10_0 9_37 9_2 9_1 着色器模型 5.12 5.12 5.02 5.02 4.x 4.0 2.0 (4_0_level_9_3) [vs_2_a/ps_2_x]5 2.0 (4_0_level_9_1) 2.0 (4_0_level_9_1) WDDM 驱动程序模型 1.x 1.x 1.x 1.x 1.x 1.x 1.x 1.x 1.x 平铺资源 第2 层 6 第2 层 6 可选 可选 否 否 否 否 否 传统型光栅化 Tier16 可选 可选 否 否 否 否 否 否 光栅器顺序视图 是 可选 可选 否 否 否 否 否 否 最小/最大筛选器 是 是 可选 否 否 否 否 否 否 映射默认缓冲区 可选 可选 可选 可选 否 否 否 否 否 着色器指定的模具参考值 可选 可选 可选 否 否 否 否 否 否 类型化无序访问视图加载 18 种格式,多个可选 18 种格式,多个可选 3 种格式,多个可选 3 种格式,多个可选 否 否 否 否 否 几何着色器 是 是 是 是 是 是 否 否 否 流输出 是 是 是 是 是 是 否 否 否 DirectCompute/计算着色器 是 是 是 是 可选 可选 空值 不适用 不适用 外壳着色器和域着色器 是 是 是 是 否 否 否 否 否 功能 \ 功能级别 12_10 12_00 11_11 11_0 10_1 10_0 9_37 9_2 9_1 纹理资源数组 是 是 是 是 是 是 否 否 否 立方体贴图资源数组 是 是 是 是 是 否 否 否 否 BC4/BC5 压缩 是 是 是 是 是 是 否 否 否 BC6H/BC7 压缩 是 是 是 是 否 否 否 否 否 Alpha 覆盖范围 是 是 是 是 是 是 否 否 否 扩展格式 (BGRA 等) 是 是 是 是 可选 可选 是 是 是 10 位 XR 增强色格式 是 是 是 是 可选 可选 空值 不适用 不适用 逻辑操作(输出合并器) 是 是 是 可选1 可选1 可选1 否 否 否 独立于目标的光栅化 是 是 是 是 是 否 否 否 否 否 否 带有 ForcedSampleCount 1 的多呈现器目标 (MRT) 是 可选1 可选1 可选1 否 否 否 UAV 槽 64 64 64 8 1 1 不适用 不适用 不适用 每个阶段的 UAV 是 是 是 否 否 否 不适用 不适用 不适用 功能 \ 功能级别 12_10 12_00 11_11 11_0 10_1 10_0 9_37 9_2 9_1 仅 UAV 呈现的最大强制采样计数 16 16 16 8 不适用 不适用 不适用 不适用 不适用 常量缓冲区偏移和部分更新 是 是 是 可选1 可选1 可选1 是1 是1 是1 每像素 16 位 (bpp) 格式 是 是 是 可选1 可选1 可选1 可选1 可选1 可选1 最大纹理维度 16384 16384 16384 16384 8192 8192 4096 2048 2048 最大立方体贴图维度 16384 16384 16384 16384 8192 8192 4096 512 512 最大卷范围 2048 2048 2048 2048 2048 2048 256 256 256 最大纹理重复 16384 16384 16384 16384 8192 8192 8192 2048 128 最大各向异性 16 16 16 16 16 16 16 16 2 最大基元计数 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 1048575 1048575 65535 最大顶点索引 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 1048575 1048575 65534 最大输入槽 32 32 32 32 32 16 16 16 16 同时呈现器目标 8 8 8 8 8 8 4 1 1 功能 \ 功能级别 12_28 12_10 11_11 11_0 10_1 10_0 9_37 9_2 9_1 封闭查询 是 是 是 是 是 是 是 是 否 单独的 Alpha 混合 是 是 是 是 是 是 是 是 否 镜像一次 是 是 是 是 是 是 是 是 否 重叠顶点元素 是 是 是 是 是 是 是 是 否 独立写掩码 是 是 是 是 是 是 是 否 否 实例化 是 是 是 是 是 是 是7 否 否 有条件的 2 个非电力3 否 否 否 否 否 否 是 是 是 nonpowers-of-2 无条件4 是 是 是 是 是 是 否 否 否 表的脚注

0 需要 Direct3D 11.3 或 Direct3D 12 运行时。

1 需要 Direct3D 11.1 运行时。

2 着色器模型 5.0 及更高版本可以选择性地支持双精度着色器、扩展的双精度着色器、 SAD4 着色器指令和部分精度着色器。 若要确定可用于 DirectX 11 的着色器模型 5.0 选项,请调用 ID3D11Device::CheckFeatureSupport。 某些兼容性取决于运行的硬件。 无论使用的功能级别如何,着色器模型 5.1 及更高版本仅通过 DirectX 12 API 受支持。 DirectX 11 最多仅支持着色器模型 5.0。 DirectX 12 API 仅降级到功能级别 11_0。

3 在功能级别 9_1、9_2 和 9_3 上,显示设备支持在两个条件下使用尺寸不是 2 的二维纹理。 首先,只能为每个纹理创建一个 MIP 贴图级别,其次,不允许纹理的包装采样器模式, (即,D3D11_SAMPLER_DESC的 AddressU、AddressV 和 AddressW 成员不能设置为D3D11_TEXTURE_ADDRESS_WRAP) 。

4 在功能级别 10_0、10_1 和 11_0 中,显示设备无条件支持使用尺寸不是 2 的二维纹理。

5 顶点着色器 2a,具有 256 条指令、32 个临时寄存器、深度 4 的静态流控制、深度 24 的动态流控制以及D3DVS20CAPS_PREDICATION。 具有 512 个指令的像素着色器 2x、32 个临时寄存器、深度 4 的静态流控制、深度 24 的动态流控制、D3DPS20CAPS_ARBITRARYSWIZZLE、D3DPS20CAPS_GRADIENTINSTRUCTIONS、D3DPS20CAPS_PREDICATION、D3DPS20CAPS_NODEPENDENTREADLIMIT和D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT。

6 较高层可选。

7 对于功能级别 9_3,仅支持 Draw、 DrawIndexed 和 DrawIndexInstanced 的呈现方法。 同样,对于功能级别 9_3,仅支持通过 Draw 呈现点列表。

8 受Windows 11支持。

9 在 Direct3D 12 API 中,CBV/SRV/UAV 堆中的描述符数量存在限制。 有关详细信息 ,请参阅硬件层 。 另外,所有阶段的所有描述符表中 UAV 的数量都有限制,这基于 资源绑定层。

10 64 位进程需要每个资源和每个进程 40 位可用的地址空间。 32 位进程可能限制为 31 位地址空间。 API 中提供两项功能 (上限) - 按进程和按资源。 每个进程地址空间始终大于或等于每个资源地址空间。

有关不同硬件功能级别的格式支持的详细信息,请参阅:

对 Direct3D 功能级别 12.1 硬件的 DXGI 格式支持 对 Direct3D 功能级别 12.0 硬件的 DXGI 格式支持 对 Direct3D 功能级别 11.1 硬件的 DXGI 格式支持 Direct3D 功能级别 11.0 硬件的 DXGI 格式支持 Direct3D 10Level9 格式的硬件支持 Direct3D 10.1 格式的硬件支持 Direct3D 10 格式的硬件支持 相关主题 下层硬件上的 Direct3D 11 (Direct3D 12) 的硬件功能级别


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有