Вынес управление VkInstance в отдельный класс

This commit is contained in:
Jiga228
2026-06-23 17:46:21 +07:00
parent 280f843fb7
commit 7aec01ccc8
7 changed files with 130 additions and 100 deletions
@@ -0,0 +1,30 @@
#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_; }
};