D3D11_SHADER_DESC structure (d3d11shader.h)

Describes a shader.

Syntax

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;

Members

Version

Type: UINT

Shader version.

Creator

Type: LPCSTR

The name of the originator of the shader.

Flags

Type: UINT

Shader compilation/parse flags.

ConstantBuffers

Type: UINT

The number of shader-constant buffers.

BoundResources

Type: UINT

The number of resource (textures and buffers) bound to a shader.

InputParameters

Type: UINT

The number of parameters in the input signature.

OutputParameters

Type: UINT

The number of parameters in the output signature.

InstructionCount

Type: UINT

The number of intermediate-language instructions in the compiled shader.

TempRegisterCount

Type: UINT

The number of temporary registers in the compiled shader.

TempArrayCount

Type: UINT

Number of temporary arrays used.

DefCount

Type: UINT

Number of constant defines.

DclCount

Type: UINT

Number of declarations (input + output).

TextureNormalInstructions

Type: UINT

Number of non-categorized texture instructions.

TextureLoadInstructions

Type: UINT

Number of texture load instructions

TextureCompInstructions

Type: UINT

Number of texture comparison instructions

TextureBiasInstructions

Type: UINT

Number of texture bias instructions

TextureGradientInstructions

Type: UINT

Number of texture gradient instructions.

FloatInstructionCount

Type: UINT

Number of floating point arithmetic instructions used.

IntInstructionCount

Type: UINT

Number of signed integer arithmetic instructions used.

UintInstructionCount

Type: UINT

Number of unsigned integer arithmetic instructions used.

StaticFlowControlCount

Type: UINT

Number of static flow control instructions used.

DynamicFlowControlCount

Type: UINT

Number of dynamic flow control instructions used.

MacroInstructionCount

Type: UINT

Number of macro instructions used.

ArrayInstructionCount

Type: UINT

Number of array instructions used.

CutInstructionCount

Type: UINT

Number of cut instructions used.

EmitInstructionCount

Type: UINT

Number of emit instructions used.

GSOutputTopology

Type: D3D_PRIMITIVE_TOPOLOGY

The D3D_PRIMITIVE_TOPOLOGY-typed value that represents the geometry shader output topology.

GSMaxOutputVertexCount

Type: UINT

Geometry shader maximum output vertex count.

InputPrimitive

Type: D3D_PRIMITIVE

The D3D_PRIMITIVE-typed value that represents the input primitive for a geometry shader or hull shader.

PatchConstantParameters

Type: UINT

Number of parameters in the patch-constant signature.

cGSInstanceCount

Type: UINT

Number of geometry shader instances.

cControlPoints

Type: UINT

Number of control points in the hull shader and domain shader.

HSOutputPrimitive

Type: D3D_TESSELLATOR_OUTPUT_PRIMITIVE

The D3D_TESSELLATOR_OUTPUT_PRIMITIVE-typed value that represents the tessellator output-primitive type.

HSPartitioning

Type: D3D_TESSELLATOR_PARTITIONING

The D3D_TESSELLATOR_PARTITIONING-typed value that represents the tessellator partitioning mode.

TessellatorDomain

Type: D3D_TESSELLATOR_DOMAIN

The D3D_TESSELLATOR_DOMAIN-typed value that represents the tessellator domain.

cBarrierInstructions

Type: UINT

Number of barrier instructions in a compute shader.

cInterlockedInstructions

Type: UINT

Number of interlocked instructions in a compute shader.

cTextureStoreInstructions

Type: UINT

Number of texture writes in a compute shader.

Remarks

A shader is written in HLSL and compiled into an intermediate language by the HLSL compiler. The shader description returns information about the compiled shader. Get a shader description by calling ID3D11ShaderReflection::GetDesc.

Requirements

Requirement Value
Header d3d11shader.h

See also

Shader Structures