diff options
author | Kaiyi Li <kaiyili@google.com> | 2021-09-28 16:13:40 -0700 |
---|---|---|
committer | Kaiyi Li <kaiyili@google.com> | 2021-10-15 16:48:31 -0700 |
commit | 6330fc1cf425e7ccaf17e09b0318b8b9c4128c95 (patch) | |
tree | ed22db450c7537e107b0edf7f2f1ce02676d83ec /stream-servers/tests | |
parent | c701d665f86df07594730be795e1c7a5032c5ed8 (diff) | |
download | vulkan-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.cpp | 8 | ||||
-rw-r--r-- | stream-servers/tests/DisplayVk_unittest.cpp | 6 |
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))); } } |