estrutura D3D12_SIGNATURE_PARAMETER_DESC (d3d12shader.h)
Descreve uma assinatura de sombreador.
Sintaxe
typedef struct _D3D12_SIGNATURE_PARAMETER_DESC {
LPCSTR SemanticName;
UINT SemanticIndex;
UINT Register;
D3D_NAME SystemValueType;
D3D_REGISTER_COMPONENT_TYPE ComponentType;
BYTE Mask;
BYTE ReadWriteMask;
UINT Stream;
D3D_MIN_PRECISION MinPrecision;
} D3D12_SIGNATURE_PARAMETER_DESC;
Membros
SemanticName
Uma cadeia de caracteres por parâmetro que identifica como os dados serão usados. Para obter mais informações, consulte Semântica.
SemanticIndex
Índice semântico que modifica a semântica. Usado para diferenciar parâmetros diferentes que usam a mesma semântica.
Register
O registro que conterá os dados dessa variável.
SystemValueType
Um valor de tipo D3D_NAME que identifica uma cadeia de caracteres predefinida que determina a funcionalidade de determinados estágios de pipeline.
ComponentType
Um valor de tipo D3D_REGISTER_COMPONENT_TYPE que identifica o tipo de dados por componente armazenado em um registro. Cada registro pode armazenar até quatro componentes de dados.
Mask
Máscara que indica quais componentes de um registro são usados.
ReadWriteMask
Máscara que indica se um determinado componente nunca foi gravado (se a assinatura for uma assinatura de saída) ou sempre lido (se a assinatura for uma assinatura de entrada).
Stream
Indica qual fluxo o sombreador de geometria está usando para o parâmetro de assinatura.
MinPrecision
Um valor de tipo D3D_MIN_PRECISION que indica a precisão mínima de interpolação desejada. Para obter mais informações, consulte Usando a precisão mínima de HLSL.
Comentários
Um sombreador pode obter n entradas e pode produzir saídas m. A ordem dos parâmetros de entrada (ou saída), seus tipos associados e qualquer semântica anexada compõem a assinatura do sombreador. Cada sombreador tem uma entrada e uma assinatura de saída.
Ao compilar um sombreador ou um efeito, algumas chamadas à API validam assinaturas de sombreador Ou seja, comparam a assinatura de saída de um sombreador (como um sombreador de vértice) com a assinatura de entrada de outro sombreador (como um sombreador de pixel). Isso garante que um sombreador gere dados compatíveis com um sombreador downstream que está consumindo esses dados. Compatível significa que uma assinatura de sombreador é um subconjunto de correspondência exata do estágio de sombreador anterior. Correspondência exata significa que os tipos de parâmetro e a semântica devem corresponder exatamente. Subconjunto significa que um parâmetro que não é exigido por um estágio downstream não precisa incluir esse parâmetro em sua assinatura de sombreador.
Obtenha uma assinatura de sombreador de um sombreador ou um efeito chamando APIs como ID3D12ShaderReflection::GetInputParameterDesc.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | d3d12shader.h |