Freigeben über


D3D12DDI_BARRIER_LAYOUT-Aufzählung (d3d12umddi.h)

Ein D3D12DDI_BARRIER_LAYOUT Wert beschreibt die möglichen Layouts, die von D3D12-Unterressourcen in Bezug auf Texturbarrierenverwendet werden. Layouts gelten nur für Texturressourcen.

Syntax

typedef enum D3D12DDI_BARRIER_LAYOUT {
  D3D12DDI_BARRIER_LAYOUT_UNDEFINED,
  D3D12DDI_BARRIER_LAYOUT_COMMON,
  D3D12DDI_BARRIER_LAYOUT_PRESENT,
  D3D12DDI_BARRIER_LAYOUT_GENERIC_READ,
  D3D12DDI_BARRIER_LAYOUT_RENDER_TARGET,
  D3D12DDI_BARRIER_LAYOUT_UNORDERED_ACCESS,
  D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE,
  D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_READ,
  D3D12DDI_BARRIER_LAYOUT_SHADER_RESOURCE,
  D3D12DDI_BARRIER_LAYOUT_COPY_SOURCE,
  D3D12DDI_BARRIER_LAYOUT_COPY_DEST,
  D3D12DDI_BARRIER_LAYOUT_RESOLVE_SOURCE,
  D3D12DDI_BARRIER_LAYOUT_RESOLVE_DEST,
  D3D12DDI_BARRIER_LAYOUT_SHADING_RATE_SOURCE,
  D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_READ,
  D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_WRITE,
  D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_READ,
  D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE,
  D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_READ,
  D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE,
  D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON,
  D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ,
  D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS,
  D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE,
  D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE,
  D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST,
  D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON,
  D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ,
  D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS,
  D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE,
  D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE,
  D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST,
  D3D12DDI_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON,
  D3D12DDI_BARRIER_LAYOUT_LEGACY_DIRECT_QUEUE_GENERIC_READ_COMPUTE_QUEUE_ACCESSIBLE,
  D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_SOURCE,
  D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_DEST,
  D3D12DDI_BARRIER_LAYOUT_LEGACY_SHADER_RESOURCE,
  D3D12DDI_BARRIER_LAYOUT_LEGACY_PIXEL_SHADER_RESOURCE
} ;

Konstanten

 
D3D12DDI_BARRIER_LAYOUT_UNDEFINED
Bietet Unterstützung für Unterressourcenlayoutänderungen, bei denen das vorherige Layout irrelevant oder nicht definiert ist. In der Regel wird dies für Befehle "Vollständige Unterressource" oder "Vollständig"-Ressource "Löschen", "Verwerfen" und "Kopieren" verwendet.

Ein Layoutübergang mit LayoutBefore und LayoutAfter auf D3D12_BARRIER_LAYOUT_UNDEFINED festgelegt ist, weist auf eine schreibgeschützte Speicherzugriffsbarriere hin. Viele Lese-/Schreibvorgänge unterstützen D3D12_BARRIER_LAYOUT_COMMON. Insbesondere können Befehle zum Kopieren mithilfe der D3D12_BARRIER_LAYOUT_COMMON oder D3D12_BARRIER_LAYOUT_COPYin Texturen schreiben. Eine schreibgeschützte Speicherzugriffsbarriere kann verwendet werden, um Schreibvorgänge in eine Textur zu leeren, ohne das Texturlayout zu ändern.
D3D12DDI_BARRIER_LAYOUT_COMMON
Dies ist das Layout, das von D3D12_RESOURCE_STATE_COMMONverwendet wird. Unterressourcen mit diesem Layout sind in jedem Warteschlangentyp lesbar, ohne dass eine Layoutänderung erforderlich ist. Sie können auch als Kopierziel in jedem Warteschlangentyp geschrieben werden.

