refactor, move vulkan to proper location

This commit is contained in:
2022-06-02 20:01:23 +02:00
parent cab146ac45
commit 525db7fe6b
9 changed files with 554 additions and 464 deletions

View File

@ -0,0 +1,13 @@
add_executable(vulkan_renderer_test
./vulkan_test.cpp
)
target_include_directories(vulkan_renderer_test PRIVATE ".")
target_link_libraries(vulkan_renderer_test
vulkan_renderer
gtest_main
)
add_test(NAME vulkan_renderer_test COMMAND vulkan_renderer_test)

View File

@ -0,0 +1,37 @@
#include <gtest/gtest.h>
#include <mm/engine.hpp>
#include <mm/services/sdl_service.hpp>
#include <mm/services/vulkan_renderer.hpp>
#include <mm/logger.hpp>
TEST(sdl_service, window_vulkan) {
MM::Engine engine;
engine.addService<MM::Services::SDLService>();
ASSERT_TRUE(engine.enableService<MM::Services::SDLService>());
auto* sdl_ss_ptr = engine.tryService<MM::Services::SDLService>();
ASSERT_NE(sdl_ss_ptr, nullptr);
// create window
ASSERT_EQ(sdl_ss_ptr->win, nullptr);
ASSERT_TRUE(sdl_ss_ptr->createWindow("test vulkan window", 800, 600, SDL_WINDOW_VULKAN));
ASSERT_NE(sdl_ss_ptr->win, nullptr);
engine.addService<MM::Services::VulkanRenderer>();
ASSERT_TRUE(engine.enableService<MM::Services::VulkanRenderer>());
auto& vk_rend = engine.getService<MM::Services::VulkanRenderer>();
ASSERT_TRUE(vk_rend.createDevice(engine));
ASSERT_TRUE(vk_rend.createSwapchain(engine));
engine.run();
engine.disableService<MM::Services::VulkanRenderer>();
engine.disableService<MM::Services::SDLService>();
ASSERT_EQ(sdl_ss_ptr->win, nullptr);
}