Files
UwU-Engine/UwURenderEngine/RenderEngine/VkObjects/Instance.hpp
T

31 lines
781 B
C++

#pragma once
#include <vulkan/vulkan.h>
#include <vector>
class CoreInstance;
class Instance
{
VkInstance instance_ = nullptr;
static VKAPI_ATTR VkBool32 VKAPI_CALL debugCallback(
VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
VkDebugUtilsMessageTypeFlagsEXT messageType,
const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
void* pUserData
);
#ifdef _DEBUG
VkResult enable_layer_validation(const VkDebugUtilsMessengerCreateInfoEXT* create_info);
VkDebugUtilsMessengerEXT debug_messenger_;
#endif
std::vector<const char*> Instance::get_required_extensions();
public:
Instance(CoreInstance& core);
~Instance();
inline VkInstance get_native() const { return instance_; }
};