Some dynamic state tests use a custom device that was not being properly
freed when existing a test group that used the device. This sometimes
caused crashes on program termination.
No tests should be affected by this change. This fix only touches the
test hierarchy. However, to check the fix doesn't break anything:
dEQP-VK.dynamic_state.*
Components: Vulkan
VK-GL-CTS issue: 3602
Change-Id: I6bf97900497b6e795c1fbacef5b3fc68619a9ff4
group->addChild(createDynamicStateComputeTests (testCtx));
}
group->addChild(createDynamicStateComputeTests (testCtx));
}
-static void cleanupGroup(tcu::TestCaseGroup* group)
+static void cleanupGroup(tcu::TestCaseGroup*, vk::PipelineConstructionType)
// Destroy singleton objects.
cleanupDevice();
}
// Destroy singleton objects.
cleanupDevice();
}
tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx)
{
tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx)
{
- de::MovePtr<tcu::TestCaseGroup> monolithicGroup (createTestGroup(testCtx, "monolithic", "Monolithic pipeline tests", createChildren, vk::PIPELINE_CONSTRUCTION_TYPE_MONOLITHIC));
- de::MovePtr<tcu::TestCaseGroup> pipelineLibraryGroup (createTestGroup(testCtx, "pipeline_library", "Graphics pipeline library tests", createChildren, vk::PIPELINE_CONSTRUCTION_TYPE_LINK_TIME_OPTIMIZED_LIBRARY));
- de::MovePtr<tcu::TestCaseGroup> fastLinkedLibraryGroup (createTestGroup(testCtx, "fast_linked_library", "Fast linked graphics pipeline library tests", createChildren, vk::PIPELINE_CONSTRUCTION_TYPE_FAST_LINKED_LIBRARY));
+ de::MovePtr<tcu::TestCaseGroup> monolithicGroup (createTestGroup(testCtx, "monolithic", "Monolithic pipeline tests", createChildren, vk::PIPELINE_CONSTRUCTION_TYPE_MONOLITHIC, cleanupGroup));
+ de::MovePtr<tcu::TestCaseGroup> pipelineLibraryGroup (createTestGroup(testCtx, "pipeline_library", "Graphics pipeline library tests", createChildren, vk::PIPELINE_CONSTRUCTION_TYPE_LINK_TIME_OPTIMIZED_LIBRARY, cleanupGroup));
+ de::MovePtr<tcu::TestCaseGroup> fastLinkedLibraryGroup (createTestGroup(testCtx, "fast_linked_library", "Fast linked graphics pipeline library tests", createChildren, vk::PIPELINE_CONSTRUCTION_TYPE_FAST_LINKED_LIBRARY, cleanupGroup));
de::MovePtr<tcu::TestCaseGroup> mainGroup(new tcu::TestCaseGroup(testCtx, "dynamic_state", "Dynamic State Tests"));
mainGroup->addChild(monolithicGroup.release());
de::MovePtr<tcu::TestCaseGroup> mainGroup(new tcu::TestCaseGroup(testCtx, "dynamic_state", "Dynamic State Tests"));
mainGroup->addChild(monolithicGroup.release());