Skip to content

Commit d79f0d6

Browse files
rudybearmeta-codesync[bot]
authored andcommitted
igl | vulkan | Add unit tests for VulkanContextConfig default values
Reviewed By: corporateshark Differential Revision: D109951588 fbshipit-source-id: 2ac148816646977c74cb39910b87bc7b9860c6b3
1 parent 7c95991 commit d79f0d6

1 file changed

Lines changed: 61 additions & 0 deletions

File tree

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/*
2+
* Copyright (c) Meta Platforms, Inc. and affiliates.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*/
7+
8+
#include <gtest/gtest.h>
9+
10+
#include <igl/vulkan/Common.h>
11+
12+
#if IGL_PLATFORM_WINDOWS || IGL_PLATFORM_ANDROID || IGL_PLATFORM_LINUX
13+
namespace igl::tests {
14+
15+
TEST(VulkanContextConfigTest, DefaultBooleanFields) {
16+
const vulkan::VulkanContextConfig config;
17+
EXPECT_FALSE(config.terminateOnValidationError);
18+
EXPECT_FALSE(config.enableConcurrentVkDevicesSupport);
19+
EXPECT_TRUE(config.enableValidation);
20+
EXPECT_TRUE(config.enableGPUAssistedValidation);
21+
EXPECT_TRUE(config.enableExtraLogs);
22+
EXPECT_FALSE(config.enableDescriptorIndexing);
23+
EXPECT_TRUE(config.enableShaderInt16);
24+
EXPECT_TRUE(config.enableShaderDrawParameters);
25+
EXPECT_TRUE(config.enableStorageBuffer16BitAccess);
26+
EXPECT_TRUE(config.enableDualSrcBlend);
27+
EXPECT_FALSE(config.enableGfxReconstruct);
28+
EXPECT_FALSE(config.enableMultiviewPerViewViewports);
29+
EXPECT_FALSE(config.exportableFences);
30+
EXPECT_FALSE(config.headless);
31+
}
32+
33+
TEST(VulkanContextConfigTest, DefaultSwapchainSettings) {
34+
const vulkan::VulkanContextConfig config;
35+
EXPECT_EQ(config.swapChainColorSpace, igl::ColorSpace::SRGBNonlinear);
36+
EXPECT_EQ(config.requestedSwapChainTextureFormat, igl::TextureFormat::RGBA_UNorm8);
37+
}
38+
39+
TEST(VulkanContextConfigTest, DefaultResourceAndMemorySettings) {
40+
const vulkan::VulkanContextConfig config;
41+
EXPECT_EQ(config.maxResourceCount, 3u);
42+
EXPECT_EQ(config.pipelineCacheData, nullptr);
43+
EXPECT_EQ(config.pipelineCacheDataSize, 0u);
44+
EXPECT_EQ(config.vmaPreferredLargeHeapBlockSize, 0u);
45+
EXPECT_EQ(config.fenceTimeoutNanoseconds, UINT64_MAX);
46+
}
47+
48+
TEST(VulkanContextConfigTest, DefaultExtensionSettings) {
49+
const vulkan::VulkanContextConfig config;
50+
EXPECT_EQ(config.numExtraInstanceExtensions, 0u);
51+
EXPECT_EQ(config.extraInstanceExtensions, nullptr);
52+
}
53+
54+
TEST(VulkanContextConfigTest, DefaultEngineNames) {
55+
const vulkan::VulkanContextConfig config;
56+
EXPECT_STREQ(config.engineName, "IGL/Vulkan");
57+
EXPECT_STREQ(config.applicationName, "IGL/Vulkan");
58+
}
59+
60+
} // namespace igl::tests
61+
#endif

0 commit comments

Comments
 (0)