Remove VK_KHR_swapchain as a required extension
authorVikram Kushwaha <vkushwaha@nvidia.com>
Tue, 3 Oct 2017 20:53:13 +0000 (13:53 -0700)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Wed, 4 Oct 2017 19:07:20 +0000 (15:07 -0400)
This extension is not needed to create a device group

Components: Vulkan

VK-GL-CTS issue: 733

Affects:
dEQP-VK.api.info.device_group.peer_memory_features
dEQP-VK.wsi.*.surface.query_devgroup_present_modes
dEQP-VK.compute.device_group.*

Change-Id: Idff5fd802fadf28594be55192043b2f7bd80205c

external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp
external/vulkancts/modules/vulkan/compute/vktComputeBasicComputeShaderTests.cpp
external/vulkancts/modules/vulkan/wsi/vktWsiSurfaceTests.cpp

index e93a946..7e80155 100644 (file)
@@ -1321,8 +1321,6 @@ tcu::TestStatus deviceGroupPeerMemoryFeatures (Context& context)
        if (!isCoreDeviceExtension(context.getUsedApiVersion(), "VK_KHR_device_group"))
                deviceExtensions.push_back("VK_KHR_device_group");
 
-       deviceExtensions.push_back("VK_KHR_swapchain");
-
        const std::vector<VkQueueFamilyProperties>      queueProps              = getPhysicalDeviceQueueFamilyProperties(vki, deviceGroupProps[devGroupIdx].physicalDevices[deviceIdx]);
        for (size_t queueNdx = 0; queueNdx < queueProps.size(); queueNdx++)
        {
@@ -1354,16 +1352,16 @@ tcu::TestStatus deviceGroupPeerMemoryFeatures (Context& context)
        };
        const VkDeviceCreateInfo                                                                deviceCreateInfo =
        {
-               VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,                           //sType;
-               &deviceGroupInfo,                                                                       //pNext;
-               (VkDeviceCreateFlags)0u,                                                        //flags
-               1,                                                                                                      //queueRecordCount;
-               &deviceQueueCreateInfo,                                                         //pRequestedQueues;
-               0,                                                                                                      //layerCount;
-               DE_NULL,                                                                                        //ppEnabledLayerNames;
-               deUint32(deviceExtensions.size()),                                      //extensionCount;
-               &deviceExtensions[0],                                                           //ppEnabledExtensionNames;
-               DE_NULL,                                                                                        //pEnabledFeatures;
+               VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,                                                   //sType;
+               &deviceGroupInfo,                                                                                               //pNext;
+               (VkDeviceCreateFlags)0u,                                                                                //flags
+               1,                                                                                                                              //queueRecordCount;
+               &deviceQueueCreateInfo,                                                                                 //pRequestedQueues;
+               0,                                                                                                                              //layerCount;
+               DE_NULL,                                                                                                                //ppEnabledLayerNames;
+               deUint32(deviceExtensions.size()),                                                              //extensionCount;
+               (deviceExtensions.empty() ? DE_NULL : &deviceExtensions[0]),    //ppEnabledExtensionNames;
+               DE_NULL,                                                                                                                //pEnabledFeatures;
        };
 
        Move<VkDevice>          deviceGroup = createDevice(vki, deviceGroupProps[devGroupIdx].physicalDevices[deviceIdx], &deviceCreateInfo);
index 72cc335..2af2713 100644 (file)
@@ -2411,7 +2411,6 @@ void ComputeTestInstance::createDeviceGroup (void)
 
        if (!isCoreDeviceExtension(m_context.getUsedApiVersion(), "VK_KHR_device_group"))
                deviceExtensions.push_back("VK_KHR_device_group");
