LiteFX 0.3.1.2022
Computer Graphics Engine
LiteFX::Rendering::Backends::VulkanDevice::VulkanDeviceImpl Class Reference

Inherits LiteFX::Implement< VulkanDevice >.

Public Member Functions

 VulkanDeviceImpl (VulkanDevice *parent, const VulkanGraphicsAdapter &adapter, UniquePtr< VulkanSurface > &&surface, Span< String > extensions)
 
 ~VulkanDeviceImpl ()
 
void loadQueueFamilies ()
 
VkDevice initialize ()
 
void createFactory ()
 
void createSwapChain (const Format &format, const Size2d &frameBufferSize, const UInt32 &frameBuffers)
 
void createQueues ()
 
VulkanQueuecreateQueue (const QueueType &type, const QueuePriority &priority)
 
VulkanQueuecreateQueue (const QueueType &type, const QueuePriority &priority, const VkSurfaceKHR &surface)
 
- Public Member Functions inherited from LiteFX::Implement< VulkanDevice >
 Implement (VulkanDevice *parent)
 Initializes the implementation instance. More...
 
 Implement (Implement< VulkanDevice > &&)=delete
 
 Implement (const Implement< VulkanDevice > &)=delete
 
virtual ~Implement ()=default
 

Friends

class VulkanDevice
 

Additional Inherited Members

- Public Types inherited from LiteFX::Implement< VulkanDevice >
using interface_type = VulkanDevice
 
using base = Implement< interface_type >
 
- Protected Attributes inherited from LiteFX::Implement< VulkanDevice >
VulkanDevice * m_parent
 

Constructor & Destructor Documentation

◆ VulkanDeviceImpl()

LiteFX::Rendering::Backends::VulkanDevice::VulkanDeviceImpl::VulkanDeviceImpl ( VulkanDevice parent,
const VulkanGraphicsAdapter adapter,
UniquePtr< VulkanSurface > &&  surface,
Span< String extensions 
)
inline

◆ ~VulkanDeviceImpl()

LiteFX::Rendering::Backends::VulkanDevice::VulkanDeviceImpl::~VulkanDeviceImpl ( )
inline

Member Function Documentation

◆ createFactory()

void LiteFX::Rendering::Backends::VulkanDevice::VulkanDeviceImpl::createFactory ( )
inline

◆ createQueue() [1/2]

VulkanQueue * LiteFX::Rendering::Backends::VulkanDevice::VulkanDeviceImpl::createQueue ( const QueueType &  type,
const QueuePriority &  priority 
)
inline

◆ createQueue() [2/2]

VulkanQueue * LiteFX::Rendering::Backends::VulkanDevice::VulkanDeviceImpl::createQueue ( const QueueType &  type,
const QueuePriority &  priority,
const VkSurfaceKHR &  surface 
)
inline

◆ createQueues()

void LiteFX::Rendering::Backends::VulkanDevice::VulkanDeviceImpl::createQueues ( )
inline

◆ createSwapChain()

void LiteFX::Rendering::Backends::VulkanDevice::VulkanDeviceImpl::createSwapChain ( const Format &  format,
const Size2d frameBufferSize,
const UInt32 frameBuffers 
)
inline

◆ initialize()

VkDevice LiteFX::Rendering::Backends::VulkanDevice::VulkanDeviceImpl::initialize ( )
inline

◆ loadQueueFamilies()

void LiteFX::Rendering::Backends::VulkanDevice::VulkanDeviceImpl::loadQueueFamilies ( )
inline

Friends And Related Function Documentation

◆ VulkanDevice

friend class VulkanDevice
friend