Create VkInstance in VulkanRenderDriver

This commit is contained in:
2025-03-15 15:17:42 +10:00
parent d381a87a75
commit d91275c393
2 changed files with 153 additions and 0 deletions

View File

@@ -7,6 +7,9 @@
#pragma once
#include <nova/render/render_driver.h>
#include <vulkan/vulkan.h>
#include <vector>
namespace Nova {
class VulkanRenderDriver final : public RenderDriver {
@@ -16,5 +19,18 @@ namespace Nova {
[[nodiscard]] RenderAPI get_api() const override;
[[nodiscard]] u32 get_api_version() const override;
private:
VkInstance m_instance = VK_NULL_HANDLE;
std::vector<const char*> m_extensions;
std::vector<const char*> m_layers;
void _check_version() const;
void _check_extensions();
void _check_layers();
void _init_instance();
static VkAllocationCallbacks* _get_allocator(VkObjectType type);
};
} // namespace Nova