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

34 lines
882 B
C++

#pragma once
#include <vulkan/vulkan.h>
#include <vector>
class CoreInstance;
namespace VkObjects
{
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:
explicit Instance(CoreInstance& core);
~Instance();
inline VkInstance get_native() const { return instance_; }
};
}