Condividi tramite


D3D11_SIGNATURE_PARAMETER_DESC struttura (d3d11shader.h)

Descrive una firma shader.

Sintassi

typedef struct _D3D11_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;
} D3D11_SIGNATURE_PARAMETER_DESC;

Members

SemanticName

Tipo: LPCSTR

Stringa per parametro che identifica il modo in cui verranno usati i dati. Per altre informazioni, vedere Semantica.

SemanticIndex

Tipo: UINT

Indice semantico che modifica la semantica. Usato per distinguere parametri diversi che usano la stessa semantica.

Register

Tipo: UINT

Registro che conterrà i dati di questa variabile.

SystemValueType

Tipo: D3D_NAME

Valore D3D_NAME tipizzato che identifica una stringa predefinita che determina la funzionalità di determinate fasi della pipeline.

ComponentType

Tipo: D3D_REGISTER_COMPONENT_TYPE

Valore D3D_REGISTER_COMPONENT_TYPE tipizzato che identifica il tipo di dati per componente archiviato in un registro. Ogni registro può archiviare fino a quattro componenti di dati.

Mask

Tipo: BYTE

Maschera che indica quali componenti di un registro vengono usati.

ReadWriteMask

Tipo: BYTE

Maschera che indica se un determinato componente non viene mai scritto (se la firma è una firma di output) o sempre letto (se la firma è una firma di input).

Stream

Tipo: UINT

Indica quale flusso usa lo shader geometry per il parametro di firma.

MinPrecision

Tipo: D3D_MIN_PRECISION

Valore D3D_MIN_PRECISION tipizzato che indica la precisione minima di interpolazione desiderata. Per altre informazioni, vedere Uso della precisione minima di HLSL.

Commenti

Un shader può accettare n input e può produrre output m. L'ordine dei parametri di input (o output), i relativi tipi associati e qualsiasi semantica associata costituiscono la firma shader. Ogni shader ha un input e una firma di output.

Quando si compila uno shader o un effetto, alcune chiamate API convalidano le firme shader, ovvero confrontano la firma di output di uno shader (ad esempio un vertex shader) con la firma di input di un altro shader (ad esempio un pixel shader). Ciò garantisce che un shader restituisce dati compatibili con uno shader downstream che usa tali dati. Compatibile significa che una firma shader è un subset esatto di corrispondenza della fase precedente dello shader. Corrispondenza esatta significa che i tipi di parametri e la semantica devono corrispondere esattamente. Il subset indica che un parametro non richiesto da una fase downstream non deve includere tale parametro nella firma shader.

Ottenere una firma shader da uno shader o un effetto chiamando API come ID3D11ShaderReflection::GetInputParameterDesc.

Requisiti

Requisito Valore
Intestazione d3d11shader.h

Vedi anche

Strutture shader