Compartilhar via


estrutura D3D12_SHADER_DESC (d3d12shader.h)

Descreve um sombreador.

Sintaxe

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;

Membros

Version

A versão do sombreador, como um UINT codificado que corresponde a um modelo de sombreador, como "ps_5_0". A versão descreve o tipo de programa, um número de versão principal e um número de versão secundária. O tipo de programa é uma constante de enumeração D3D12_SHADER_VERSION_TYPE . A versão é decodificada da seguinte maneira:

  • Tipo de programa = (versão & 0xFFFF0000) >> 16
  • Versão principal = (versão & 0x000000F0) >> 4
  • Versão secundária = (versão & 0x0000000F)

Creator

O nome do originador do sombreador.

Flags

Sinalizadores de compilação/análise do sombreador.

ConstantBuffers

O número de buffers constantes de sombreador.

BoundResources

O número de recursos (texturas e buffers) associados a um sombreador.

InputParameters

O número de parâmetros na assinatura de entrada.

OutputParameters

O número de parâmetros na assinatura de saída.

InstructionCount

O número de instruções de linguagem intermediária no sombreador compilado.

TempRegisterCount

O número de registros temporários no sombreador compilado.

TempArrayCount

Número de matrizes temporárias usadas.

DefCount

Número de definições de constante.

DclCount

Número de declarações (entrada + saída).

TextureNormalInstructions

Número de instruções de textura não categorizada.

TextureLoadInstructions

Número de instruções de carga de textura

TextureCompInstructions

Número de instruções de comparação de textura

TextureBiasInstructions

Número de instruções de desvio de textura

TextureGradientInstructions

Número de instruções de gradiente de textura.

FloatInstructionCount

Número de instruções aritméticas de ponto flutuante usadas.

IntInstructionCount

Número de instruções aritméticas de inteiros com sinal usadas.

UintInstructionCount

Número de instruções aritméticas de inteiro sem sinal usadas.

StaticFlowControlCount

Número de instruções de controle de fluxo estático usadas.

DynamicFlowControlCount

Número de instruções de controle de fluxo dinâmico usadas.

MacroInstructionCount

Número de instruções de macro usadas.

ArrayInstructionCount

Número de instruções de matriz usadas.

CutInstructionCount

Número de instruções de corte usadas.

EmitInstructionCount

Número de instruções de emissão usadas.

GSOutputTopology

O valor do tipo D3D_PRIMITIVE_TOPOLOGY que representa a topologia de saída do sombreador de geometria.

GSMaxOutputVertexCount

Contagem máxima de vértice de saída do sombreador de geometria.

InputPrimitive

O valor de tipo D3D_PRIMITIVE que representa o primitivo de entrada para um sombreador de geometria ou sombreador de casco.

PatchConstantParameters

Número de parâmetros na assinatura de constante de patch.

cGSInstanceCount

Número de instâncias de sombreador de geometria.

cControlPoints

Número de pontos de controle no sombreador de casco e sombreador de domínio.

HSOutputPrimitive

O valor de tipo D3D_TESSELLATOR_OUTPUT_PRIMITIVE que representa o tipo de saída-primitivo do mosaico.

HSPartitioning

O valor de tipo D3D_TESSELLATOR_PARTITIONING que representa o modo de particionamento do mosaico.

TessellatorDomain

O valor do tipo D3D_TESSELLATOR_DOMAIN que representa o domínio do mosaico.

cBarrierInstructions

Número de instruções de barreira em um sombreador de computação.

cInterlockedInstructions

Número de instruções interligadas em um sombreador de computação.

cTextureStoreInstructions

Número de gravações de textura em um sombreador de computação.

Comentários

Um sombreador é escrito em HLSL e compilado em uma linguagem intermediária pelo compilador HLSL. A descrição do sombreador retorna informações sobre o sombreador compilado. Para obter uma descrição do sombreador, chame ID3D12ShaderReflection::GetDesc.

Requisitos

Requisito Valor
Cabeçalho d3d12shader.h

Confira também

Estruturas do sombreador