-       deviceExtensions.push_back("VK_KHR_swapchain");
 
        VkDeviceGroupDeviceCreateInfo                                   deviceGroupInfo                 =
        {
@@ -2446,16 +2445,16 @@ void ComputeTestInstance::createDeviceGroup (void)
 
        const VkDeviceCreateInfo                                                deviceInfo                              =
        {
-               VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,                   // VkStructureType                                      sType;
-               &deviceGroupInfo,                                                               // const void*                                          pNext;
-               (VkDeviceCreateFlags)0,                                                 // VkDeviceCreateFlags                          flags;
-               1u      ,                                                                                       // uint32_t                                                     queueCreateInfoCount;
-               &queueInfo,                                                                             // const VkDeviceQueueCreateInfo*       pQueueCreateInfos;
-               0u,                                                                                             // uint32_t                                                     enabledLayerCount;
-               DE_NULL,                                                                                // const char* const*                           ppEnabledLayerNames;
-               deUint32(deviceExtensions.size()),                              // uint32_t                                                     enabledExtensionCount;
-               &deviceExtensions[0],                                                   // const char* const*                           ppEnabledExtensionNames;
-               &deviceFeatures,                                                                // const VkPhysicalDeviceFeatures*      pEnabledFeatures;
+               VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,                                                   // VkStructureType                                      sType;
+               &deviceGroupInfo,                                                                                               // const void*                                          pNext;
+               (VkDeviceCreateFlags)0,                                                                                 // VkDeviceCreateFlags                          flags;
+               1u      ,                                                                                                                       // uint32_t                                                     queueCreateInfoCount;
+               &queueInfo,                                                                                                             // const VkDeviceQueueCreateInfo*       pQueueCreateInfos;
+               0u,                                                                                                                             // uint32_t                                                     enabledLayerCount;
+               DE_NULL,                                                                                                                // const char* const*                           ppEnabledLayerNames;
+               deUint32(deviceExtensions.size()),                                                              // uint32_t                                                     enabledExtensionCount;
+               (deviceExtensions.empty() ? DE_NULL : &deviceExtensions[0]),    // const char* const*                           ppEnabledExtensionNames;
+               &deviceFeatures,                                                                                                // const VkPhysicalDeviceFeatures*      pEnabledFeatures;
        };
        m_logicalDevice         = createDevice(instance, deviceGroupInfo.pPhysicalDevices[physDeviceIdx], &deviceInfo);
        m_deviceDriver          = de::MovePtr<DeviceDriver>(new DeviceDriver(instance, *m_logicalDevice));
index ec43b46..93a68eb 100644 (file)
@@ -777,7 +777,6 @@ tcu::TestStatus queryDevGroupSurfacePresentCapabilitiesTest (Context& context, T
 
        if (!isCoreDeviceExtension(context.getUsedApiVersion(), "VK_KHR_device_group"))
                deviceExtensions.push_back("VK_KHR_device_group");
-       deviceExtensions.push_back("VK_KHR_swapchain");
 
        const vector<VkPhysicalDeviceGroupProperties>   deviceGroupProps                = enumeratePhysicalDeviceGroups(instHelper.vki, *instHelper.instance);
 
@@ -805,16 +804,16 @@ tcu::TestStatus queryDevGroupSurfacePresentCapabilitiesTest (Context& context, T
        };
        const VkDeviceCreateInfo                                                deviceCreateInfo                =
        {
-               VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,                                   //sType;
-               &deviceGroupInfo,                                                                               //pNext;
-               (VkDeviceCreateFlags)0u,                                                                //flags
-               1,                                                                                                              //queueRecordCount;
-               &deviceQueueCreateInfo,                                                                 //pRequestedQueues;
-               0,                                                                                                              //layerCount;
-               DE_NULL,                                                                                                //ppEnabledLayerNames;
-               deUint32(deviceExtensions.size()),                                              //enabledExtensionCount;
-               &deviceExtensions[0],                                                                   //ppEnabledExtensionNames;
-               DE_NULL,                                                                                                //pEnabledFeatures;
+               VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,                                                   //sType;
+               &deviceGroupInfo,                                                                                               //pNext;
+               (VkDeviceCreateFlags)0u,                                                                                //flags
+               1,                                                                                                                              //queueRecordCount;
+               &deviceQueueCreateInfo,                                                                                 //pRequestedQueues;
+               0,                                                                                                                              //layerCount;
+               DE_NULL,                                                                                                                //ppEnabledLayerNames;
+               deUint32(deviceExtensions.size()),                                                              //enabledExtensionCount;
+               (deviceExtensions.empty() ? DE_NULL : &deviceExtensions[0]),    //ppEnabledExtensionNames;
+               DE_NULL,                                                                                                                //pEnabledFeatures;
        };
        Move<VkDevice>          deviceGroup = createDevice(instHelper.vki, deviceGroupProps[devGroupIdx].physicalDevices[deviceIdx], &deviceCreateInfo);
        const DeviceDriver      vk      (instHelper.vki, *deviceGroup);
@@ -879,8 +878,6 @@ tcu::TestStatus queryDevGroupSurfacePresentModesTest (Context& context, Type wsi
        if (!isCoreDeviceExtension(context.getUsedApiVersion(), "VK_KHR_device_group"))
                deviceExtensions.push_back("VK_KHR_device_group");
 
-       deviceExtensions.push_back("VK_KHR_swapchain");
-
        const vector<VkPhysicalDeviceGroupProperties>   deviceGroupProps = enumeratePhysicalDeviceGroups(instHelper.vki, *instHelper.instance);
        const std::vector<VkQueueFamilyProperties>      queueProps              = getPhysicalDeviceQueueFamilyProperties(instHelper.vki, deviceGroupProps[devGroupIdx].physicalDevices[deviceIdx]);
        for (size_t queueNdx = 0; queueNdx < queueProps.size(); queueNdx++)
@@ -906,16 +903,16 @@ tcu::TestStatus queryDevGroupSurfacePresentModesTest (Context& context, Type wsi
        };
        const VkDeviceCreateInfo                                                deviceCreateInfo =
        {
-               VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,                                   //sType;
-               &deviceGroupInfo,                                                                               //pNext;
-               (VkDeviceCreateFlags)0u,                                                                //flags
-               1,                                                                                                              //queueRecordCount;
-               &deviceQueueCreateInfo,                                                                 //pRequestedQueues;
-               0,                                                                                                              //layerCount;
-               DE_NULL,                                                                                                //ppEnabledLayerNames;
-               deUint32(deviceExtensions.size()),                                              //enabledExtensionCount;
-               &deviceExtensions[0],                                                                   //ppEnabledExtensionNames;
-               DE_NULL,                                                                                                //pEnabledFeatures;
+               VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,                                                   //sType;
+               &deviceGroupInfo,                                                                                               //pNext;
+               (VkDeviceCreateFlags)0u,                                                                                //flags
+               1,                                                                                                                              //queueRecordCount;
+               &deviceQueueCreateInfo,                                                                                 //pRequestedQueues;
+               0,                                                                                                                              //layerCount;
+               DE_NULL,                                                                                                                //ppEnabledLayerNames;
+               deUint32(deviceExtensions.size()),                                                              //enabledExtensionCount;
+               (deviceExtensions.empty() ? DE_NULL : &deviceExtensions[0]),    //ppEnabledExtensionNames;
+               DE_NULL,                                                                                                                //pEnabledFeatures;
        };
 
        Move<VkDevice>          deviceGroup = createDevice(instHelper.vki, deviceGroupProps[devGroupIdx].physicalDevices[deviceIdx], &deviceCreateInfo);