|
Dodo 0.1
Template for CPP projects
|
#include <VulkanContext.hpp>
Classes | |
| struct | VulkanContextInfo |
| struct | VulkanDebug |
Public Types | |
| using | DebugCallback = vk::PFN_DebugUtilsMessengerCallbackEXT |
Public Member Functions | |
| ~VulkanContext ()=default | |
| VulkanContext (const VulkanContext &other)=delete | |
| VulkanContext & | operator= (const VulkanContext &other)=delete |
| VulkanContext (VulkanContext &&other) noexcept | |
| VulkanContext & | operator= (VulkanContext &&other) noexcept |
Static Public Member Functions | |
| static VKAPI_ATTR vk::Bool32 VKAPI_CALL | defaultDebugCallback (vk::DebugUtilsMessageSeverityFlagBitsEXT severity, vk::DebugUtilsMessageTypeFlagsEXT type, const vk::DebugUtilsMessengerCallbackDataEXT *pCallbackData, void *) |
Private Member Functions | |
| VulkanContext ()=default | |
Static Private Member Functions | |
| template<typename... Features> | |
| static auto | createContext (const VulkanContextInfo< Features... > &ctxInfo) -> std::expected< VulkanContext, std::string > |
| static auto | checkRequiredLayers (const VulkanContext &vulkanContext, std::span< const char *const > validationLayers) -> std::expected< bool, std::string > |
| static auto | checkRequiredExtensions (const VulkanContext &vulkanContext, std::span< const char *const > glfwExtensions) -> std::expected< bool, std::string > |
| static void | setupDebugMessenger (VulkanContext &vulkanContext, DebugCallback debugCallback) |
| static auto | pickPhysicalDevice (VulkanContext &vulkanContext) -> std::expected< bool, std::string > |
| static bool | isDeviceSuitable (const vk::raii::PhysicalDevice &physicalDevice) |
| template<typename FirstFeature , typename... OtherFeatures> | |
| static FirstFeature & | getFirstFeature (vk::StructureChain< FirstFeature, OtherFeatures... > featureChain) |
Private Attributes | |
| vk::raii::Context | _context |
| vk::raii::Instance | _instance = nullptr |
| vk::raii::PhysicalDevice | _physicalDevice = nullptr |
| vk::raii::DebugUtilsMessengerEXT | _debugMessenger = nullptr |
Friends | |
| class | DodoContext |
| using dodo::core::VulkanContext::DebugCallback = vk::PFN_DebugUtilsMessengerCallbackEXT |
|
default |
|
delete |
|
noexcept |
|
privatedefault |
|
staticprivate |
|
staticprivate |
References validationLayers.
|
staticprivate |
References _context, _instance, dodo::core::VulkanContext::VulkanDebug::debugEnabled, glfwGetRequiredInstanceExtensions(), and dodo::core::VulkanContext::VulkanDebug::validationLayers.
Referenced by dodo::core::DodoContext::createDodoContext().


|
static |
|
staticprivate |
|
staticprivate |
|
delete |
|
noexcept |
|
staticprivate |
|
staticprivate |
References _debugMessenger, and _instance.
|
friend |
|
private |
Referenced by createContext().
|
private |
Referenced by setupDebugMessenger().
|
private |
Referenced by createContext(), and setupDebugMessenger().
|
private |