D3D12DDI_TEXTURE_BARRIER_0088-Struktur (d3d12umddi.h)

Wichtig

Einige Informationen beziehen sich auf ein Vorabrelease-Produkt, das vor der kommerziellen Freigabe wesentlich geändert werden kann. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.

Eine D3D12DDI_TEXTURE_BARRIER_0088-Struktur beschreibt Zugriffsübergänge für Texturen.

Syntax

typedef struct D3D12DDI_TEXTURE_BARRIER_0088 {
  D3D12DDI_BARRIER_SYNC                   SyncBefore;
  D3D12DDI_BARRIER_SYNC                   SyncAfter;
  D3D12DDI_BARRIER_ACCESS                 AccessBefore;
  D3D12DDI_BARRIER_ACCESS                 AccessAfter;
  D3D12DDI_BARRIER_LAYOUT                 LayoutBefore;
  D3D12DDI_BARRIER_LAYOUT                 LayoutAfter;
  D3D12DDI_HRESOURCE                      hResource;
  D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088 Subresources;
  D3D12DDI_TEXTURE_BARRIER_FLAGS_0088     Flags;
} D3D12DDI_TEXTURE_BARRIER_0088;

Member

SyncBefore

Ein D3D12DDI_BARRIER_SYNC Wert, der den Synchronisierungsbereich aller vorherigen GPU-Arbeiten angibt, die vor dem Ausführen der Barriere abgeschlossen werden müssen.

SyncAfter

Ein D3D12DDI_BARRIER_SYNC Wert, der den Synchronisierungsbereich aller nachfolgenden GPU-Aufgaben angibt, die warten müssen, bis die Ausführung der Barriere abgeschlossen ist.

AccessBefore

Ein D3D12DDI_BARRIER_ACCESS Wert, der den Zugriffsstatus der Textur vor der Ausführung der Barriere angibt.

AccessAfter

Ein D3D12DDI_BARRIER_ACCESS Wert, der den Zugriffsstatus der Textur nach Abschluss der Ausführung der Barriere angibt.

LayoutBefore

Ein D3D12DDI_BARRIER_LAYOUT Wert, der das Layout der Textur vor der Ausführung der Barriere angibt.

LayoutAfter

Ein D3D12DDI_BARRIER_LAYOUT Wert, der das Layout der Textur nach Abschluss der Ausführung der Barriere angibt.

hResource

Das Handle der Texturressource unter Verwendung der Barriere.

Subresources

Eine D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088-Struktur , die den Bereich der Texturunterressourcen angibt, die behindert werden.

Flags

Ein D3D12DDI_TEXTURE_BARRIER_FLAGS_0088 Wert, der optionale Flags angibt.

Hinweise

Allgemeine Informationen finden Sie unter Erweiterte Barrieren .

Synchronization

Grafikprozessoren sind so konzipiert, dass sie so viel Arbeit wie möglich parallel ausführen. Jede GPU-Arbeit, die von früheren GPU-Arbeiten abhängt, muss synchronisiert werden, bevor auf abhängige Daten zugegriffen wird. Die Werte SyncBefore und SyncAfter sind logische Bitfeldmasken, die jede zu synchronisierende Arbeit identifizieren.

Eine Barriere muss warten, bis alle vorherigen SyncBefore-Befehlsbereiche abgeschlossen sind, bevor die Barriere ausgeführt wird. Ebenso muss eine Barriere alle nachfolgenden SyncAfter-Bereiche blockieren, bis die Barriere abgeschlossen ist.

Layoutübergänge

Texturunterressourcen können unterschiedliche Layouts für verschiedene Zugriffsmethoden verwenden. Texturen werden z. B. häufig komprimiert, wenn sie als Renderziel oder Tiefenschablone verwendet werden, und häufig nicht komprimiert für Shaderlese- oder Kopierbefehle. Texturbarrieren verwenden LayoutBefore und LayoutAfter , um Layoutübergänge zu beschreiben.

Layoutübergänge sind nur für Texturen erforderlich, daher werden sie nur in dieser Datenstruktur ausgedrückt.

Sowohl LayoutBefore als auch LayoutAfter müssen mit dem Typ der Warteschlange kompatibel sein, die die Barriere ausführt. Beispielsweise kann eine Computewarteschlange keine Unterressource in oder aus D3D12_BARRIER_LAYOUT_RENDER_TARGET.

Um eine klar definierte Barrierereihenfolge bereitzustellen, ist das Layout einer Unterressource nach Abschluss einer Abfolge von Barrieren das endgültige LayoutAfter in der Sequenz.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 11 (WDDM 3.0)
Kopfzeile d3d12umddi.h

Weitere Informationen

D3D12DDI_BARRIER_ACCESS

D3D12DDI_BARRIER_LAYOUT

D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088

D3D12DDI_BARRIER_SYNC

D3D12DDI_TEXTURE_BARRIER_FLAGS_0088

D3D12DDIARG_BARRIER_0088

PFND3D12DDI_BARRIER_0088