Reduce number of created pipelines in compute subgroups tests
authorSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Thu, 26 Sep 2019 13:41:43 +0000 (15:41 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 18 Oct 2019 10:01:40 +0000 (06:01 -0400)
Some drivers are taking too much time to execute compute subgroups
tests, mostly because they need to build N times the same pipeline
where the only difference is the local size values passed via
specialization constants.

As there are drivers that don't take advantage of pipeline derivatives,
reducing the number of pipeline creations helps to reduce execution time.

Affected tests:

   dEQP-VK.subgroups.*compute*

Components: Vulkan
VK-GL-CTS issue: 2019

Change-Id: Ie3ccbc53390bdba691c16d51c173b0a8a16119d9

external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTestsUtils.cpp

index 96b67f8..d4ed254 100644 (file)
@@ -3133,23 +3133,16 @@ tcu::TestStatus vkt::subgroups::makeComputeTest(
 
        const deUint32 numWorkgroups[3] = {4, 2, 2};
 
-       const deUint32 localSizesToTestCount = 15;
+       const deUint32 localSizesToTestCount = 8;
        deUint32 localSizesToTest[localSizesToTestCount][3] =
        {
                {1, 1, 1},
-               {32, 4, 1},
-               {32, 1, 4},
-               {1, 32, 4},
-               {1, 4, 32},
-               {4, 1, 32},
-               {4, 32, 1},
                {subgroupSize, 1, 1},
                {1, subgroupSize, 1},
                {1, 1, subgroupSize},
+               {32, 4, 1},
+               {1, 4, 32},
                {3, 5, 7},
-               {128, 1, 1},
-               {1, 128, 1},
-               {1, 1, 64},
                {1, 1, 1} // Isn't used, just here to make double buffering checks easier
        };