CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::VKQueueFamilyAssigner Struct Reference

A helper class helps assigning a queue families. More...

#include <CeresEngine/RenderAPI/Vulkan/VKCommon.hpp>

Classes

struct  FamilyInfo
 Struct that contains information about each queue family supported by the device. More...
 

Public Member Functions

 VKQueueFamilyAssigner (VkPhysicalDevice device) noexcept
 Creates a new VKQueueFamilyAssigner.
 
Optional< VKPickedQueueFamilypickFamily (VkQueueFlagBits capabilities) noexcept
 Picks a new family that has the requested capabilities.
 
Optional< VKPickedQueueFamilypickGraphicsFamily () noexcept
 Picks a new queue family that is the most suitable for graphics.
 
Optional< VKPickedQueueFamilypickTransferFamily () noexcept
 Picks a new queue family that is the most suitable for transfers.
 
Optional< VKPickedQueueFamilypickComputeFamily () noexcept
 Picks a new queue family that is the most suitable for async compute.
 
Optional< VKPickedQueueFamilypickPresentFamily (VkPhysicalDevice device, VkSurfaceKHR surface) noexcept
 Picks a new queue family that is the most suitable for presenting.
 

Public Attributes

Vector< FamilyInfofamilies
 The set of supported families by the device.
 

Detailed Description

A helper class helps assigning a queue families.

Constructor & Destructor Documentation

◆ VKQueueFamilyAssigner()

CeresEngine::VKQueueFamilyAssigner::VKQueueFamilyAssigner ( VkPhysicalDevice  device)
explicitnoexcept

Creates a new VKQueueFamilyAssigner.

Discovers all queue families provided by the physical device.

Member Function Documentation

◆ pickComputeFamily()

Optional< VKPickedQueueFamily > CeresEngine::VKQueueFamilyAssigner::pickComputeFamily ( )
noexcept

Picks a new queue family that is the most suitable for async compute.

◆ pickFamily()

Optional< VKPickedQueueFamily > CeresEngine::VKQueueFamilyAssigner::pickFamily ( VkQueueFlagBits  capabilities)
noexcept

Picks a new family that has the requested capabilities.

◆ pickGraphicsFamily()

Optional< VKPickedQueueFamily > CeresEngine::VKQueueFamilyAssigner::pickGraphicsFamily ( )
noexcept

Picks a new queue family that is the most suitable for graphics.

◆ pickPresentFamily()

Optional< VKPickedQueueFamily > CeresEngine::VKQueueFamilyAssigner::pickPresentFamily ( VkPhysicalDevice  device,
VkSurfaceKHR  surface 
)
noexcept

Picks a new queue family that is the most suitable for presenting.

◆ pickTransferFamily()

Optional< VKPickedQueueFamily > CeresEngine::VKQueueFamilyAssigner::pickTransferFamily ( )
noexcept

Picks a new queue family that is the most suitable for transfers.

Member Data Documentation

◆ families

Vector<FamilyInfo> CeresEngine::VKQueueFamilyAssigner::families

The set of supported families by the device.


The documentation for this struct was generated from the following file: