D3D12_SHADER_DESC 结构 (d3d12shader.h)

描述着色器。

语法

typedef struct _D3D12_SHADER_DESC {
  UINT                             Version;
  LPCSTR                           Creator;
  UINT                             Flags;
  UINT                             ConstantBuffers;
  UINT                             BoundResources;
  UINT                             InputParameters;
  UINT                             OutputParameters;
  UINT                             InstructionCount;
  UINT                             TempRegisterCount;
  UINT                             TempArrayCount;
  UINT                             DefCount;
  UINT                             DclCount;
  UINT                             TextureNormalInstructions;
  UINT                             TextureLoadInstructions;
  UINT                             TextureCompInstructions;
  UINT                             TextureBiasInstructions;
  UINT                             TextureGradientInstructions;
  UINT                             FloatInstructionCount;
  UINT                             IntInstructionCount;
  UINT                             UintInstructionCount;
  UINT                             StaticFlowControlCount;
  UINT                             DynamicFlowControlCount;
  UINT                             MacroInstructionCount;
  UINT                             ArrayInstructionCount;
  UINT                             CutInstructionCount;
  UINT                             EmitInstructionCount;
  D3D_PRIMITIVE_TOPOLOGY           GSOutputTopology;
  UINT                             GSMaxOutputVertexCount;
  D3D_PRIMITIVE                    InputPrimitive;
  UINT                             PatchConstantParameters;
  UINT                             cGSInstanceCount;
  UINT                             cControlPoints;
  D3D_TESSELLATOR_OUTPUT_PRIMITIVE HSOutputPrimitive;
  D3D_TESSELLATOR_PARTITIONING     HSPartitioning;
  D3D_TESSELLATOR_DOMAIN           TessellatorDomain;
  UINT                             cBarrierInstructions;
  UINT                             cInterlockedInstructions;
  UINT                             cTextureStoreInstructions;
} D3D12_SHADER_DESC;

成员

Version

着色器版本,作为与着色器模型相对应的编码 UINT,例如“ps_5_0”。 版本 描述程序类型、主版本号和次要版本号。 程序类型是 D3D12_SHADER_VERSION_TYPE 枚举常量。 版本 按以下方式解码:

  • 程序类型 = (版本 16 & 0xFFFF0000) >>
  • 主版本 = (版本 & 0x000000F0) >> 4
  • 次要版本 = (版本 & 0x0000000F)

Creator

着色器的发起者的名称。

Flags

着色器编译/分析标志。

ConstantBuffers

着色器常量缓冲区的数目。

BoundResources

资源 (纹理和缓冲区的数量) 绑定到着色器。

InputParameters

输入签名中的参数数。

OutputParameters

输出签名中的参数数。

InstructionCount

编译的着色器中的中间语言指令数。

TempRegisterCount

编译的着色器中的临时寄存器数。

TempArrayCount

使用的临时数组数。

DefCount

常量定义数。

DclCount

输入 + 输出) (声明数。

TextureNormalInstructions

未分类的纹理指令数。

TextureLoadInstructions

纹理加载指令数

TextureCompInstructions

纹理比较指令数

TextureBiasInstructions

纹理偏差指令数

TextureGradientInstructions

纹理渐变指令数。

FloatInstructionCount

使用的浮点算术指令数。

IntInstructionCount

使用的有符号整数算术指令数。

UintInstructionCount

使用的无符号整数算术指令数。

StaticFlowControlCount

使用的静态流控制指令数。

DynamicFlowControlCount

使用的动态流控制指令数。

MacroInstructionCount

使用的宏指令数。

ArrayInstructionCount

使用的数组指令数。

CutInstructionCount

使用的剪切指令数。

EmitInstructionCount

使用的发出指令数。

GSOutputTopology

表示几何着色器输出拓扑 的D3D_PRIMITIVE_TOPOLOGY类型值。

GSMaxOutputVertexCount

几何着色器最大输出顶点计数。

InputPrimitive

D3D_PRIMITIVE类型的值,表示几何着色器或外壳着色器的输入基元。

PatchConstantParameters

修补程序常量签名中的参数数。

cGSInstanceCount

几何着色器实例数。

cControlPoints

外壳着色器和域着色器中的控制点数。

HSOutputPrimitive

表示细化器 output 基元类型的 D3D_TESSELLATOR_OUTPUT_PRIMITIVE类型值。

HSPartitioning

表示细化器分区模式 的D3D_TESSELLATOR_PARTITIONING类型值。

TessellatorDomain

表示细化器域 的D3D_TESSELLATOR_DOMAIN类型值。

cBarrierInstructions

计算着色器中的屏障指令数。

cInterlockedInstructions

计算着色器中的互锁指令数。

cTextureStoreInstructions

计算着色器中的纹理写入数。

注解

着色器以 HLSL 编写,并由 HLSL 编译器编译为中间语言。 着色器说明返回有关已编译着色器的信息。 若要获取着色器说明,请调用 ID3D12ShaderReflection::GetDesc

要求

要求
Header d3d12shader.h

另请参阅

着色器结构