#include #include namespace lt::renderer { [[nodiscard]] /* static */ auto ISurface::create( Api target_api, IInstance *instance, const ecs::Entity &surface_entity ) -> memory::Scope { ensure(instance, "Failed to create renderer::ISurface: null instance"); switch (target_api) { case Api::vulkan: return memory::create_scope(instance, surface_entity); case Api::none: case Api::metal: case Api::direct_x: throw std::runtime_error { "Invalid API" }; } } } // namespace lt::renderer