#include <vulkanDevice.h>
|
| std::vector< const char * > | getRequiredExtensions () |
| | checks if all requested validation layers are supported. More...
|
| |
| VkDeviceQueueCreateInfo * | createQueues () |
| | rates the gpu based on expected performance with a score. More...
|
| |
| static VKAPI_ATTR VkBool32 VKAPI_CALL | vulkanDevice::debugCallback (VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData, void *pUserData) |
| | the debug callback function for vulkan debug and error catching. More...
|
| |
this is the vulkan device class and creates a rendering context.
Definition: vulkanDevice.h:17
std::shared_ptr< T > ref
Definition: core.h:49
◆ vulkanDevice()
@creates a vulkan device using the ref to the main window.
- Parameters
-
◆ ~vulkanDevice()
| luna::vulkan::vulkanDevice::~vulkanDevice |
( |
| ) |
|
|
virtual |
◆ createContext()
| void luna::vulkan::vulkanDevice::createContext |
( |
| ) |
|
|
overridevirtual |
◆ createFramebuffers()
| VkResult luna::vulkan::vulkanDevice::createFramebuffers |
( |
VkRenderPass |
renderPass | ) |
|
creates the appropriate framebuffers for the swapchain.
- Parameters
-
- Returns
- VK_SUCCESS when buffer creation whas succesful
◆ createInstance()
| VkResult luna::vulkan::vulkanDevice::createInstance |
( |
| ) |
|
|
private |
creates the vulkan instance.
- Returns
- VK_SUCCESS when creation whas succesful.
-
VK_ERROR_LAYER_NOT_PRESENT when a requested validation layer is not supported
◆ createLogicalDevice()
| VkResult luna::vulkan::vulkanDevice::createLogicalDevice |
( |
| ) |
|
|
private |
◆ createQueues()
| VkDeviceQueueCreateInfo * luna::vulkan::vulkanDevice::createQueues |
( |
| ) |
|
|
private |
rates the gpu based on expected performance with a score.
- Parameters
-
| device | the physicalDevice(GPU) to be rated |
- Returns
- int the score the physical device has.
◆ destroyContext()
| void luna::vulkan::vulkanDevice::destroyContext |
( |
| ) |
|
|
overridevirtual |
◆ getDeviceHandles()
#brief returns the device subhandles.
- Returns
- deviceHandles struct
◆ getQueue()
| VkQueue luna::vulkan::vulkanDevice::getQueue |
( |
const vkb::QueueType & |
type | ) |
|
|
inline |
returns a queue based on the requested type .
- Parameters
-
◆ getQueueIndex()
| uint32_t luna::vulkan::vulkanDevice::getQueueIndex |
( |
const vkb::QueueType & |
type | ) |
|
|
inline |
returns the queue index.
- Parameters
-
◆ getRequiredExtensions()
| std::vector< const char * > luna::vulkan::vulkanDevice::getRequiredExtensions |
( |
| ) |
|
|
private |
checks if all requested validation layers are supported.
- Parameters
-
| validationLayers | requested validation layers. |
- Returns
- VK_SUCCES when all requested validation layers are supported.
-
VK_ERROR_LAYER_NOT_PRESENT when a requested validation layer is not supported.
◆ getScissor()
| VkRect2D luna::vulkan::vulkanDevice::getScissor |
( |
| ) |
|
|
inline |
returns the swapchain scissor.
◆ getSwapFormat()
| VkFormat luna::vulkan::vulkanDevice::getSwapFormat |
( |
| ) |
|
|
inline |
returns the swapchain format.
◆ getViewport()
| VkViewport luna::vulkan::vulkanDevice::getViewport |
( |
| ) |
|
|
inline |
returns the swapchain viewport.
◆ pickPhysicalDevice()
| VkResult luna::vulkan::vulkanDevice::pickPhysicalDevice |
( |
| ) |
|
|
private |
picks the most powerful rendering device.
- Returns
- VK_SUCCES when suitable physical device(GPU) was found.
-
VK_ERROR_DEVICE_LOST when no suitable physical device(GPU) could be found.
-
VK_ERROR_INCOMPATIBLE_DRIVER when the driver version is outdated or incompatible.
◆ vulkanDevice::debugCallback()
| static VKAPI_ATTR VkBool32 VKAPI_CALL luna::vulkan::vulkanDevice::vulkanDevice::debugCallback |
( |
VkDebugUtilsMessageSeverityFlagBitsEXT |
messageSeverity, |
|
|
VkDebugUtilsMessageTypeFlagsEXT |
messageTypes, |
|
|
const VkDebugUtilsMessengerCallbackDataEXT * |
pCallbackData, |
|
|
void * |
pUserData |
|
) |
| |
|
staticprivate |
the debug callback function for vulkan debug and error catching.
- Parameters
-
| messageSeverity | |
| messageTypes | |
| pCallbackData | |
| pUserData | |
- Returns
◆ deviceHandle
◆ queueCreateInfos
| std::vector<VkDeviceQueueCreateInfo> luna::vulkan::vulkanDevice::queueCreateInfos |
|
private |
◆ queueFamily
◆ queuePriorities
| std::vector<float> luna::vulkan::vulkanDevice::queuePriorities = { 0.99f } |
|
private |
◆ supportedFeatures
| VkPhysicalDeviceFeatures luna::vulkan::vulkanDevice::supportedFeatures {} |
|
private |
◆ surface
| VkSurfaceKHR luna::vulkan::vulkanDevice::surface = VK_NULL_HANDLE |
|
private |
◆ swapchain
The documentation for this class was generated from the following files:
- C:/Users/robbe/source/repos/lolrobbe2/luna/luna/src/core/vulkan/device/vulkanDevice.h
- C:/Users/robbe/source/repos/lolrobbe2/luna/luna/src/core/vulkan/device/vulkanDevice.cpp