Firme radice
La firma radice definisce i tipi di risorse associati alla pipeline grafica.
In questa sezione
Argomento | Descrizione |
---|---|
Panoramica delle firme radice |
Una firma radice viene configurata dall'app e collega gli elenchi di comandi alle risorse richieste dagli shader. L'elenco di comandi grafici ha sia una grafica che una firma radice di calcolo. Un elenco di comandi di calcolo avrà semplicemente una firma radice di calcolo. Queste firme radice sono indipendenti l'una dall'altra. |
uso di una firma radice |
La firma radice è la definizione di una raccolta arbitrariamente disposta di tabelle descrittori (incluso il relativo layout), costanti radice e descrittori radice. Ogni voce ha un costo per un limite massimo, quindi l'applicazione può bilanciare il rapporto tra il numero di ogni tipo di voce che conterrà la firma radice. |
Creazione di una firma radice |
Le firme radice sono una struttura di dati complessa contenente strutture annidate. Questi elementi possono essere definiti a livello di codice usando la definizione della struttura dei dati riportata di seguito, che include metodi per inizializzare i membri. In alternativa, possono essere creati in High Level Shading Language (HLSL) offrendo il vantaggio che il compilatore convaliderà in anticipo che il layout è compatibile con lo shader. |
limiti di firma radice |
La firma radice è il patrimonio immobiliare principale e ci sono limiti e costi rigorosi da considerare. |
uso di costanti direttamente nella firma radice |
Le applicazioni possono definire costanti radice nella firma radice, ognuna come set di valori a 32 bit. Vengono visualizzati in High Level Shading Language (HLSL) come buffer costante. Si noti che i buffer costanti per motivi cronologici vengono visualizzati come set di valori a 4x32 bit. |
uso dei descrittori direttamente nel della firma radice |
Le applicazioni possono inserire i descrittori direttamente nella firma radice per evitare di dover passare attraverso un heap del descrittore. Questi descrittori occupano molto spazio nella firma radice (vedere la sezione limiti della firma radice), quindi le applicazioni devono usarle con moderazione. |
firme radice di esempio |
La sezione seguente mostra le firme radice che variano in complessità da vuoto a completamente pieno. |
specifica delle firme radice in HLSL |
La specifica delle firme radice nel modello HLSL Shader 5.1 è un'alternativa alla specifica di tali firme nel codice C++. |
firma radice versione 1.1 |
Lo scopo della versione 1.1 della firma radice è consentire alle applicazioni di indicare ai driver quando i descrittori in un heap descrittore non cambieranno o i descrittori di dati puntano a non cambiare. Ciò consente ai driver di eseguire ottimizzazioni che potrebbero essere possibili sapendo che un descrittore o la memoria a cui punta è statico per un certo periodo di tempo. |