D3D12DDI_BARRIER_ACCESS-Aufzählung (d3d12umddi.h)
Ein D3D12DDI_BARRIER_ACCESS Wert ist ein bitweiser ODER 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 alle Zugriffstypen, die mit den aktuellen Layout- und Ressourceneigenschaften kompatibel sind, einschließlich nicht mehr als eines Schreibzugriffs. Für Puffer und Texturen mit D3D12DDI_BARRIER_LAYOUT_COMMONunterstützt D3D12DDI_BARRIER_ACCESS_COMMON gleichzeitige Lese- und Schreibzugriffe. Bei Verwendung als AccessAfterkönnen D3D12DDI_BARRIER_ACCESS_COMMON verwendet werden, um eine Ressource wieder auf allgemeine Barrierefreiheit zurückzugeben. Beachten Sie, dass dies bei falscher Verwendung unnötige Cachelöschungen erzwingen kann. Wenn möglich, sollte AccessAfter- auf explizite Zugriffsbits beschränkt sein. Vermeiden Sie die Verwendung von D3D12DDI_BARRIER_ACCESS_COMMON als Barriere AccessBefore Werts. Alle Lese-nach-Schreib- oder Schreib-nach-Schreib-Gefahren werden am besten mit expliziten AccessBefore Bits behandelt. |
D3D12DDI_BARRIER_ACCESS_VERTEX_BUFFER Wert: 0x1 Auf eine Pufferressource kann als Vertexpuffer in der aktuellen Ausführungswarteschlange zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_CONSTANT_BUFFER Wert: 0x2 Auf eine Pufferressource kann als Konstantenpuffer in der aktuellen Ausführungswarteschlange zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_INDEX_BUFFER Wert: 0x4 Auf eine Pufferressource kann als Indexpuffer in der aktuellen Ausführungswarteschlange 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 Datenstromausgabeziel 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 Vorabpuffer 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 Auflösungsziel zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_RESOLVE_SOURCE Wert: 0x2000 Auf eine Ressource kann als Auflösungsquelle zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ Wert: 0x4000 Eine Ressource ist für das Lesen als Ray Tracing-Beschleunigungsstruktur zugänglich. Die Ressource muss mit einem Anfangszustand von D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTUREerstellt worden sein. |
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE Wert: 0x8000 Eine Ressource ist für das Schreiben als Ray Tracing-Beschleunigungsstruktur zugänglich. Die Ressource muss mit einem Anfangszustand von D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTUREerstellt 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 in einer Videodecodierungswarteschlange schreibgeschützt zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_WRITE Wert: 0x40000 Auf eine Ressource kann über Schreibzugriff in einer Videodecodierungswarteschlange zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_READ Wert: 0x80000 Eine Ressource ist für den schreibgeschützten Zugriff in einer Videoprozesswarteschlange zugänglich. |
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_WRITE Wert: 0x100000 Auf eine Ressource kann über Schreibzugriff in einer Videoprozesswarteschlange zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_READ Wert: 0x200000 Eine Ressource ist für den schreibgeschützten Zugriff in einer Videocodierungswarteschlange zugänglich. |
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_WRITE Wert: 0x400000 Auf eine Ressource kann über Schreibzugriff in einer Videocodierungswarteschlange zugegriffen werden. |
D3D12DDI_BARRIER_ACCESS_NO_ACCESS Wert: 0x80000000 Auf eine Ressource kann nicht für Lese- oder Schreibzugriff zugegriffen werden. Nachdem ein Unterressourcenzugriff auf D3D12DDI_BARRIER_ACCESS_NO_ACCESSumgestellt wurde, muss er von einer 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_SPLITverwendet werden. D3D12DDI_BARRIER_ACCESS_NO_ACCESS kann nicht mit anderen Zugriffsbits festgelegt werden. D3D12DDI_BARRIER_ACCESS_NO_ACCESS gibt an, dass auf eine Ressource nicht zugegriffen werden soll, bis eine nachfolgende Barriere oder der nächste ECL-Bereich erreicht wird. Dieser Wert ist nützlich bei Aliasing-Barrieren, wenn eine Unterressource für eine ausreichend lange Zeit nicht benötigt wird, sodass es sinnvoll ist, die Unterressource aus einem beliebigen Lesecache zu löschen. Es ist auch nützlich, einen Layoutübergang als letzte Aktion für eine Ressource vor dem Ende eines ExecuteCommandLists-Bereichs zu initiieren. Wenn SyncAfterD3D12DDI_BARRIER_SYNC_NONEist, muss AccessAfterD3D12DDI_BARRIER_ACCESS_NO_ACCESSwerden. |
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 11 (WDDM 3.0) |
Header- | d3d12umddi.h |