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 |