VkDependencyInfo
The VkDependencyInfo structure is defined as:
typedef struct VkDependencyInfo {
VkStructureType sType;
const void* pNext;
VkDependencyFlags dependencyFlags;
uint32_t memoryBarrierCount;
const VkMemoryBarrier2* pMemoryBarriers;
uint32_t bufferMemoryBarrierCount;
const VkBufferMemoryBarrier2* pBufferMemoryBarriers;
uint32_t imageMemoryBarrierCount;
const VkImageMemoryBarrier2* pImageMemoryBarriers;
} VkDependencyInfo;
pub struct DependencyInfo {
s_type: vk::StructureType,
p_next: *const c_void,
dependency_flags: vk::DependencyFlags,
memory_barrier_count: u32,
p_memory_barriers: *const vk::MemoryBarrier2,
buffer_memory_barrier_count: u32,
p_buffer_memory_barriers: *const vk::BufferMemoryBarrier2,
image_memory_barrier_count: u32,
p_image_memory_barriers: *const vk::ImageMemoryBarrier2,
}
typedef VkDependencyInfo VkDependencyInfoKHR;
type DependencyInfoKHR = vk::DependencyInfo;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.dependencyFlagsis a bitmask of VkDependencyFlagBits specifying how execution and memory dependencies are formed.memoryBarrierCountis the length of thepMemoryBarriersarray.pMemoryBarriersis a pointer to an array of VkMemoryBarrier2 structures defining memory dependencies between any memory accesses.bufferMemoryBarrierCountis the length of thepBufferMemoryBarriersarray.pBufferMemoryBarriersis a pointer to an array of VkBufferMemoryBarrier2 structures defining memory dependencies between buffer ranges.imageMemoryBarrierCountis the length of thepImageMemoryBarriersarray.pImageMemoryBarriersis a pointer to an array of VkImageMemoryBarrier2 structures defining memory dependencies between image subresources.
This structure defines a set of memory dependencies, as well as queue family ownership transfer operations and image layout transitions.
Each member of pMemoryBarriers, pBufferMemoryBarriers, and
pImageMemoryBarriers defines a separate
memory dependency.
Valid Usage
VUID-VkDependencyInfo-pMemoryBarriers-10605
For each element of pMemoryBarriers, the sType value of each
structure in the pNext chain must be unique
VUID-VkDependencyInfo-pMemoryBarriers-10606
For each element of pMemoryBarriers, pNext must be
either NULL or a pointer to a valid instance of VkMemoryBarrierAccessFlags3KHR
VUID-VkDependencyInfo-pNext-09754
If a VkTensorDependencyInfoARM structure is included in the
pNext chain, a VkTensorMemoryBarrierARM structure must not
be included in the pNext chain
Valid Usage (Implicit)
VUID-VkDependencyInfo-sType-sType
sType must be VK_STRUCTURE_TYPE_DEPENDENCY_INFO
VUID-VkDependencyInfo-pNext-pNext
Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkMemoryRangeBarriersInfoKHR, VkTensorDependencyInfoARM, or VkTensorMemoryBarrierARM
VUID-VkDependencyInfo-sType-unique
The sType value of each structure in the pNext chain must be unique
VUID-VkDependencyInfo-dependencyFlags-parameter
dependencyFlags must be a valid combination of VkDependencyFlagBits values
VUID-VkDependencyInfo-pMemoryBarriers-parameter
If memoryBarrierCount is not 0, pMemoryBarriers must be a valid pointer to an array of memoryBarrierCount valid VkMemoryBarrier2 structures
VUID-VkDependencyInfo-pBufferMemoryBarriers-parameter
If bufferMemoryBarrierCount is not 0, pBufferMemoryBarriers must be a valid pointer to an array of bufferMemoryBarrierCount valid VkBufferMemoryBarrier2 structures
VUID-VkDependencyInfo-pImageMemoryBarriers-parameter
If imageMemoryBarrierCount is not 0, pImageMemoryBarriers must be a valid pointer to an array of imageMemoryBarrierCount valid VkImageMemoryBarrier2 structures