summaryrefslogtreecommitdiff
path: root/stream-servers/tests
diff options
context:
space:
mode:
authorKaiyi Li <kaiyili@google.com>2021-09-28 16:13:40 -0700
committerKaiyi Li <kaiyili@google.com>2021-10-15 16:48:31 -0700
commit6330fc1cf425e7ccaf17e09b0318b8b9c4128c95 (patch)
treeed22db450c7537e107b0edf7f2f1ce02676d83ec /stream-servers/tests
parentc701d665f86df07594730be795e1c7a5032c5ed8 (diff)
downloadvulkan-cereal-6330fc1cf425e7ccaf17e09b0318b8b9c4128c95.tar.gz
Always use FIFO present mode
Calling DisplayVk::compose or DisplayVk::post too frequently with the mail box present mode may cause a device lost in a later vkQueueWaitIdle, which will break the DisplayVkTest.PostTwoColorBuffers unit test. Also fix the bug in the CompositorVk unit test. Bug: 199812178 Test: run the unit test Change-Id: If82a5d87c760c62ff3aeac80c13a2643b2e0c61b
Diffstat (limited to 'stream-servers/tests')
-rw-r--r--stream-servers/tests/CompositorVk_unittest.cpp8
-rw-r--r--stream-servers/tests/DisplayVk_unittest.cpp6
2 files changed, 8 insertions, 6 deletions
diff --git a/stream-servers/tests/CompositorVk_unittest.cpp b/stream-servers/tests/CompositorVk_unittest.cpp
index 125571b1..6bd89f26 100644
--- a/stream-servers/tests/CompositorVk_unittest.cpp
+++ b/stream-servers/tests/CompositorVk_unittest.cpp
@@ -217,7 +217,9 @@ TEST_F(CompositorVkTest, ValidatePhysicalDeviceFeatures) {
ASSERT_FALSE(CompositorVk::validatePhysicalDeviceFeatures(features));
VkPhysicalDeviceDescriptorIndexingFeaturesEXT descIndexingFeatures = {
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT,
- .pNext = &descIndexingFeatures};
+ .pNext = nullptr};
+ descIndexingFeatures.descriptorBindingSampledImageUpdateAfterBind = VK_FALSE;
+ features.pNext = &descIndexingFeatures;
ASSERT_FALSE(CompositorVk::validatePhysicalDeviceFeatures(features));
descIndexingFeatures.descriptorBindingSampledImageUpdateAfterBind = VK_TRUE;
ASSERT_TRUE(CompositorVk::validatePhysicalDeviceFeatures(features));
@@ -235,8 +237,8 @@ TEST_F(CompositorVkTest, EnablePhysicalDeviceFeatures) {
VkPhysicalDeviceFeatures2 features = {.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2};
ASSERT_FALSE(CompositorVk::enablePhysicalDeviceFeatures(features));
VkPhysicalDeviceDescriptorIndexingFeaturesEXT descIndexingFeatures = {
- .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT,
- .pNext = &descIndexingFeatures};
+ .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT};
+ features.pNext = &descIndexingFeatures;
ASSERT_TRUE(CompositorVk::enablePhysicalDeviceFeatures(features));
ASSERT_EQ(descIndexingFeatures.descriptorBindingSampledImageUpdateAfterBind, VK_TRUE);
}
diff --git a/stream-servers/tests/DisplayVk_unittest.cpp b/stream-servers/tests/DisplayVk_unittest.cpp
index b6d81f44..f0308790 100644
--- a/stream-servers/tests/DisplayVk_unittest.cpp
+++ b/stream-servers/tests/DisplayVk_unittest.cpp
@@ -209,7 +209,7 @@ TEST_F(DisplayVkTest, PostWithoutSurfaceShouldntCrash) {
ASSERT_TRUE(texture->write(pixels));
auto cbvk = displayVk.createDisplayBuffer(texture->m_vkImage, RenderTexture::k_vkFormat,
textureWidth, textureHeight);
- displayVk.post(cbvk);
+ ASSERT_TRUE(std::get<0>(displayVk.post(cbvk)));
}
TEST_F(DisplayVkTest, SimplePost) {
@@ -256,7 +256,7 @@ TEST_F(DisplayVkTest, PostTwoColorBuffers) {
m_displayVk->createDisplayBuffer(greenTexture->m_vkImage, greenTexture->k_vkFormat,
greenTexture->m_width, greenTexture->m_height);
for (uint32_t i = 0; i < 10; i++) {
- m_displayVk->post(redCbvk);
- m_displayVk->post(greenCbvk);
+ ASSERT_TRUE(std::get<0>(m_displayVk->post(redCbvk)));
+ ASSERT_TRUE(std::get<0>(m_displayVk->post(greenCbvk)));
}
}