KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
Karma::QueueFamilyIndices Struct Reference

A structure for graphics and present queuefamilies. More...

#include <VulkanContext.h>

Public Member Functions

bool IsComplete ()
 Routine for querying if appropriate queue families (graphicsFamily and presentFamily) are available.
 

Public Attributes

std::optional< uint32_t > graphicsFamily
 The queues in this queue family support graphics operations.
 
std::optional< uint32_t > presentFamily
 The queues in this queue family support image presentation.
 

Detailed Description

A structure for graphics and present queuefamilies.

Most operations performed with Vulkan, like draw commands and memory operations, are asynchronously executed by submitting them to a VkQueue. Queues are allocated from queue families, where each queue family supports a specific set of operations in its queues. For example, there could be separate queue families for graphics, compute and memory transfer operations.

Used for creating logical device, swapchain, and commandpool

See also
VulkanContext::FindQueueFamilies
Since
Karma 1.0.0

Member Function Documentation

◆ IsComplete()

bool Karma::QueueFamilyIndices::IsComplete ( )
inline

Routine for querying if appropriate queue families (graphicsFamily and presentFamily) are available.

See also
VulkanContext::IsDeviceSuitable
Since
Karma 1.0.0

Member Data Documentation

◆ graphicsFamily

std::optional<uint32_t> Karma::QueueFamilyIndices::graphicsFamily

The queues in this queue family support graphics operations.

Note
The optional is used to make the query of availibility easier
Since
Karma 1.0.0

◆ presentFamily

std::optional<uint32_t> Karma::QueueFamilyIndices::presentFamily

The queues in this queue family support image presentation.

The image is presented to the surface

Note
The optional is used to make the query of availibility easier
See also
VulkanContext::CreateSurface()
Since
Karma 1.0.0

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