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;
25 bool enable_debug_report;
26 bool enable_geometry_shader;
27 bool enable_tessellation_shader;
42 VulkanContext(Window &, const VulkanOptions & = VulkanOptions());
44 void platform_init(const VulkanOptions &);
49 T get_function(const std::string &name) const
50 { return reinterpret_cast<T>(_get_function(name)); }
53 void (*_get_function(const std::string &) const)();
56 const Private &get_private() const { return *priv; }
59 } // namespace Graphics