#include "yave_vulkan_surface.hpp" #include "yave_vulkan_instance.hpp" #define GLFW_INCLUDE_VULKAN #include namespace yave { YaveVulkanSurface::YaveVulkanSurface(YaveVulkanInstance &yaveVulkanInstance, YaveWindow *window) : instance(yaveVulkanInstance) { if (glfwCreateWindowSurface(*instance.getVkInstance(), window->getGLFWWindow(), nullptr, &surface)) { throw std::runtime_error("failed to create window surface!"); } } VkSurfaceKHR *YaveVulkanSurface::getVkSurface() { return &this->surface; } YaveVulkanSurface::~YaveVulkanSurface() { vkDestroySurfaceKHR(*instance.getVkInstance(), surface, nullptr); } } // namespace yave