使用描述符表

描述符表(每个表标识描述符堆中的一个范围)绑定在由命令列表上的当前根签名所定义的槽中。

着色器可以定位由构成描述符表的描述符所引用的资源。 其他资源绑定 - 索引缓冲区、顶点缓冲区、流输出缓冲区、呈现器目标和深度模具直接在命令列表上(而不是通过描述符)完成。 总结:

以下资源引用可以共享相同的描述符表和堆:

  • 着色器资源视图
  • 无序访问视图
  • 常量缓冲区视图

以下资源引用必须位于自己的描述符堆:

  • 采样器

以下资源不在描述符表或堆中,而是使用命令列表直接绑定:

  • 索引缓冲区
  • 顶点缓冲区
  • 流输出缓冲区
  • 呈现器目标
  • 深度模具视图

编制描述符表索引

着色器不能通过着色器中的给定调用站点跨描述符表边界动态编制索引。 但是,描述符表中描述符的选择可以在相同描述符类型(例如跨 SRV 的连续区域编制索引)范围内的着色器代码中动态编制索引。

描述符表