// d3d12umddi.h
typedef struct D3D12DDI_RANGED_BARRIER_0088 {
D3D12DDI_BARRIER_SYNC SyncBefore;
D3D12DDI_BARRIER_SYNC SyncAfter;
D3D12DDI_BARRIER_ACCESS AccessBefore;
D3D12DDI_BARRIER_ACCESS AccessAfter;
D3D12DDI_RANGED_BARRIER_FLAGS Flags;
D3D12DDI_HRESOURCE hResource;
D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088 Subresources;
D3D12DDI_RANGE Range;
} D3D12DDI_RANGED_BARRIER_0088;
View the official Windows Driver Kit DDI referenceNo description available.
The D3D12DDI_RANGED_BARRIER_0088 structure describes a resource ranged barrier. This structure replaces the legacy D3D12DDI_RESOURCE_RANGED_BARRIER_0022 structure.
SyncBeforeA D3D12DDI_BARRIER_SYNC value that specifies the synchronization scope of all preceding GPU work that must be completed before executing the barrier.
SyncAfterA D3D12DDI_BARRIER_SYNC value that specifies the synchronization scope of all subsequent GPU work that must wait until the barrier execution is finished.
AccessBeforeA D3D12DDI_BARRIER_ACCESS value that specifies the write accesses that must be flushed and finished before the barrier is executed.
AccessAfterA D3D12DDI_BARRIER_ACCESS value that specifies the accesses that must be available for data written via AccessBefore after the barrier is executed.
FlagsA D3D12DDI_RANGED_BARRIER_FLAGS value that specifies flags for the ranged barrier.
hResourceThe handle of the resource using the barrier. A NULL value means that the entire GPU cache must be flushed or invalidated. A non-NULL value means that the flush or invalidate action affects a smaller subset of the cache that can contain data for that resource.
SubresourcesA D3D12DDI_BARRIER_SUBRESOURCE_RANGE_0088 structure that specifies the range of subresources being barriered.
RangeA D3D12DDI_RANGE structure that describes a memory range.
Enhanced barriers fully deprecate the legacy ResourceBarrier DDIs. This includes the ranged barriers used internally by AtomicCopy commands.
See Enhanced Barriers for general information.