перечисление D3D12DDI_BARRIER_LAYOUT (d3d12umddi.h)
Важно!
Некоторые сведения относятся к предварительной версии продукта, который может быть существенно изменен до его коммерческого выпуска. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Значение D3D12DDI_BARRIER_LAYOUT описывает возможные макеты, используемые подресурсами D3D12 в отношении барьеров текстуры. Макеты применяются только к ресурсам текстур.
Синтаксис
typedef enum D3D12DDI_BARRIER_LAYOUT {
D3D12DDI_BARRIER_LAYOUT_UNDEFINED = 0xffffffff,
D3D12DDI_BARRIER_LAYOUT_COMMON = 0,
D3D12DDI_BARRIER_LAYOUT_PRESENT = 0,
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_COPY_SOURCE = 0x80000000,
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_LEGACY_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_LEGACY_PIXEL_SHADER_RESOURCE
} ;
Константы
D3D12DDI_BARRIER_LAYOUT_UNDEFINED Значение: 0xffffffff Обеспечивает поддержку изменений макета подресурсов, где предыдущий макет не имеет значения или не определен. Как правило, он используется для команд полного подресурса или полного ресурса Очистить, Отменить и Копировать. Переход макета с параметрами LayoutBefore и LayoutAfter , равными D3D12_BARRIER_LAYOUT_UNDEFINED , указывает на барьер доступа только к памяти. Многие операции чтения и записи поддерживают D3D12_BARRIER_LAYOUT_COMMON. В частности, команды копирования могут выполнять запись в текстуры с помощью D3D12_BARRIER_LAYOUT_COMMON или D3D12_BARRIER_LAYOUT_COPY. Барьер доступа только к памяти можно использовать для очистки операций записи копирования в текстуру без изменения макета текстуры. |
D3D12DDI_BARRIER_LAYOUT_COMMON Значение: 0 Это макет, используемый D3D12_RESOURCE_STATE_COMMON. Вложенные ресурсы с этим макетом доступны для чтения в очереди любого типа без необходимости изменения макета. Они также могут записываться в качестве места назначения копирования в любом типе очереди. Для представления цепочки буферов требуется, чтобы задний буфер использовал D3D12_BARRIER_LAYOUT_COMMON. |
D3D12DDI_BARRIER_LAYOUT_PRESENT Значение: 0 Псевдоним для D3D12_BARRIER_LAYOUT_COMMON. |
D3D12DDI_BARRIER_LAYOUT_GENERIC_READ Обеспечивает поддержку любого доступа только для чтения (например, SHADER_RESOURCE, COPY_SOURCE). Это значение следует использовать только для текстур, для которых требуется несколько одновременных операций чтения, так как это может быть не так оптимально, как более конкретный макет для чтения. |
D3D12DDI_BARRIER_LAYOUT_RENDER_TARGET Соответствует макету, используемому D3D12_RESOURCE_STATE_RENDER_TARGET. |
D3D12DDI_BARRIER_LAYOUT_UNORDERED_ACCESS Соответствует макету, используемому D3D12_RESOURCE_STATE_UNORDERED_ACCESS. |
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE Соответствует макету, используемому D3D12_RESOURCE_STATE_DEPTH_WRITE. |
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_READ Соответствует макету, используемому D3D12_RESOURCE_STATE_DEPTH_READ. |
D3D12DDI_BARRIER_LAYOUT_SHADER_RESOURCE Соответствует макету, используемому D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE и D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. |
D3D12DDI_BARRIER_LAYOUT_COPY_SOURCE Соответствует макету, используемому D3D12_RESOURCE_STATE_COPY_SOURCE. |
D3D12DDI_BARRIER_LAYOUT_COPY_DEST Соответствует макету, используемому D3D12_RESOURCE_STATE_COPY_DEST. |
D3D12DDI_BARRIER_LAYOUT_RESOLVE_SOURCE Соответствует макету, используемому D3D12DDI_RESOURCE_STATE_RESOLVE_SOURCE. |
D3D12DDI_BARRIER_LAYOUT_RESOLVE_DEST Соответствует макету, используемому D3D12DDI_RESOURCE_STATE_RESOLVE_DEST. |
D3D12DDI_BARRIER_LAYOUT_SHADING_RATE_SOURCE Соответствует макету, используемому D3D12DDI_RESOURCE_STATE_0062_SHADING_RATE_SOURCE. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_READ Соответствует макету, используемому D3D12_RESOURCE_STATE_VIDEO_DECODE_READ. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_WRITE Соответствует макету, используемому D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_READ Соответствует макету, используемому D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE Соответствует макету, используемому D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_READ Соответствует макету, используемому D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE Соответствует макету, используемому D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON Поддерживает общее использование (без барьеров) только в прямых очередях. Это значение является более оптимальным, чем более общее D3D12DDI_BARRIER_LAYOUT_COMMON. Может использоваться только в барьерах в прямых очередях. Обратите внимание, что этот параметр нельзя использовать для параметра Present. D3D12_BARRIER_LAYOUT_COMMON (также известный как D3D12_BARRIER_LAYOUT_PRESENT) по-прежнему является обязательным макетом для презентации. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ Аналогично D3D12_BARRIER_LAYOUT_GENERIC_READ за исключением оптимизаций, характерных для прямых очередей. Может использоваться только в барьерах в прямых очередях. Кроме того, D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ включает поддержку глубины только для чтения, источника с частотой заливки и разрешения доступа к источнику в прямых очередях. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS Аналогично D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS за исключением оптимизаций, характерных для прямых очередей. Может использоваться только в барьерах в прямых очередях. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE То же, что и D3D12_BARRIER_LAYOUT_SHADER_RESOURCE за исключением оптимизаций, характерных для прямых очередей. Может использоваться только в барьерах в прямых очередях. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE То же, что и D3D12_BARRIER_LAYOUT_COPY_SOURCE за исключением оптимизаций, характерных для прямых очередей. Может использоваться только в барьерах в прямых очередях. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST То же, что и D3D12_BARRIER_LAYOUT_COPY_DEST за исключением оптимизаций, характерных для прямых очередей. Может использоваться только в барьерах в прямых очередях. Может предотвратить дорогостоящую и ненужную распаковку при некоторых переходах макета для ресурсов со следующим доступом в прямой очереди. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON Поддерживает общее использование (без барьеров) только в очередях вычислений. Может быть более оптимальным, чем более общий D3D12_BARRIER_LAYOUT_COMMON. Может использоваться только в барьерах в очередях вычислений. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ Аналогично D3D12_BARRIER_LAYOUT_GENERIC_READ за исключением оптимизаций, характерных для очередей вычислений. Может использоваться только в барьерах в очередях вычислений. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS Аналогично D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS за исключением оптимизаций, характерных для очередей вычислений. Может использоваться только в барьерах в очередях вычислений. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE То же, что и D3D12_BARRIER_LAYOUT_SHADER_RESOURCE за исключением оптимизаций, характерных для очередей вычислений. Может использоваться только в барьерах в очередях вычислений. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE Аналогично D3D12_BARRIER_LAYOUT_COPY_SOURCE за исключением оптимизаций, характерных для очередей вычислений. Может использоваться только в барьерах в очередях вычислений. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST Аналогично D3D12_BARRIER_LAYOUT_COPY_DEST за исключением оптимизаций, характерных для очередей вычислений. Может использоваться только в барьерах в очередях вычислений. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON Поддерживает общее использование (без барьеров) только в очередях видео. Может быть более оптимальным, чем более общий D3D12_BARRIER_LAYOUT_COMMON. Может использоваться только в барьерах в очередях видео. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_SOURCE Значение: 0x80000000 Поддерживает внутренне преобразованное состояние ресурса прежних версий. С этим значением не сопоставлены API-интерфейсы расширенных барьеров. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_DEST Поддерживает внутренне преобразованное состояние ресурса прежних версий. С этим значением не сопоставлены API-интерфейсы расширенных барьеров. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_SHADER_RESOURCE Поддерживает внутренне преобразованное состояние ресурса прежних версий. С этим значением не сопоставлены API-интерфейсы расширенных барьеров. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_PIXEL_SHADER_RESOURCE Поддерживает внутренне преобразованное состояние ресурса прежних версий. С этим значением не сопоставлены API-интерфейсы расширенных барьеров. |
Комментарии
Ресурсы буфера имеют только линейную структуру, независимо от типа доступа.
Макеты ресурсов должны быть совместимы с типом очереди, выполняющей переход макета.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 11 (WDDM 3.0) |
Верхняя часть | d3d12umddi.h |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по