Wraps creation and lifetime of a vulkan instance. Includes default debug callback logging setup.
More...
#include <foray_vulkaninstance.hpp>
|
using | BeforeInstanceBuildFunctionPointer = std::function< void(vkb::InstanceBuilder &)> |
| Function called after default callback configuration and before action of the instance builder.
|
|
|
static VkBool32 | DefaultDebugMessengerCallback (VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData, void *pUserData) |
|
static VkBool32 | DefaultDebugReportCallback (VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char *pLayerPrefix, const char *pMessage, void *pUserData) |
|
Wraps creation and lifetime of a vulkan instance. Includes default debug callback logging setup.
◆ BeforeInstanceBuildFunctionPointer
Function called after default callback configuration and before action of the instance builder.
◆ VulkanInstance() [1/2]
foray::base::VulkanInstance::VulkanInstance |
( |
| ) |
|
|
default |
◆ VulkanInstance() [2/2]
- Parameters
-
beforeInstanceBuildFunc | Function called after default callback configuration and before action of the instance builder |
enableDebugLayersAndCallbacks | If true, validation layers are enabled, and if mDebugMessengerFunc isn't null sets debug layers callback |
◆ ~VulkanInstance()
foray::base::VulkanInstance::~VulkanInstance |
( |
| ) |
|
◆ Create()
void foray::base::VulkanInstance::Create |
( |
| ) |
|
If mEnableDebugLayersAndCallbacks is set, configures validation and callback. If mBeforeInstanceBuildFunc is set, calls it. Finally, builds Instance.
◆ DefaultDebugMessengerCallback()
static VkBool32 foray::base::VulkanInstance::DefaultDebugMessengerCallback |
( |
VkDebugUtilsMessageSeverityFlagBitsEXT |
messageSeverity, |
|
|
VkDebugUtilsMessageTypeFlagsEXT |
messageTypes, |
|
|
const VkDebugUtilsMessengerCallbackDataEXT * |
pCallbackData, |
|
|
void * |
pUserData |
|
) |
| |
|
staticprotected |
◆ DefaultDebugReportCallback()
static VkBool32 foray::base::VulkanInstance::DefaultDebugReportCallback |
( |
VkDebugReportFlagsEXT |
flags, |
|
|
VkDebugReportObjectTypeEXT |
objectType, |
|
|
uint64_t |
object, |
|
|
size_t |
location, |
|
|
int32_t |
messageCode, |
|
|
const char * |
pLayerPrefix, |
|
|
const char * |
pMessage, |
|
|
void * |
pUserData |
|
) |
| |
|
staticprotected |
◆ Destroy()
void foray::base::VulkanInstance::Destroy |
( |
| ) |
|
◆ Exists()
bool foray::base::VulkanInstance::Exists |
( |
| ) |
const |
|
inline |
◆ FORAY_SETTER_V() [1/3]
foray::base::VulkanInstance::FORAY_SETTER_V |
( |
BeforeInstanceBuildFunc |
| ) |
|
Set the function called after default callback configuration and before action of the instance builder.
◆ FORAY_SETTER_V() [2/3]
foray::base::VulkanInstance::FORAY_SETTER_V |
( |
DebugMessengerFunc |
| ) |
|
Set the function receiving vulkan validation messages.
◆ FORAY_SETTER_V() [3/3]
foray::base::VulkanInstance::FORAY_SETTER_V |
( |
DebugReportFunc |
| ) |
|
◆ operator bool()
foray::base::VulkanInstance::operator bool |
( |
| ) |
const |
|
inline |
◆ operator VkInstance()
foray::base::VulkanInstance::operator VkInstance |
( |
| ) |
const |
|
inline |
◆ mBeforeInstanceBuildFunc
◆ mContext
◆ mDebugMessengerFunc
◆ mDebugReportCallbackHandle
VkDebugReportCallbackEXT foray::base::VulkanInstance::mDebugReportCallbackHandle = nullptr |
|
protected |
◆ mDebugReportFunc
◆ mDebugUserData
void* foray::base::VulkanInstance::mDebugUserData = nullptr |
|
protected |
◆ mEnableDebugLayersAndCallbacks
bool foray::base::VulkanInstance::mEnableDebugLayersAndCallbacks = true |
|
protected |
If true, validation layers are enabled, and if mDebugMessengerFunc or mDebugUserData are set they are passed on to the builder respectively.
◆ mEnableDebugReport
bool foray::base::VulkanInstance::mEnableDebugReport = false |
|
protected |
◆ mInstance
vkb::Instance foray::base::VulkanInstance::mInstance |
|
protected |
The documentation for this class was generated from the following file: