From 7de3704d5a3ddbd14948df6bbdf549085d7b522f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Fri, 20 Jan 2023 12:44:18 +0100 Subject: [PATCH] Vk: try a significantly larger count in DescriptorPool allocation test. It was creating the pool with 7 buffers, which the driver could as well just round up to 8 and then allocating 8 would not fail. The test used to work on Mesa before but not anymore. So I'm creating the pool with 8 and askin for 80 which should definitely fail. There's a lot more failures on NVidia, I "fixed" those by deleting the NVidia Vulkan ICD file for now. --- src/Magnum/Vk/Test/DescriptorPoolVkTest.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Magnum/Vk/Test/DescriptorPoolVkTest.cpp b/src/Magnum/Vk/Test/DescriptorPoolVkTest.cpp index cbb65da50..5ff3b1776 100644 --- a/src/Magnum/Vk/Test/DescriptorPoolVkTest.cpp +++ b/src/Magnum/Vk/Test/DescriptorPoolVkTest.cpp @@ -257,14 +257,14 @@ void DescriptorPoolVkTest::allocateVariableCountFail() { /* We can allocate two sets at most and at most 8 uniform buffers */ DescriptorPool pool{_deviceVariableDescriptorCount, DescriptorPoolCreateInfo{2, { - {DescriptorType::UniformBuffer, 7} + {DescriptorType::UniformBuffer, 8} }}}; { /* tryAllocate() should not assert, and should not print anything */ std::ostringstream out; Error redirectError{&out}; - CORRADE_VERIFY(!pool.tryAllocate(layout, 8)); + CORRADE_VERIFY(!pool.tryAllocate(layout, 80)); CORRADE_COMPARE(out.str(), ""); } { CORRADE_SKIP_IF_NO_ASSERT(); @@ -272,7 +272,7 @@ void DescriptorPoolVkTest::allocateVariableCountFail() { /* allocate() should assert with ErrorOutOfPoolMemory */ std::ostringstream out; Error redirectError{&out}; - pool.allocate(layout, 8); + pool.allocate(layout, 80); CORRADE_COMPARE(out.str(), "Vk::DescriptorPool::allocate(): allocation failed with Vk::Result::ErrorOutOfPoolMemory\n"); } }