#include #include #include #include #define CHECK_VULKAN(result) \ do { \ VkResult res = result; \ if (res != VK_SUCCESS) { \ /* TODO: throw error instead of returning */ \ std::cerr << "Vulkan error: " << res << std::endl; \ abort(); \ } \ } while (0) namespace iris { struct Device { VkInstance instance; VkPhysicalDevice physical_device; VkDevice device; uint32_t main_queue_family_index; VkQueue graphics_queue; Device( std::vector layers, std::vector instance_extensions); }; } // namespace iris