Compartir a través de


estructura D3D12_SHADER_DESC (d3d12shader.h)

Describe un sombreador.

Sintaxis

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;

Miembros

Version

La versión del sombreador, como un UINT codificado que corresponde a un modelo de sombreador, como "ps_5_0". La versión describe el tipo de programa, un número de versión principal y un número de versión secundaria. El tipo de programa es una constante de enumeración D3D12_SHADER_VERSION_TYPE. La versión se descodifica de la siguiente manera:

  • Tipo de programa = (versión & 0xFFFF0000) >> 16
  • Versión principal = (versión & 0x000000F0) >> 4
  • Versión secundaria = (versión & 0x0000000F)

Creator

Nombre del originador del sombreador.

Flags

Marcas de compilación y análisis del sombreador.

ConstantBuffers

Número de búferes de constantes de sombreador.

BoundResources

Número de recursos (texturas y búferes) enlazados a un sombreador.

InputParameters

Número de parámetros de la firma de entrada.

OutputParameters

Número de parámetros de la firma de salida.

InstructionCount

Número de instrucciones de lenguaje intermedio en el sombreador compilado.

TempRegisterCount

Número de registros temporales en el sombreador compilado.

TempArrayCount

Número de matrices temporales usadas.

DefCount

Número de constantes definidas.

DclCount

Número de declaraciones (entrada y salida).

TextureNormalInstructions

Número de instrucciones de textura no clasificadas.

TextureLoadInstructions

Número de instrucciones de carga de textura

TextureCompInstructions

Número de instrucciones de comparación de texturas

TextureBiasInstructions

Número de instrucciones de sesgo de textura

TextureGradientInstructions

Número de instrucciones de degradado de textura.

FloatInstructionCount

Número de instrucciones aritméticas de punto flotante usadas.

IntInstructionCount

Número de instrucciones aritméticas de enteros con signo usadas.

UintInstructionCount

Número de instrucciones aritméticas de entero sin signo usadas.

StaticFlowControlCount

Número de instrucciones de control de flujo estático usadas.

DynamicFlowControlCount

Número de instrucciones de control de flujo dinámico usadas.

MacroInstructionCount

Número de instrucciones de macro usadas.

ArrayInstructionCount

Número de instrucciones de matriz usadas.

CutInstructionCount

Número de instrucciones de corte usadas.

EmitInstructionCount

Número de instrucciones de emisión usadas.

GSOutputTopology

Valor de tipo D3D_PRIMITIVE_TOPOLOGY que representa la topología de salida del sombreador de geometría.

GSMaxOutputVertexCount

Número máximo de vértices de salida del sombreador de geometría.

InputPrimitive

Valor de tipo D3D_PRIMITIVE que representa el primitivo de entrada para un sombreador de geometría o sombreador de casco.

PatchConstantParameters

Número de parámetros en la firma de constante de revisión.

cGSInstanceCount

Número de instancias del sombreador de geometría.

cControlPoints

Número de puntos de control en el sombreador de casco y sombreador de dominio.

HSOutputPrimitive

Valor de tipo D3D_TESSELLATOR_OUTPUT_PRIMITIVE que representa el tipo de salida del teselador output-primitive.

HSPartitioning

Valor de tipo D3D_TESSELLATOR_PARTITIONING que representa el modo de creación de particiones de teselador.

TessellatorDomain

Valor con tipo D3D_TESSELLATOR_DOMAIN que representa el dominio de teselador.

cBarrierInstructions

Número de instrucciones de barrera en un sombreador de proceso.

cInterlockedInstructions

Número de instrucciones interbloqueadas en un sombreador de proceso.

cTextureStoreInstructions

Número de escrituras de textura en un sombreador de proceso.

Comentarios

Un sombreador se escribe en HLSL y se compila en un lenguaje intermedio por el compilador HLSL. La descripción del sombreador devuelve información sobre el sombreador compilado. Para obtener una descripción del sombreador, llame a ID3D12ShaderReflection::GetDesc.

Requisitos

Requisito Valor
Header d3d12shader.h

Consulte también

Estructuras de los sombreadores