Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Структура D3D12DDI_TEXTURE_BARRIER_0088 описывает переходы доступа для текстур.
Синтаксис
typedef struct D3D12DDI_TEXTURE_BARRIER_0088 {
D3D12DDI_BARRIER_SYNC SyncBefore;
D3D12DDI_BARRIER_SYNC SyncAfter;
D3D12DDI_BARRIER_ACCESS AccessBefore;
D3D12DDI_BARRIER_ACCESS AccessAfter;
D3D12DDI_BARRIER_LAYOUT LayoutBefore;
D3D12DDI_BARRIER_LAYOUT LayoutAfter;
D3D12DDI_HRESOURCE hResource;
D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088 Subresources;
D3D12DDI_TEXTURE_BARRIER_FLAGS_0088 Flags;
} D3D12DDI_TEXTURE_BARRIER_0088;
Члены
SyncBefore
Значение D3D12DDI_BARRIER_SYNC, указывающее область синхронизации всех предыдущих работ GPU, которые необходимо завершить перед выполнением барьера.
SyncAfter
Значение D3D12DDI_BARRIER_SYNC, указывающее область синхронизации всех последующих работ GPU, которые должны ожидать завершения выполнения барьера.
AccessBefore
Значение D3D12DDI_BARRIER_ACCESS, указывающее состояние доступа текстуры перед выполнением барьера.
AccessAfter
Значение D3D12DDI_BARRIER_ACCESS, указывающее состояние доступа текстуры после завершения выполнения барьерного выполнения.
LayoutBefore
Значение D3D12DDI_BARRIER_LAYOUT, указывающее макет текстуры перед выполнением барьера.
LayoutAfter
Значение D3D12DDI_BARRIER_LAYOUT, указывающее макет текстуры после завершения выполнения барьерного выполнения.
hResource
Дескриптор ресурса текстуры с помощью барьера.
Subresources
Структура D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088, указывающая диапазон подресурсов текстуры, которые будут барьерированы.
Flags
Значение D3D12DDI_TEXTURE_BARRIER_FLAGS_0088, указывающее необязательные флаги.
Замечания
Общие сведения см. в расширенных барьеров.
Синхронизация
Графические процессоры предназначены для параллельного выполнения максимальной работы. Перед доступом к зависимым данным необходимо синхронизировать любую работу GPU, зависящую от предыдущей работы GPU. Значения SyncBefore и SyncAfter — это логические маски битовых полей, которые определяют любую работу для синхронизации.
Барьер должен ожидать завершения всех предыдущих команд SyncBefore области перед выполнением барьера. Аналогичным образом барьер должен блокировать все последующие SyncAfter области до завершения барьера.
Переходы макета
Подресурс текстуры может использовать различные макеты для различных методов доступа. Например, текстуры часто сжимаются при использовании в качестве целевого объекта отрисовки или набора элементов глубины и часто распаковываются для команд чтения или копирования шейдера. Барьеры текстур используют LayoutBefore и LayoutAfter для описания переходов макета.
Переходы макета необходимы только для текстур, поэтому они выражаются только в этой структуре данных.
Оба LayoutBefore и LayoutAfter должны быть совместимы с типом очереди, выполняющей барьер. Например, очередь вычислений не может перенести подресурс в D3D12_BARRIER_LAYOUT_RENDER_TARGETили из него.
Чтобы обеспечить четко определенный порядок барьеров, макет подресурса после завершения последовательности барьеров является окончательным LayoutAfter в последовательности.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Windows 11 (WDDM 3.0) |
| заголовка | d3d12umddi.h |
См. также
D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088