light/modules/renderer/private/frontend/context/device.cpp
light7734 61473c2758
Some checks failed
continuous-integration/drone/push Build is failing
test(renderer): overhaul tests & fix many bugs
2025-10-07 16:09:50 +03:30

21 lines
616 B
C++

#include <renderer/backend/vk/context/device.hpp>
#include <renderer/frontend/context/device.hpp>
namespace lt::renderer {
[[nodiscard]] /* static */ auto IDevice::create(Api target_api, IGpu *gpu, ISurface *surface)
-> memory::Scope<IDevice>
{
ensure(gpu, "Failed to create renderer::IDevice: null gpu");
ensure(surface, "Failed to create renderer::IDevice: null surface");
switch (target_api)
{
case Api::vulkan: return memory::create_scope<vk::Device>(gpu, surface);
case Api::none:
case Api::metal:
case Api::direct_x: throw std::runtime_error { "Invalid API" };
}
}
} // namespace lt::renderer