Validation fixes for device_init tests
authorGraeme Leese <gleese@broadcom.com>
Wed, 12 Dec 2018 14:04:05 +0000 (14:04 +0000)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 20 Dec 2018 08:03:50 +0000 (03:03 -0500)
The validator requires that the queue properties be queried before
devices and queues are created.

Components: Vulkan
Affects: dEQP-VK.api.device_init.*

Change-Id: Iddf9487703c65890eb0c97acc991d6e0a5c6a72b

external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp

index 15e76e0..62b78ec 100644 (file)
@@ -394,6 +394,9 @@ tcu::TestStatus createDeviceTest (Context& context)
        const deUint32                                  queueCount                              = 1;
        const deUint32                                  queueIndex                              = 0;
        const float                                             queuePriority                   = 1.0f;
+
+       const vector<VkQueueFamilyProperties> queueFamilyProperties     = getPhysicalDeviceQueueFamilyProperties(instanceDriver, physicalDevice);
+
        const VkDeviceQueueCreateInfo   deviceQueueCreateInfo   =
        {
                VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
@@ -435,6 +438,7 @@ tcu::TestStatus createMultipleDevicesTest (Context& context)
        const Unique<VkInstance>                                                        instance                                (createDefaultInstance(platformInterface, context.getUsedApiVersion()));
        const InstanceDriver                                                            instanceDriver                  (platformInterface, instance.get());
        const VkPhysicalDevice                                                          physicalDevice                  = chooseDevice(instanceDriver, instance.get(), context.getTestContext().getCommandLine());
+       const vector<VkQueueFamilyProperties>                           queueFamilyProperties   = getPhysicalDeviceQueueFamilyProperties(instanceDriver, physicalDevice);
        const deUint32                                                                          queueFamilyIndex                = 0;
        const deUint32                                                                          queueCount                              = 1;
        const deUint32                                                                          queueIndex                              = 0;
@@ -670,6 +674,9 @@ tcu::TestStatus createDeviceFeatures2Test (Context& context)
        const deUint32                                  queueIndex                              = 0;
        const float                                             queuePriority                   = 1.0f;
 
+       const InstanceDriver                                    instanceDriver                  (vkp, instance.get());
+       const vector<VkQueueFamilyProperties>   queueFamilyProperties   = getPhysicalDeviceQueueFamilyProperties(instanceDriver, physicalDevice);
+
        VkPhysicalDeviceFeatures2               enabledFeatures;
        const VkDeviceQueueCreateInfo   deviceQueueCreateInfo   =
        {
@@ -732,6 +739,8 @@ tcu::TestStatus createDeviceWithUnsupportedFeaturesTest (Context& context)
        const float                                     queuePriority                   = 1.0f;
        VkPhysicalDeviceFeatures        physicalDeviceFeatures;
 
+       const vector<VkQueueFamilyProperties>   queueFamilyProperties   = getPhysicalDeviceQueueFamilyProperties(instanceDriver, physicalDevice);
+
        instanceDriver.getPhysicalDeviceFeatures(physicalDevice, &physicalDeviceFeatures);
 
        static const Feature features[] =