test: add vulkan renderer scene coverage
This commit is contained in:
@@ -37,6 +37,7 @@ namespace {
|
||||
|
||||
constexpr const char* kD3D12Screenshot = "offscreen_scene_d3d12.ppm";
|
||||
constexpr const char* kOpenGLScreenshot = "offscreen_scene_opengl.ppm";
|
||||
constexpr const char* kVulkanScreenshot = "offscreen_scene_vulkan.ppm";
|
||||
constexpr uint32_t kFrameWidth = 1280;
|
||||
constexpr uint32_t kFrameHeight = 720;
|
||||
|
||||
@@ -135,7 +136,15 @@ GameObject* CreateQuadObject(
|
||||
}
|
||||
|
||||
const char* GetScreenshotFilename(RHIType backendType) {
|
||||
return backendType == RHIType::D3D12 ? kD3D12Screenshot : kOpenGLScreenshot;
|
||||
switch (backendType) {
|
||||
case RHIType::D3D12:
|
||||
return kD3D12Screenshot;
|
||||
case RHIType::Vulkan:
|
||||
return kVulkanScreenshot;
|
||||
case RHIType::OpenGL:
|
||||
default:
|
||||
return kOpenGLScreenshot;
|
||||
}
|
||||
}
|
||||
|
||||
int GetComparisonThreshold(RHIType backendType) {
|
||||
@@ -148,6 +157,7 @@ protected:
|
||||
void SetUp() override;
|
||||
void TearDown() override;
|
||||
void RenderFrame() override;
|
||||
bool RequiresSwapChainAcquire() const override { return false; }
|
||||
|
||||
private:
|
||||
void BuildScene();
|
||||
@@ -486,6 +496,9 @@ TEST_P(OffscreenSceneTest, RenderOffscreenScene) {
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(D3D12, OffscreenSceneTest, ::testing::Values(RHIType::D3D12));
|
||||
INSTANTIATE_TEST_SUITE_P(OpenGL, OffscreenSceneTest, ::testing::Values(RHIType::OpenGL));
|
||||
#if defined(XCENGINE_SUPPORT_VULKAN)
|
||||
INSTANTIATE_TEST_SUITE_P(Vulkan, OffscreenSceneTest, ::testing::Values(RHIType::Vulkan));
|
||||
#endif
|
||||
|
||||
GTEST_API_ int main(int argc, char** argv) {
|
||||
Logger::Get().Initialize();
|
||||
|
||||
Reference in New Issue
Block a user