Files
basalt/include/vulkan/basalt_context.h

25 lines
790 B
C++

#pragma once
#include "vulkan/basalt_window.h"
#include "containers/basalt_darray.h"
namespace basalt
{
class Context
{
public:
Context(const Context& src) = delete;
Context& operator=(const Context& src) = delete;
Context(Context&& src) noexcept;
Context& operator=(Context&& src) noexcept;
Context(const char* app_name, const basalt::darray<const char*>& required_layers, const basalt::darray<const char*>& required_extensions, uint32_t app_version=VK_MAKE_API_VERSION(1, 1, 0, 0), uint32_t vulkan_version = VK_MAKE_API_VERSION(0, 1, 2, 0));
~Context();
VkInstance inst = VK_NULL_HANDLE;
VkAllocationCallbacks* vk_alloc = VK_NULL_HANDLE;
VkDebugUtilsMessengerEXT dbg_msger = VK_NULL_HANDLE;
bool should_free = true;
bool using_validation_layers = false;
};
}