硬件层
从第 1 层到第 3 层的硬件级别增加了管道可用的资源。
限制取决于硬件
可用于管道的资源 | 第 1 层 | 第 2 层 | 第 3 层 |
---|---|---|---|
功能级别 | 11.0+ | 11.0+ | 11.1+ |
常量缓冲区视图(CBV)、着色器资源视图(SRV)或用于呈现的无序访问视图(UAV)堆中的最大描述符数 | 1,000,000 | 1,000,000 | 1,000,000+ |
每个着色器阶段所有描述符表的最大常量缓冲区视图数 | 14 | 14 | 完整堆 |
每个着色器阶段所有描述符表中的着色器资源视图的最大数目 | 128 | 完整堆 | 完整堆 |
所有阶段的所有描述符表中的无序访问视图的最大数目 | 功能级别 11.1+ 的 64 功能级别 11 的 8 |
64 | 完整堆 |
每个着色器阶段所有描述符表中的采样器的最大数目 | 16 | 2048 | 2048 |
粗体 条目突出显示了对上一层的重大改进。
对于适用于所有堆的第 1 层硬件,以及适用于 CBV 和 UAV 堆的第 2 层硬件,根签名中描述符表涵盖的所有描述符堆条目 必须在着色器执行时 用描述符填充,即使着色器(可能由于分支)不需要描述符。 第 3 层硬件没有此类限制。 此限制的一个缓解措施是勤奋地使用 Null 描述符。
固定限制
着色器可见描述符堆中采样器的最大数目为 2048。
实时根签名中唯一静态采样器的最大数目为 2032(这为需要自己采样器的驱动程序留出 16 个)。