Share via


Firme radice

La firma radice definisce i tipi di risorse associati alla pipeline grafica.

Contenuto della sezione

Argomento Descrizione
Panoramica delle firme radice
Una firma radice è configurata dall'app e collega gli elenchi di comandi alle risorse richieste dai shader. L'elenco di comandi grafica ha sia una firma grafica che quella radice di calcolo. Un elenco di comandi di calcolo avrà semplicemente una firma radice di calcolo. Queste firme radice sono indipendenti tra loro.
Uso di una firma radice
La firma radice è la definizione di una raccolta arbitrariamente disposta di tabelle descrittori (incluso il layout), costanti radice e descrittori radice. Ogni voce ha un costo verso un limite massimo, quindi l'applicazione può scambiare il saldo 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 nidificate. 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) dando il vantaggio che il compilatore convalida presto che il layout è compatibile con lo shader.
Limiti di firma radice
La firma radice è prime real estate 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 nella firma radice
Le applicazioni possono inserire i descrittori direttamente nella firma radice per evitare di dover passare attraverso un heap descrittore. Questi descrittori accettano molto spazio nella firma radice (vedere la sezione limiti della firma radice), quindi le applicazioni devono usarle in modo limitato.
Firme radice di esempio
La sezione seguente mostra le firme radice che variano in complessità da vuota a completa.
Specifica delle firme radice in HLSL
La specifica delle firme radice nel modello HLSL Shader 5.1 è un'alternativa a specificarli nel codice C++.
Firma radice versione 1.1
Lo scopo della firma radice versione 1.1 consiste nell'abilitare le applicazioni a indicare ai driver quando descrittori in un heap descrittore non cambieranno o i descrittori di dati puntano a non modificare. Ciò consente ai driver di effettuare ottimizzazioni che potrebbero essere possibili sapendo che un descrittore o la memoria a cui punta è statico per un certo periodo di tempo.

ID3D12RootSignature

ID3D12RootSignatureDeserializer

Associazione di risorse