Swapchainpräsentation erfordert, dass der Hintergrundpuffer D3D12_BARRIER_LAYOUT_COMMONverwendet.
D3D12DDI_BARRIER_LAYOUT_PRESENT
Alias für D3D12_BARRIER_LAYOUT_COMMON.
D3D12DDI_BARRIER_LAYOUT_GENERIC_READ
Bietet Unterstützung für schreibgeschützten Zugriff (z. B. SHADER_RESOURCE, COPY_SOURCE). Dieser Wert sollte nur für Texturen verwendet werden, die mehrere gleichzeitige Lesezugriffe erfordern, da dies möglicherweise nicht so optimal wie ein spezifisches Leselayout ist.
D3D12DDI_BARRIER_LAYOUT_RENDER_TARGET
Entspricht dem von D3D12_RESOURCE_STATE_RENDER_TARGETverwendeten Layout.
D3D12DDI_BARRIER_LAYOUT_UNORDERED_ACCESS
Entspricht dem von D3D12_RESOURCE_STATE_UNORDERED_ACCESSverwendeten Layout.
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE
Entspricht dem von D3D12_RESOURCE_STATE_DEPTH_WRITEverwendeten Layout.
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_READ
Entspricht dem von D3D12_RESOURCE_STATE_DEPTH_READverwendeten Layout.
D3D12DDI_BARRIER_LAYOUT_SHADER_RESOURCE
Entspricht dem layout, das von D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE und D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCEverwendet wird.
D3D12DDI_BARRIER_LAYOUT_COPY_SOURCE
Entspricht dem von D3D12_RESOURCE_STATE_COPY_SOURCEverwendeten Layout.
D3D12DDI_BARRIER_LAYOUT_COPY_DEST
Entspricht dem von D3D12_RESOURCE_STATE_COPY_DESTverwendeten Layout.
D3D12DDI_BARRIER_LAYOUT_RESOLVE_SOURCE
Entspricht dem von D3D12DDI_RESOURCE_STATE_RESOLVE_SOURCEverwendeten Layout.
D3D12DDI_BARRIER_LAYOUT_RESOLVE_DEST
Entspricht dem von D3D12DDI_RESOURCE_STATE_RESOLVE_DESTverwendeten Layout.
D3D12DDI_BARRIER_LAYOUT_SHADING_RATE_SOURCE
Entspricht dem layout, das von D3D12DDI_RESOURCE_STATE_0062_SHADING_RATE_SOURCEverwendet wird.
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_READ
Entspricht dem von D3D12_RESOURCE_STATE_VIDEO_DECODE_READverwendeten Layout.
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_WRITE
Entspricht dem von D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITEverwendeten Layout.
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_READ
Entspricht dem von D3D12_RESOURCE_STATE_VIDEO_PROCESS_READverwendeten Layout.
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE
Entspricht dem von D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITEverwendeten Layout.
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_READ
Entspricht dem layout, das von D3D12_RESOURCE_STATE_VIDEO_ENCODE_READverwendet wird.
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE
Entspricht dem von D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITEverwendeten Layout.
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON
Unterstützt die allgemeine (barrierefreie) Verwendung nur für direkte Warteschlangen. Dieser Wert ist optimaler als die allgemeinere D3D12DDI_BARRIER_LAYOUT_COMMON. Kann nur in Barrieren für direkte Warteschlangen verwendet werden.

Beachten Sie, dass dies nicht für "Präsentieren" verwendet werden kann. D3D12_BARRIER_LAYOUT_COMMON (auch als D3D12_BARRIER_LAYOUT_PRESENTbezeichnet) ist weiterhin das erforderliche Layout für Die Präsentation.
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ
Identisch mit D3D12_BARRIER_LAYOUT_GENERIC_READ mit Ausnahme von Optimierungen, die für direkte Warteschlangen spezifisch sind. Kann nur in Barrieren für direkte Warteschlangen verwendet werden.

