Add Vulkan backend placeholder with dynamic fallback

This commit is contained in:
2026-07-13 10:19:29 +08:00
parent 76a98e5a93
commit 38c5afb13d
9 changed files with 280 additions and 2 deletions
+1 -1
View File
@@ -83,7 +83,7 @@ target_compile_options(
if (OAK_ENABLE_DYNAMIC_RENDER_BACKEND)
target_compile_definitions(olive-gtest PRIVATE OAK_ENABLE_DYNAMIC_RENDER_BACKEND)
add_dependencies(olive-gtest oakgl)
add_dependencies(olive-gtest oakgl oakvulkan)
endif()
if (MSVC)
@@ -12,3 +12,14 @@ TEST(DynamicRenderBackend, LoadsExperimentalOpenGLBackend)
EXPECT_EQ(renderer.OpenGLContext(), nullptr);
#endif
}
TEST(DynamicRenderBackend, FallsBackWhenExperimentalVulkanUnavailable)
{
#ifndef OAK_ENABLE_DYNAMIC_RENDER_BACKEND
GTEST_SKIP() << "Dynamic render backend is not enabled in this build";
#else
olive::DynamicRenderer renderer(QStringLiteral("vulkan"));
ASSERT_TRUE(renderer.Load());
EXPECT_EQ(renderer.OpenGLContext(), nullptr);
#endif
}