D3D11_SHADER_DESC 结构 (d3d11shader.h)
描述着色器。
语法
typedef struct _D3D11_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;
} D3D11_SHADER_DESC;
成员
Version
类型: UINT
着色器版本。
Creator
类型: LPCSTR
着色器的发起者的名称。
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
类型: UINT
使用的发出指令数。
GSOutputTopology
表示几何着色器输出拓扑的 D3D_PRIMITIVE_TOPOLOGY类型的值。
GSMaxOutputVertexCount
类型: UINT
几何着色器最大输出顶点计数。
InputPrimitive
类型: D3D_PRIMITIVE
表示几何着色器或外壳着色器的输入基元 的D3D_PRIMITIVE类型的值。
PatchConstantParameters
类型: UINT
修补程序常量签名中的参数数。
cGSInstanceCount
类型: UINT
几何着色器实例的数目。
cControlPoints
类型: UINT
外壳着色器和域着色器中的控制点数。
HSOutputPrimitive
类型: D3D_TESSELLATOR_OUTPUT_PRIMITIVE
表示细化器输出基元类型的 D3D_TESSELLATOR_OUTPUT_PRIMITIVE类型值。
HSPartitioning
类型: D3D_TESSELLATOR_PARTITIONING
D3D_TESSELLATOR_PARTITIONING类型的值,表示细化器分区模式。
TessellatorDomain
表示细化器域 的D3D_TESSELLATOR_DOMAIN类型的值。
cBarrierInstructions
类型: UINT
计算着色器中的屏障指令数。
cInterlockedInstructions
类型: UINT
计算着色器中的互锁指令数。
cTextureStoreInstructions
类型: UINT
计算着色器中的纹理写入数。
备注
着色器以 HLSL 编写,并由 HLSL 编译器编译为中间语言。 着色器说明返回有关已编译着色器的信息。 通过调用 ID3D11ShaderReflection::GetDesc 获取着色器说明。
要求
标头 | d3d11shader.h |