| 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

## 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 28 of file barrier_vk.h.

## Member Data Documentation

## ◆ cmd_buffer

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

Definition at line 29 of file barrier_vk.h.

Referenced by impeller::BlitCopyTextureToTextureCommandVK::Encode(), impeller::BlitCopyTextureToBufferCommandVK::Encode(), impeller::BlitCopyBufferToTextureCommandVK::Encode(), and impeller::TextureSourceVK::SetLayout().

## ◆ dst_access

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

Definition at line 50 of file barrier_vk.h.

Referenced by impeller::BlitCopyTextureToTextureCommandVK::Encode(), impeller::BlitCopyTextureToBufferCommandVK::Encode(), impeller::BlitCopyBufferToTextureCommandVK::Encode(), and impeller::TextureSourceVK::SetLayout().

## ◆ dst_stage

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

Definition at line 45 of file barrier_vk.h.

Referenced by impeller::BlitCopyTextureToTextureCommandVK::Encode(), impeller::BlitCopyTextureToBufferCommandVK::Encode(), impeller::BlitCopyBufferToTextureCommandVK::Encode(), and impeller::TextureSourceVK::SetLayout().

## ◆ new_layout

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

Definition at line 30 of file barrier_vk.h.

Referenced by impeller::BlitCopyTextureToTextureCommandVK::Encode(), impeller::BlitCopyTextureToBufferCommandVK::Encode(), impeller::BlitCopyBufferToTextureCommandVK::Encode(), and impeller::TextureSourceVK::SetLayout().

## ◆ src_access

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

Definition at line 40 of file barrier_vk.h.

Referenced by impeller::BlitCopyTextureToTextureCommandVK::Encode(), impeller::BlitCopyTextureToBufferCommandVK::Encode(), impeller::BlitCopyBufferToTextureCommandVK::Encode(), and impeller::TextureSourceVK::SetLayout().

## ◆ src_stage

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

Definition at line 35 of file barrier_vk.h.

Referenced by impeller::BlitCopyTextureToTextureCommandVK::Encode(), impeller::BlitCopyTextureToBufferCommandVK::Encode(), impeller::BlitCopyBufferToTextureCommandVK::Encode(), and impeller::TextureSourceVK::SetLayout().

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

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