| Flutter Impeller |

Public Attributes | List of all members
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:

- impeller/renderer/backend/vulkan/barrier_vk.h