Lugdunum  0.1.0
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
lug::Graphics::Vulkan::API::Builder::DeviceMemory Class Reference

#include <DeviceMemory.hpp>

Collaboration diagram for lug::Graphics::Vulkan::API::Builder::DeviceMemory:
[legend]

Public Member Functions

 DeviceMemory (const API::Device &deviceMemory)
 
 DeviceMemory (const DeviceMemory &)=delete
 
 DeviceMemory (DeviceMemory &&)=delete
 
DeviceMemoryoperator= (const DeviceMemory &)=delete
 
DeviceMemoryoperator= (DeviceMemory &&)=delete
 
 ~DeviceMemory ()=default
 
void setMemoryFlags (VkMemoryPropertyFlags flags)
 
bool addBuffer (API::Buffer &buffer)
 
bool addImage (API::Image &image)
 
bool build (API::DeviceMemory &instance, VkResult *returnResult=nullptr)
 
std::unique_ptr< API::DeviceMemorybuild (VkResult *returnResult=nullptr)
 

Static Public Member Functions

static uint32_t findMemoryType (const API::Device &device, uint32_t memoryTypeBits, VkMemoryPropertyFlags requiredFlags)
 

Private Attributes

const API::Device_device
 
VkMemoryPropertyFlags _memoryFlags {VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT}
 
uint32_t _memoryTypeBits {0xFFFFFFFF}
 
std::vector< API::Buffer * > _buffers
 
std::vector< API::Image * > _images
 

Detailed Description

Definition at line 19 of file DeviceMemory.hpp.

Constructor & Destructor Documentation

◆ DeviceMemory() [1/3]

lug::Graphics::Vulkan::API::Builder::DeviceMemory::DeviceMemory ( const API::Device deviceMemory)

Definition at line 15 of file DeviceMemory.cpp.

◆ DeviceMemory() [2/3]

lug::Graphics::Vulkan::API::Builder::DeviceMemory::DeviceMemory ( const DeviceMemory )
delete

◆ DeviceMemory() [3/3]

lug::Graphics::Vulkan::API::Builder::DeviceMemory::DeviceMemory ( DeviceMemory &&  )
delete

◆ ~DeviceMemory()

lug::Graphics::Vulkan::API::Builder::DeviceMemory::~DeviceMemory ( )
default

Member Function Documentation

◆ operator=() [1/2]

DeviceMemory& lug::Graphics::Vulkan::API::Builder::DeviceMemory::operator= ( const DeviceMemory )
delete

◆ operator=() [2/2]

DeviceMemory& lug::Graphics::Vulkan::API::Builder::DeviceMemory::operator= ( DeviceMemory &&  )
delete

◆ setMemoryFlags()

void DeviceMemory::setMemoryFlags ( VkMemoryPropertyFlags  flags)
inline

Definition at line 1 of file DeviceMemory.inl.

◆ addBuffer()

bool lug::Graphics::Vulkan::API::Builder::DeviceMemory::addBuffer ( API::Buffer buffer)

Definition at line 87 of file DeviceMemory.cpp.

◆ addImage()

bool lug::Graphics::Vulkan::API::Builder::DeviceMemory::addImage ( API::Image image)

Definition at line 98 of file DeviceMemory.cpp.

◆ build() [1/2]

bool lug::Graphics::Vulkan::API::Builder::DeviceMemory::build ( API::DeviceMemory instance,
VkResult *  returnResult = nullptr 
)

Definition at line 17 of file DeviceMemory.cpp.

◆ build() [2/2]

std::unique_ptr< API::DeviceMemory > lug::Graphics::Vulkan::API::Builder::DeviceMemory::build ( VkResult *  returnResult = nullptr)

Definition at line 82 of file DeviceMemory.cpp.

◆ findMemoryType()

uint32_t lug::Graphics::Vulkan::API::Builder::DeviceMemory::findMemoryType ( const API::Device device,
uint32_t  memoryTypeBits,
VkMemoryPropertyFlags  requiredFlags 
)
static

Definition at line 109 of file DeviceMemory.cpp.

Member Data Documentation

◆ _device

const API::Device& lug::Graphics::Vulkan::API::Builder::DeviceMemory::_device
private

Definition at line 45 of file DeviceMemory.hpp.

◆ _memoryFlags

VkMemoryPropertyFlags lug::Graphics::Vulkan::API::Builder::DeviceMemory::_memoryFlags {VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT}
private

Definition at line 47 of file DeviceMemory.hpp.

◆ _memoryTypeBits

uint32_t lug::Graphics::Vulkan::API::Builder::DeviceMemory::_memoryTypeBits {0xFFFFFFFF}
private

Definition at line 48 of file DeviceMemory.hpp.

◆ _buffers

std::vector<API::Buffer*> lug::Graphics::Vulkan::API::Builder::DeviceMemory::_buffers
private

Definition at line 50 of file DeviceMemory.hpp.

◆ _images

std::vector<API::Image*> lug::Graphics::Vulkan::API::Builder::DeviceMemory::_images
private

Definition at line 51 of file DeviceMemory.hpp.


The documentation for this class was generated from the following files: