This commit is contained in:
@@ -46,6 +46,8 @@ namespace Oatmeal {
|
||||
private:
|
||||
// Members //
|
||||
|
||||
GLFWwindow *m_window = nullptr;
|
||||
|
||||
vk::raii::Context m_context;
|
||||
vk::raii::Instance m_instance = nullptr;
|
||||
vk::DebugUtilsMessengerEXT m_debugMessenger = nullptr;
|
||||
@@ -81,5 +83,9 @@ namespace Oatmeal {
|
||||
void createInstance();
|
||||
std::vector<const char *> getRequiredExtensions();
|
||||
void setupDebugMessenger();
|
||||
void createSurface();
|
||||
void pickPhysicalDevice();
|
||||
bool isPhysicalDeviceSupported(vk::raii::PhysicalDevice device);
|
||||
uint32_t scorePhysicalDevice(vk::raii::PhysicalDevice device);
|
||||
};
|
||||
} // namespace Oatmeal
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#include <GLFW/glfw3.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include <cstdint>
|
||||
#include <iostream>
|
||||
#include <stdexcept>
|
||||
|
||||
18
oatmeal/src/ctx_surface.cpp
Normal file
18
oatmeal/src/ctx_surface.cpp
Normal file
@@ -0,0 +1,18 @@
|
||||
#include "ctx.h"
|
||||
|
||||
#include <GLFW/glfw3.h>
|
||||
#include <GLFW/glfw3native.h>
|
||||
#include <vulkan/vulkan_core.h>
|
||||
#include <vulkan/vulkan_raii.hpp>
|
||||
|
||||
|
||||
namespace Oatmeal {
|
||||
|
||||
void ctx::createSurface() {
|
||||
VkSurfaceKHR _surface;
|
||||
if (glfwCreateWindowSurface(*m_instance, m_window, nullptr, &_surface)) {
|
||||
throw std::runtime_error("Failed to create window surface");
|
||||
}
|
||||
m_surface = vk::raii::SurfaceKHR(m_instance, _surface);
|
||||
}
|
||||
} // namespace Oatmeal
|
||||
Reference in New Issue
Block a user