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

#include <Device.hpp>

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

Classes

struct  Queue
 
struct  QueueFamily
 

Public Member Functions

 Device (const PhysicalDeviceInfo &physicalDeviceInfo)
 
 Device (const Device &)=delete
 
 Device (Device &&)=delete
 
Deviceoperator= (const Device &)=delete
 
Deviceoperator= (Device &&)=delete
 
 ~Device ()=default
 
void setExtensions (const std::vector< const char *> &extensions)
 
void setFeatures (VkPhysicalDeviceFeatures features)
 
uint8_t addQueues (VkQueueFlags queueFlags, const std::vector< std::string > &queuesNames)
 
bool build (API::Device &device, VkResult *returnResult=nullptr)
 
std::unique_ptr< API::Devicebuild (VkResult *returnResult=nullptr)
 

Private Member Functions

bool addQueue (VkQueueFlags queueFlags, const std::string &queueName)
 

Private Attributes

const PhysicalDeviceInfo_physicalDeviceInfo
 
std::vector< const char * > _extensions
 
VkPhysicalDeviceFeatures _features {}
 
std::vector< QueueFamily_queueFamiliesInfos
 

Detailed Description

Definition at line 15 of file Device.hpp.

Constructor & Destructor Documentation

◆ Device() [1/3]

lug::Graphics::Vulkan::API::Builder::Device::Device ( const PhysicalDeviceInfo physicalDeviceInfo)

Definition at line 14 of file Device.cpp.

◆ Device() [2/3]

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

◆ Device() [3/3]

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

◆ ~Device()

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

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ setExtensions()

void Device::setExtensions ( const std::vector< const char *> &  extensions)
inline

Definition at line 1 of file Device.inl.

◆ setFeatures()

void Device::setFeatures ( VkPhysicalDeviceFeatures  features)
inline

Definition at line 5 of file Device.inl.

◆ addQueues()

uint8_t lug::Graphics::Vulkan::API::Builder::Device::addQueues ( VkQueueFlags  queueFlags,
const std::vector< std::string > &  queuesNames 
)

Definition at line 23 of file Device.cpp.

◆ build() [1/2]

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

Definition at line 49 of file Device.cpp.

◆ build() [2/2]

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

Definition at line 133 of file Device.cpp.

◆ addQueue()

bool lug::Graphics::Vulkan::API::Builder::Device::addQueue ( VkQueueFlags  queueFlags,
const std::string &  queueName 
)
private

Definition at line 138 of file Device.cpp.

Member Data Documentation

◆ _physicalDeviceInfo

const PhysicalDeviceInfo& lug::Graphics::Vulkan::API::Builder::Device::_physicalDeviceInfo
private

Definition at line 53 of file Device.hpp.

◆ _extensions

std::vector<const char*> lug::Graphics::Vulkan::API::Builder::Device::_extensions
private

Definition at line 56 of file Device.hpp.

◆ _features

VkPhysicalDeviceFeatures lug::Graphics::Vulkan::API::Builder::Device::_features {}
private

Definition at line 57 of file Device.hpp.

◆ _queueFamiliesInfos

std::vector<QueueFamily> lug::Graphics::Vulkan::API::Builder::Device::_queueFamiliesInfos
private

Definition at line 59 of file Device.hpp.


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