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 |