class new in Git master
#include <Magnum/Vk/MemoryAllocateInfo.h>
MemoryRequirements Device memory requirements.
Wraps a VkMemoryRequirements2. Not constructible directly, returned from Image::
Constructors, destructors, conversion operators
- MemoryRequirements(NoInitT) explicit noexcept
- Construct without initializing the contents.
- MemoryRequirements(const VkMemoryRequirements2& requirements) explicit
- Construct from existing data.
- operator VkMemoryRequirements2&()
- operator const VkMemoryRequirements2&() const
Public functions
- auto requirements() -> VkMemoryRequirements2&
- Underlying VkMemoryRequirements structure.
- auto requirements() const -> const VkMemoryRequirements2&
- auto operator->() -> VkMemoryRequirements2*
- auto operator->() const -> const VkMemoryRequirements2*
- auto size() const -> UnsignedLong
- Required memory size.
- auto alignment() const -> UnsignedLong
- Required memory alignment.
- auto alignedSize(UnsignedLong alignment) const -> UnsignedLong
- Required memory size rounded up for given alignment.
- auto memories() const -> UnsignedInt
- Bits indicating which memory
Function documentation
Magnum:: Vk:: MemoryRequirements:: MemoryRequirements(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:: MemoryRequirements:: MemoryRequirements(const VkMemoryRequirements2& requirements) 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:: MemoryRequirements:: operator VkMemoryRequirements2&()
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Magnum:: Vk:: MemoryRequirements:: operator const VkMemoryRequirements2&() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
const VkMemoryRequirements2& Magnum:: Vk:: MemoryRequirements:: requirements() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
VkMemoryRequirements2* Magnum:: Vk:: MemoryRequirements:: operator->()
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
const VkMemoryRequirements2* Magnum:: Vk:: MemoryRequirements:: operator->() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
UnsignedLong Magnum:: Vk:: MemoryRequirements:: size() const
Required memory size.
UnsignedLong Magnum:: Vk:: MemoryRequirements:: alignment() const
Required memory alignment.
UnsignedLong Magnum:: Vk:: MemoryRequirements:: alignedSize(UnsignedLong alignment) const
Required memory size rounded up for given alignment.
Pads size() with given alignment requirements. For example, a 13765-byte buffer aligned to 4 kB would be 16384 bytes. See the Memory class for more information and example usage.
The alignment is expected to be non-zero.