Flutter Impeller
impeller::BarrierVK Struct Reference

Defines an operations and memory access barrier on a resource. More...

#include <barrier_vk.h>

Public Attributes

vk::CommandBuffer cmd_buffer = {}
 
vk::ImageLayout new_layout = vk::ImageLayout::eUndefined
 
vk::PipelineStageFlags src_stage = vk::PipelineStageFlagBits::eNone
 
vk::AccessFlags src_access = vk::AccessFlagBits::eNone
 
vk::PipelineStageFlags dst_stage = vk::PipelineStageFlagBits::eNone
 
vk::AccessFlags dst_access = vk::AccessFlagBits::eNone
 
uint32_t base_mip_level = 0
 The base mip level to apply the barrier to in the subresource range. More...
 

Detailed Description

Defines an operations and memory access barrier on a resource.

        For further reading, see
        https://www.khronos.org/events/vulkan-how-to-use-synchronisation-validation-across-multiple-queues-and-command-buffers
        and the Vulkan spec. The docs for the various member of this
        class are based on verbiage in the spec.

        A useful mnemonic for building a mental model of how to add
        these barriers is to build a sentence like so; "All commands
        before this barrier may continue till they encounter a <src
        access> in the <src pipeline stage>. And, all commands after
        this barrier may proceed till <dst access> in the <dst pipeline
        stage>."

Definition at line 27 of file barrier_vk.h.

Member Data Documentation

◆ base_mip_level

uint32_t impeller::BarrierVK::base_mip_level = 0

The base mip level to apply the barrier to in the subresource range.

Definition at line 52 of file barrier_vk.h.

Referenced by impeller::TextureSourceVK::SetLayout().

◆ cmd_buffer

vk::CommandBuffer impeller::BarrierVK::cmd_buffer = {}

Definition at line 28 of file barrier_vk.h.

Referenced by impeller::TextureSourceVK::SetLayout().

◆ dst_access

vk::AccessFlags impeller::BarrierVK::dst_access = vk::AccessFlagBits::eNone

Definition at line 49 of file barrier_vk.h.

Referenced by impeller::TextureSourceVK::SetLayout().

◆ dst_stage

vk::PipelineStageFlags impeller::BarrierVK::dst_stage = vk::PipelineStageFlagBits::eNone

Definition at line 44 of file barrier_vk.h.

Referenced by impeller::TextureSourceVK::SetLayout().

◆ new_layout

vk::ImageLayout impeller::BarrierVK::new_layout = vk::ImageLayout::eUndefined

Definition at line 29 of file barrier_vk.h.

Referenced by impeller::TextureSourceVK::SetLayout().

◆ src_access

vk::AccessFlags impeller::BarrierVK::src_access = vk::AccessFlagBits::eNone

Definition at line 39 of file barrier_vk.h.

Referenced by impeller::TextureSourceVK::SetLayout().

◆ src_stage

vk::PipelineStageFlags impeller::BarrierVK::src_stage = vk::PipelineStageFlagBits::eNone

Definition at line 34 of file barrier_vk.h.

Referenced by impeller::TextureSourceVK::SetLayout().


The documentation for this struct was generated from the following file: