File display_backend.hpp
File List > display > display_backend.hpp
Go to the documentation of this file
#pragma once
#ifndef __ANDROID__
# include "illixr/switchboard.hpp"
# include "illixr/vk/display_provider.hpp"
namespace ILLIXR::display {
class display_backend {
public:
enum display_backend_type { GLFW, X11_DIRECT, HEADLESS };
virtual void setup_display(const std::shared_ptr<switchboard> sb, VkInstance vk_instance,
VkPhysicalDevice vk_physical_device) = 0;
virtual VkSurfaceKHR create_surface() = 0;
virtual void cleanup() = 0;
virtual std::set<const char*> get_required_instance_extensions() = 0;
virtual std::set<const char*> get_required_device_extensions() = 0;
virtual display_backend_type get_type() = 0;
protected:
VkInstance vk_instance_;
};
} // namespace ILLIXR::display
#endif