Darüber hinaus umfasst D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ Unterstützung für schreibgeschützte Tiefen-, Schattierungsraten- und Auflösungsquellenzugriffe für direkte Warteschlangen.
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS
Identisch mit D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS mit Ausnahme von Optimierungen, die für direkte Warteschlangen spezifisch sind. Kann nur in Barrieren für direkte Warteschlangen verwendet werden.
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE
Identisch mit D3D12_BARRIER_LAYOUT_SHADER_RESOURCE mit Ausnahme von Optimierungen, die für direkte Warteschlangen spezifisch sind. Kann nur in Barrieren für direkte Warteschlangen verwendet werden.
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE
Identisch mit D3D12_BARRIER_LAYOUT_COPY_SOURCE mit Ausnahme von Optimierungen, die für direkte Warteschlangen spezifisch sind. Kann nur in Barrieren für direkte Warteschlangen verwendet werden.
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST
Identisch mit D3D12_BARRIER_LAYOUT_COPY_DEST mit Ausnahme von Optimierungen, die für direkte Warteschlangen spezifisch sind. Kann nur in Barrieren für direkte Warteschlangen verwendet werden. Kann kostspielige und unnötige Dekomprimierung bei einigen Layoutübergängen für Ressourcen mit dem nächsten Zugriff in einer Direct-Warteschlange verhindern.
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON
Unterstützt die allgemeine (barrierefreie) Verwendung nur für Computewarteschlangen. Kann optimaler sein als die allgemeineren D3D12_BARRIER_LAYOUT_COMMON. Kann nur in Barrieren für Computewarteschlangen verwendet werden.
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ
Identisch mit D3D12_BARRIER_LAYOUT_GENERIC_READ mit Ausnahme von Optimierungen, die für Computewarteschlangen spezifisch sind. Kann nur in Barrieren für Computewarteschlangen verwendet werden.
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS
Identisch mit D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS mit Ausnahme von Optimierungen, die für Computewarteschlangen spezifisch sind. Kann nur in Barrieren für Computewarteschlangen verwendet werden.
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE
Identisch mit D3D12_BARRIER_LAYOUT_SHADER_RESOURCE mit Ausnahme von Optimierungen, die für Computewarteschlangen spezifisch sind. Kann nur in Barrieren für Computewarteschlangen verwendet werden.
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE
Identisch mit D3D12_BARRIER_LAYOUT_COPY_SOURCE mit Ausnahme von Optimierungen, die für Computewarteschlangen spezifisch sind. Kann nur in Barrieren für Computewarteschlangen verwendet werden.
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST
Identisch mit D3D12_BARRIER_LAYOUT_COPY_DEST mit Ausnahme von Optimierungen, die für Computewarteschlangen spezifisch sind. Kann nur in Barrieren für Computewarteschlangen verwendet werden.
D3D12DDI_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON
Unterstützt die allgemeine (barrierefreie) Verwendung nur für Videowarteschlangen. Kann optimaler sein als die allgemeineren D3D12_BARRIER_LAYOUT_COMMON. Kann nur in Barrieren für Videowarteschlangen verwendet werden.
D3D12DDI_BARRIER_LAYOUT_LEGACY_DIRECT_QUEUE_GENERIC_READ_COMPUTE_QUEUE_ACCESSIBLE
Unterstützt einen intern übersetzten Legacyressourcenstatus. Diesem Wert sind keine erweiterten Barriere-APIs zugeordnet.
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_SOURCE
Unterstützt einen intern übersetzten Legacyressourcenstatus. Diesem Wert sind keine erweiterten Barriere-APIs zugeordnet.
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_DEST
Unterstützt einen intern übersetzten Legacyressourcenstatus. Diesem Wert sind keine erweiterten Barriere-APIs zugeordnet.
D3D12DDI_BARRIER_LAYOUT_LEGACY_SHADER_RESOURCE
Unterstützt einen intern übersetzten Legacyressourcenstatus. Diesem Wert sind keine erweiterten Barriere-APIs zugeordnet.
D3D12DDI_BARRIER_LAYOUT_LEGACY_PIXEL_SHADER_RESOURCE
Unterstützt einen intern übersetzten Legacyressourcenstatus. Diesem Wert sind keine erweiterten Barriere-APIs zugeordnet.

Bemerkungen

Pufferressourcen verfügen nur über ein lineares Layout, unabhängig vom Zugriffstyp.

Ressourcenlayouts müssen mit dem Typ der Warteschlange kompatibel sein, die den Layoutübergang ausführt.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 11 (WDDM 3.0)
Header- d3d12umddi.h

Siehe auch

D3D12DDI_TEXTURE_BARRIER_0088