Freigeben über


D3D12_GLOBAL_ROOT_SIGNATURE-Struktur (d3d12.h)

Definiert einen globalen Stammsignaturzustandsunterjekt, der mit zugeordneten Shadern verwendet wird.

Syntax

typedef struct D3D12_GLOBAL_ROOT_SIGNATURE {
  ID3D12RootSignature *pGlobalRootSignature;
} D3D12_GLOBAL_ROOT_SIGNATURE;

Member

pGlobalRootSignature

Die Stammsignatur, die als globale Stammsignatur fungiert. Ein Zustandsobjekt enthält einen Verweis auf diese Signatur.

Hinweise

Das Vorhandensein dieses Unterobjekts in einem Zustandsobjekt ist optional. Die Kombination aus globalen und/oder lokalen Stammsignaturen, die einer bestimmten Shaderfunktion zugeordnet sind, muss alle vom Shader deklarierten Ressourcenbindungen ohne Überlappung zwischen globalen und lokalen Stammsignaturen definieren.

Wenn eine bestimmte Funktion in einem Aufrufdiagramm einer bestimmten globalen Stammsignatur zugeordnet ist, müssen alle anderen Funktionen im Graphen entweder derselben globalen Stammsignatur oder keiner zugeordnet sein, und der Shadereintrag (der Stamm des Aufrufdiagramms) muss der globalen Stammsignatur zugeordnet werden.

Verschiedene Shader können unterschiedliche globale Stammsignaturen (oder keine) innerhalb eines Zustandsobjekts verwenden. Alle Shader, auf die während eines bestimmten DispatchRays-Vorgangs aus einer Befehlsliste verwiesen wird, müssen jedoch dieselbe globale Stammsignatur wie die Computestammsignatur angegeben haben. Daher ist es gültig, ein einzelnes großes Zustandsobjekt mit mehreren globalen Stammsignaturen zu definieren, die verschiedenen Teilmengen der Shader zugeordnet sind. Apps sind nicht gezwungen, ihr Zustandsobjekt aufzuteilen, nur weil einige Shader unterschiedliche globale Stammsignaturen verwenden.

Anforderungen

   
Kopfzeile d3d12.h