From 9cb4716a41a8610479af8bb33357467502151262 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 10 Jul 2024 13:19:42 +0200 Subject: [PATCH] Vk: XFAIL an expected DescriptorPool::allocate() failure on llvmpipe. It was an XFAIL in some other case already, do it here as well -- it seems that llvmpipe now never fails the allocation. Not sure since when that happens, because several Mesa versions until 23.3 (?) had a regression with skinning shaders, leading to the automated tests failing even before they could reach the llvmpipe variant of Vk tests. --- src/Magnum/Vk/Test/DescriptorPoolVkTest.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Magnum/Vk/Test/DescriptorPoolVkTest.cpp b/src/Magnum/Vk/Test/DescriptorPoolVkTest.cpp index f5b0b8161..1fce06c84 100644 --- a/src/Magnum/Vk/Test/DescriptorPoolVkTest.cpp +++ b/src/Magnum/Vk/Test/DescriptorPoolVkTest.cpp @@ -282,7 +282,11 @@ void DescriptorPoolVkTest::allocateVariableCountFail() { /* tryAllocate() should not assert, and should not print anything */ std::ostringstream out; Error redirectError{&out}; - CORRADE_VERIFY(!pool.tryAllocate(layout, 80)); + { + CORRADE_EXPECT_FAIL_IF(device().properties().name().contains("llvmpipe"), + "Mesa llvmpipe never fails an allocation."); + CORRADE_VERIFY(!pool.tryAllocate(layout, 80)); + } CORRADE_COMPARE(out.str(), ""); } { CORRADE_SKIP_IF_NO_ASSERT(); @@ -291,7 +295,11 @@ void DescriptorPoolVkTest::allocateVariableCountFail() { std::ostringstream out; Error redirectError{&out}; pool.allocate(layout, 80); - CORRADE_COMPARE(out.str(), "Vk::DescriptorPool::allocate(): allocation failed with Vk::Result::ErrorOutOfPoolMemory\n"); + { + CORRADE_EXPECT_FAIL_IF(device().properties().name().contains("llvmpipe"), + "Mesa llvmpipe never fails an allocation."); + CORRADE_COMPARE(out.str(), "Vk::DescriptorPool::allocate(): allocation failed with Vk::Result::ErrorOutOfPoolMemory\n"); + } } }