1 #ifndef MSP_GRAPHICS_VULKANCONTEXT_H_
2 #define MSP_GRAPHICS_VULKANCONTEXT_H_
13 class vulkan_error: public std::runtime_error
16 vulkan_error(unsigned, const char *);
19 static std::string get_error_message(unsigned);
24 bool enable_validation = false;
25 bool enable_debug_report = false;
26 bool enable_geometry_shader = false;
27 bool enable_tessellation_shader = false;
40 VulkanContext(Window &, const VulkanOptions & = VulkanOptions());
42 void platform_init(const VulkanOptions &);
47 T get_function(const std::string &name) const
48 { return reinterpret_cast<T>(_get_function(name)); }
51 void (*_get_function(const std::string &) const)();
54 const Private &get_private() const { return *priv; }
57 } // namespace Graphics