29 lines
874 B
C++
29 lines
874 B
C++
#pragma once
|
|
#include "vulkan/basalt_window.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();
|
|
|
|
operator VkInstance(void) const noexcept;
|
|
|
|
VkInstance inst = VK_NULL_HANDLE;
|
|
VkAllocationCallbacks* vk_alloc = VK_NULL_HANDLE;
|
|
VkDebugUtilsMessengerEXT dbg_msger = VK_NULL_HANDLE;
|
|
|
|
const char** pp_enabled_layers = nullptr;
|
|
u32 num_enabled_layers = 0;
|
|
|
|
bool should_free = true;
|
|
bool using_validation_layers = false;
|
|
};
|
|
} |