stories/engine/instance.h

34 lines
524 B
C++

#pragma once
#include <vulkan/vulkan.h>
#include <vector>
#include "utils.h"
namespace Engine {
class Engine;
class Window;
class Surface;
class Instance {
friend class Engine;
friend class Surface;
public:
Instance(Engine* engine);
~Instance();
std::vector<VkPhysicalDevice> enumeratePhysicalDevices() const;
private:
void setupDebugMessenger();
private:
bool validationLayersEnabledAndSupported;
Engine* engine;
VkInstance vk;
VkDebugUtilsMessengerEXT debugMessenger;
};
}