Struct vulkano::sync::DependencyInfo
source · pub struct DependencyInfo {
pub dependency_flags: DependencyFlags,
pub memory_barriers: SmallVec<[MemoryBarrier; 2]>,
pub buffer_memory_barriers: SmallVec<[BufferMemoryBarrier; 8]>,
pub image_memory_barriers: SmallVec<[ImageMemoryBarrier; 8]>,
pub _ne: NonExhaustive,
}
Expand description
Dependency info for barriers in a pipeline barrier or event command.
A pipeline barrier creates a dependency between commands submitted before the barrier (the
source scope) and commands submitted after it (the destination scope). An event command acts
like a split pipeline barrier: the source scope and destination scope are defined
relative to different commands. Each DependencyInfo
consists of multiple individual barriers
that concern a either single resource or operate globally.
Each barrier has a set of source/destination pipeline stages and source/destination memory
access types. The pipeline stages create an execution dependency: the src_stages
of
commands submitted before the barrier must be completely finished before before any of the
dst_stages
of commands after the barrier are allowed to start. The memory access types
create a memory dependency: in addition to the execution dependency, any src_access
performed before the barrier must be made available and visible before any dst_access
are made after the barrier.
Fields§
§dependency_flags: DependencyFlags
Flags to modify how the execution and memory dependencies are formed.
The default value is empty.
memory_barriers: SmallVec<[MemoryBarrier; 2]>
Memory barriers for global operations and accesses, not limited to a single resource.
The default value is empty.
buffer_memory_barriers: SmallVec<[BufferMemoryBarrier; 8]>
Memory barriers for individual buffers.
The default value is empty.
image_memory_barriers: SmallVec<[ImageMemoryBarrier; 8]>
Memory barriers for individual images.
The default value is empty.
_ne: NonExhaustive
Implementations§
Trait Implementations§
source§impl Clone for DependencyInfo
impl Clone for DependencyInfo
source§fn clone(&self) -> DependencyInfo
fn clone(&self) -> DependencyInfo
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more