D3D12DDI_BARRIER_ACCESS-Enumeration (d3d12umddi.h)
Ein D3D12DDI_BARRIER_ACCESS Wert ist ein bitweiser OR der folgenden Felder, die den Ressourcenzugriff in Bezug auf eine Barriere angeben.
Syntax
typedef enum D3D12DDI_BARRIER_ACCESS {
D3D12DDI_BARRIER_ACCESS_COMMON = 0x0,
D3D12DDI_BARRIER_ACCESS_VERTEX_BUFFER = 0x1,
D3D12DDI_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2,
D3D12DDI_BARRIER_ACCESS_INDEX_BUFFER = 0x4,
D3D12DDI_BARRIER_ACCESS_RENDER_TARGET = 0x8,
D3D12DDI_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10,
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20,
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40,
D3D12DDI_BARRIER_ACCESS_SHADER_RESOURCE = 0x80,
D3D12DDI_BARRIER_ACCESS_STREAM_OUTPUT = 0x100,
D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200,
D3D12DDI_BARRIER_ACCESS_PREDICATION = 0x200,
D3D12DDI_BARRIER_ACCESS_COPY_DEST = 0x400,
D3D12DDI_BARRIER_ACCESS_COPY_SOURCE = 0x800,
D3D12DDI_BARRIER_ACCESS_RESOLVE_DEST = 0x1000,
D3D12DDI_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000,
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000,
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000,
D3D12DDI_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000,
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000,
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000,
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000,
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000,
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000,
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000,
D3D12DDI_BARRIER_ACCESS_NO_ACCESS = 0x80000000
} ;
Konstanten
D3D12DDI_BARRIER_ACCESS_COMMON Wert: 0x0 Der standardmäßige anfängliche Zugriff für alle Ressourcen in einem bestimmten ExecuteCommandLists-Bereich. Unterstützt jede Art von Zugriff, die mit den aktuellen Layout- und Ressourceneigenschaften kompatibel ist, einschließlich nicht mehr als einem Schreibzugriff. Für Puffer und Texturen mit D3D12DDI_BARRIER_LAYOUT_COMMON unterstützt D3D12DDI_BARRIER_ACCESS_COMMON gleichzeitige Lese- und Schreibzugriffe. Wenn sie als AccessAfter verwendet wird, kann D3D12DDI_BARRIER_ACCESS_COMMON verwendet werden, um eine Ressource wieder an die allgemeine Barrierefreiheit zurückzugeben. Beachten Sie, dass dadurch möglicherweise unnötige Cacheleerungen erzwungen werden, wenn sie falsch verwendet werden. AccessAfter sollte nach Möglichkeit auf explizite Zugriffsbits beschränkt sein. Vermeiden Sie die Verwendung von D3D12DDI_BARRIER_ACCESS_COMMON als AccessBefore-Barrierwert . Alle Gefahren des Lesens nach dem Schreiben oder Schreiben nach dem Schreiben werden am besten mit expliziten AccessBefore-Bits behandelt. |
D3D12DDI_BARRIER_ACCESS_VERTEX_BUFFER Wert: 0x1 Auf eine Pufferressource kann in der aktuellen Ausführungswarteschlange als Vertexpuffer zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_CONSTANT_BUFFER Wert: 0x2 Auf eine Pufferressource kann in der aktuellen Ausführungswarteschlange als konstanter Puffer zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_INDEX_BUFFER Wert: 0x4 Auf eine Pufferressource kann in der aktuellen Ausführungswarteschlange als Indexpuffer zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_RENDER_TARGET Wert: 0x8 Auf eine Ressource kann als Renderziel zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_UNORDERED_ACCESS Wert: 0x10 Auf eine Ressource kann als ungeordnete Zugriffsressource zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_WRITE Wert: 0x20 Auf eine Ressource kann als schreibbare Tiefen-/Schablonenressource zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_READ Wert: 0x40 Auf eine Ressource kann als schreibgeschützte Tiefen-/Schablonenressource zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_SHADER_RESOURCE Wert: 0x80 Auf eine Ressource kann als Shaderressource zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_STREAM_OUTPUT Wert: 0x100 Auf einen Puffer kann als Streamausgabeziel zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT Wert: 0x200 Auf einen Puffer kann als indirekter Argumentpuffer zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_PREDICATION Wert: 0x200 Auf einen Puffer kann als Prädicationpuffer zugegriffen werden. Alias mit D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT. |
D3D12DDI_BARRIER_ACCESS_COPY_DEST Wert: 0x400 Auf eine Ressource kann als Kopierziel zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_COPY_SOURCE Wert: 0x800 Auf eine Ressource kann als Kopierquelle zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_RESOLVE_DEST Wert: 0x1000 Auf eine Ressource kann als Lösungsziel zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_RESOLVE_SOURCE Wert: 0x2000 Auf eine Ressource kann als Lösungsquelle zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ Wert: 0x4000 Auf eine Ressource kann als Raytracingbeschleunigungsstruktur gelesen werden. Die Ressource muss mit dem Anfangszustand D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE erstellt worden sein. |
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE Wert: 0x8000 Auf eine Ressource kann als Raytracingbeschleunigungsstruktur für Schreibvorgänge zugegriffen werden. Die Ressource muss mit dem Anfangszustand D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE erstellt worden sein. |
D3D12DDI_BARRIER_ACCESS_SHADING_RATE_SOURCE Wert: 0x10000 Auf eine Ressource kann als Schattierungsratesquelle zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_READ Wert: 0x20000 Auf eine Ressource kann für schreibgeschützten Zugriff in einer Videodecodierungswarteschlange zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_WRITE Wert: 0x40000 Auf eine Ressource kann für den Schreibzugriff in einer Video-Decodierungswarteschlange zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_READ Wert: 0x80000 Auf eine Ressource kann für schreibgeschützten Zugriff in einer Videoprozesswarteschlange zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_WRITE Wert: 0x100000 Auf eine Ressource kann für Schreibzugriff in einer Videoprozesswarteschlange zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_READ Wert: 0x200000 Auf eine Ressource kann für den schreibgeschützten Zugriff in einer Videocodierungswarteschlange zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_WRITE Wert: 0x400000 Auf eine Ressource kann für den Schreibzugriff in einer Videocodierungswarteschlange zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_NO_ACCESS Wert: 0x80000000 Auf eine Ressource kann nicht zu Lese- oder Schreibvorgängen zugegriffen werden. Nachdem ein Unterressourcenzugriff auf D3D12DDI_BARRIER_ACCESS_NO_ACCESS umgestellt wurde, muss er durch eine Barriere reaktiviert werden, wobei AccessBefore auf D3D12DDI_BARRIER_ACCESS_NO_ACCESS festgelegt ist, bevor er im gleichen ExecuteCommandLists-Bereich verwendet wird. D3D12DDI_BARRIER_ACCESS_NO_ACCESS kann nur in Verbindung mit D3D12DDI_BARRIER_SYNC_NONE oder D3D12DDI_BARRIER_SYNC_SPLIT verwendet werden. D3D12DDI_BARRIER_ACCESS_NO_ACCESS können nicht mit anderen Zugriffsbits festgelegt werden. D3D12DDI_BARRIER_ACCESS_NO_ACCESS gibt an, dass auf eine Ressource erst nach einer nachfolgenden Barriere oder dem nächsten ECL-Bereich zugegriffen wird. Dieser Wert ist nützlich beim Aliasing von Barrieren, wenn eine Unterressource nicht so lange benötigt wird, dass es sinnvoll ist, die Unterressource aus einem beliebigen Lesecache zu löschen. Es ist auch nützlich, um einen Layoutübergang als letzte Aktion für eine Ressource vor dem Ende eines ExecuteCommandLists-Bereichs zu initiieren. Wenn SyncAfterD3D12DDI_BARRIER_SYNC_NONE ist, muss AccessAfterD3D12DDI_BARRIER_ACCESS_NO_ACCESS sein. |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 11 (WDDM 3.0) |
Kopfzeile | d3d12umddi.h |