class new in Git master
#include <Magnum/Vk/Pipeline.h>
BufferMemoryBarrier Memory barrier affecting a single buffer.
Wraps a VkBufferMemoryBarrier. Compared to MemoryBarrier only affects a single buffer. This class is subsequently used in CommandBuffer::
Constructors, destructors, conversion operators
- BufferMemoryBarrier(Accesses sourceAccesses, Accesses destinationAccesses, VkBuffer buffer, UnsignedLong offset = 0, UnsignedLong size = VK_WHOLE_SIZE)
- Constructor.
- BufferMemoryBarrier(NoInitT) explicit noexcept
- Construct without initializing the contents.
- BufferMemoryBarrier(const VkBufferMemoryBarrier& barrier) explicit
- Construct from existing data.
- operator const VkBufferMemoryBarrier*() const
Public functions
- auto operator*() -> VkBufferMemoryBarrier&
- Underlying VkBufferMemoryBarrier structure.
- auto operator*() const -> const VkBufferMemoryBarrier&
- auto operator->() -> VkBufferMemoryBarrier*
- auto operator->() const -> const VkBufferMemoryBarrier*
Function documentation
Magnum:: Vk:: BufferMemoryBarrier:: BufferMemoryBarrier(Accesses sourceAccesses,
Accesses destinationAccesses,
VkBuffer buffer,
UnsignedLong offset = 0,
UnsignedLong size = VK_WHOLE_SIZE)
Constructor.
Parameters | |
---|---|
sourceAccesses | Source memory access types participating in a dependency. While allowed, passing Read accesses here is redundant — that's already taken care of by the stage execution dependency in CommandBuffer:: |
destinationAccesses | Destination memory access types participating in a dependency |
buffer | A Buffer or a raw Vulkan buffer handle affected by the barrier |
offset | Buffer memory offset affected by the barrier, in bytes |
size | Buffer memory size affected by the barrier, in bytes |
The following VkBufferMemoryBarrier fields are pre-filled in addition to sType
, everything else is zero-filled:
srcAccessMask
tosourceAccesses
dstAccessMask
todestinationAccesses
buffer
offset
size
Magnum:: Vk:: BufferMemoryBarrier:: BufferMemoryBarrier(NoInitT) explicit noexcept
Construct without initializing the contents.
Note that not even the sType
field is set — the structure has to be fully initialized afterwards in order to be usable.
Magnum:: Vk:: BufferMemoryBarrier:: BufferMemoryBarrier(const VkBufferMemoryBarrier& barrier) explicit
Construct from existing data.
Copies the existing values verbatim, pointers are kept unchanged without taking over the ownership. Modifying the newly created instance will not modify the original data nor the pointed-to data.
Magnum:: Vk:: BufferMemoryBarrier:: operator const VkBufferMemoryBarrier*() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
const VkBufferMemoryBarrier& Magnum:: Vk:: BufferMemoryBarrier:: operator*() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
VkBufferMemoryBarrier* Magnum:: Vk:: BufferMemoryBarrier:: operator->()
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
const VkBufferMemoryBarrier* Magnum:: Vk:: BufferMemoryBarrier:: operator->() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.