Fix device creation in multiview tests
authorAlexander Galazin <alexander.galazin@arm.com>
Wed, 4 Oct 2017 07:53:43 +0000 (09:53 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Wed, 4 Oct 2017 19:09:07 +0000 (15:09 -0400)
context.getDeviceExtensions() now returns all extension
promoted to core. This may not be true for some implementations.
While creating a new device need to enumerate exactly the extensions
supported by an implementation.

VK-GL-CTS issue: 736

Components: Vulkan

Affects:
dEQP-VK.multiview.*

Change-Id: Ibca7630ea5bd691a20f906519e15f66b22d465aa

external/vulkancts/modules/vulkan/multiview/vktMultiViewRenderTests.cpp

index c3ef658..f7f3a7d 100644 (file)
@@ -465,11 +465,11 @@ void MultiViewRenderTestInstance::createMultiViewDevices (void)
        m_hasMultiDrawIndirect = enabledFeatures.features.multiDrawIndirect;
 
        {
-               const vector<string>&                   deviceExtensions        = m_context.getDeviceExtensions();
-               vector<const char*>                             charDevExtensions;
+               const std::vector<VkExtensionProperties>        deviceExtensions        = enumerateDeviceExtensionProperties(m_context.getInstanceInterface(), m_context.getPhysicalDevice(), DE_NULL);
+               vector<const char*>                                                     charDevExtensions;
 
                for (std::size_t ndx = 0; ndx < deviceExtensions.size(); ++ndx)
-                       charDevExtensions.push_back(deviceExtensions[ndx].c_str());
+                       charDevExtensions.push_back(deviceExtensions[ndx].extensionName);
 
                const VkDeviceCreateInfo                deviceInfo                      =
                {