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 *);
17 virtual ~vulkan_error() throw() { }
20 static std::string get_error_message(unsigned);
25 bool enable_validation;
26 bool enable_debug_report;
27 bool enable_geometry_shader;
28 bool enable_tessellation_shader;
43 VulkanContext(Window &, const VulkanOptions & = VulkanOptions());
45 void platform_init(const VulkanOptions &);
50 T get_function(const std::string &name) const
51 { return reinterpret_cast<T>(_get_function(name)); }
54 void (*_get_function(const std::string &) const)();
57 const Private &get_private() const { return *priv; }
60 } // namespace Graphics