2023-03-12 16:14:55 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <SDL2/SDL_video.h>
|
|
|
|
|
2023-03-13 17:35:22 +00:00
|
|
|
#include <volk.h>
|
2023-03-12 16:14:55 +00:00
|
|
|
|
|
|
|
namespace engine {
|
|
|
|
|
|
|
|
struct Instance {
|
|
|
|
VkInstance instance = VK_NULL_HANDLE;
|
|
|
|
VkDebugUtilsMessengerEXT debugMessenger = VK_NULL_HANDLE;
|
|
|
|
};
|
|
|
|
|
2023-03-12 20:39:11 +00:00
|
|
|
enum class MessageSeverity {
|
|
|
|
SEV_VERBOSE,
|
|
|
|
SEV_INFO,
|
|
|
|
SEV_WARNING,
|
|
|
|
SEV_ERROR // windows.h defines ERROR annoyingly
|
|
|
|
};
|
|
|
|
|
|
|
|
Instance createVulkanInstance(SDL_Window* window, const char* appName, const char* appVersion, bool useValidation, MessageSeverity validationLevel = MessageSeverity::SEV_WARNING);
|
2023-03-12 16:14:55 +00:00
|
|
|
void destroyVulkanInstance(Instance instance);
|
|
|
|
|
2023-03-13 17:35:22 +00:00
|
|
|
}
|