SpiecsEngine
 
Loading...
Searching...
No Matches
Spices::VulkanInstance Class Reference

VulkanInstance Class. This class defines the VulkanInstance behaves. This class is just a wrapper of vkInstance and vkSurface. More...

#include <VulkanInstance.h>

Inheritance diagram for Spices::VulkanInstance:
Spices::VulkanObject

Public Member Functions

 VulkanInstance (VulkanState &vulkanState, const std::string &name, const std::string &engineName)
 Constructor Function. Create vkInstance and vkSurface.
 
virtual ~VulkanInstance () override
 Destructor Function.
 

Protected Attributes

VulkanStatem_VulkanState
 The global VulkanState Referenced from VulkanRenderBackend.
 

Private Member Functions

void GetExtensionRequirements ()
 Get all instance extension requirements our engine needed. Source 1 : glfw requirements. Source 2 : user Setting. Source 3 : validation layer requirements.
 
bool CheckExtensionRequirementsSatisfied ()
 Iter all our extensions, check whether all satisfied or not.
 
void GetLayerRequirements ()
 Get all instance layer requirements our engine needed. Source 1 : user Setting.
 
bool ChecklayerRequirementsSatisfied ()
 Iter all our layers, check whether all satisfied or not.
 
void SetVulkanDebugCallbackFuncPointer ()
 Set Vulkan's debug message callback function pointer. Working with DEBUG mode.
 
void CreateVulkanSurface () const
 Create a Surface Object.
 
void FillDebugMessengerCreateInfo ()
 Set m_DebugMessengerCreateInfo variable.
 

Static Private Member Functions

static VKAPI_ATTR VkBool32 VKAPI_CALL InstanceDebugCallback (VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageType, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData, void *pUserData)
 Static function Called on a vulkan debug message transfered.
 

Private Attributes

std::vector< const char * > m_ExtensionProperties
 Instance Extension Properties.
 
std::vector< const char * > m_LayerProperties
 Instance Layer Properties.
 
VkDebugUtilsMessengerEXT m_DebugMessenger {}
 Parameter for Create/Destroy DebugUtilsMessengerEXT.
 
VkDebugUtilsMessengerCreateInfoEXT m_DebugMessengerCreateInfo {}
 Debug Utils Messages used to execute message callback function. Also debug vkInstance create.
 

Detailed Description

VulkanInstance Class. This class defines the VulkanInstance behaves. This class is just a wrapper of vkInstance and vkSurface.

Definition at line 18 of file VulkanInstance.h.


The documentation for this class was generated from the following files: