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 |