着色器窗格

着色器”窗格可让您查看跟踪中使用的单个着色器。

要使用此窗格,请在列表中选择一个着色器。这将创建一个新标签页,显示着色器的源代码以及静态分析统计信息。

要查看绑定到管道中特定阶段的特定着色器,请在管道视图中查看该阶段。

Shader pane
图 1. 着色器窗格

选择着色器代码

您可以选择 SPIR-V 或(如果可能)GLSL。请注意:

  • 如果 SPIR-V 代码在其 OpSource 指令中提供了原始 GLSL 代码,则“GLSL”标签页会直接显示相同的代码。否则,AGI 会尝试使用 SPIRV-Cross 将 SPIR-V 反编译为 GLSL。
  • 如果反编译过程中发生错误,则无法显示 GLSL 源代码。

静态分析

AGI 提供 SPIR-V 着色器静态分析的统计数据。以下是支持的统计数据:

统计数据 说明
ALU 指令 着色器中使用 ALU 的指令数量。
纹理指令 着色器中的纹理提取次数。
分支指令 着色器中的分支指令数量。
峰值临时寄存器压力 同时活跃的临时寄存器数量最高值。临时值的生命周期从其定义开始,到其在着色器中的最后一次使用结束。此统计数据会将每个活跃值使用的寄存器数量 p 相加(例如,一个 4D 浮点值将是 4 个寄存器)。