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 |