Fix for maintenance3_properties test
authorMarcin Rogucki <marcin.rogucki@mobica.com>
Thu, 5 Oct 2017 09:12:11 +0000 (11:12 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 5 Oct 2017 18:05:10 +0000 (14:05 -0400)
A test had wrong checks as it failed on values equal to minimum required values.

Updated tests:
dEQP-VK.api.maintenance3_check.maintenance3_properties

Components: Vulkan

VK_GL_CTS Issue: #744

Change-Id: Iea88e433981f69a16beec750ffd774d453db4de6

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

index c810b94..4d67f11 100644 (file)
@@ -69,20 +69,19 @@ public:
                const deUint32                                          maxMemoryAllocationSize                                 = 1073741824u;
                const deUint32                                          maxDescriptorsInSet                                             = 1024u;
 
+               // set values to be a bit smaller than required minimum values
                MainDevProp3 mainProp3 =
                {
                        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,                             //VkStructureType                                               sType;
                        DE_NULL,                                                                                                                                //void*                                                                 pNext;
-                       maxDescriptorsInSet,                                                                                                    //deUint32                                                              maxPerSetDescriptors;
-                       maxMemoryAllocationSize                                                                                                 //VkDeviceSize                                                  maxMemoryAllocationSize;
+                       maxDescriptorsInSet - 1u,                                                                                               //deUint32                                                              maxPerSetDescriptors;
+                       maxMemoryAllocationSize - 1u                                                                                    //VkDeviceSize                                                  maxMemoryAllocationSize;
                };
 
-               DevProp2 prop2 =
-               {
-                       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,                                                 //VkStructureType                                               sType;
-                       &mainProp3,                                                                                                                             //void*                                                                 pNext;
-                       VkPhysicalDeviceProperties()                                                                                    //VkPhysicalDeviceProperties                    properties;
-               };
+               DevProp2 prop2;
+               deMemset(&prop2, 0, sizeof(prop2)); // zero the structure
+               prop2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
+               prop2.pNext = &mainProp3;
 
                m_context.getInstanceInterface().getPhysicalDeviceProperties2(m_context.getPhysicalDevice(), &prop2);
 
@@ -92,12 +91,6 @@ public:
                if (mainProp3.maxPerSetDescriptors < maxDescriptorsInSet)
                        return tcu::TestStatus::fail("Fail");
 
-               if (mainProp3.maxMemoryAllocationSize == maxMemoryAllocationSize)
-                       return tcu::TestStatus::fail("Fail");
-
-               if (mainProp3.maxPerSetDescriptors == maxDescriptorsInSet)
-                       return tcu::TestStatus::fail("Fail");
-
                log << tcu::TestLog::Message << "maxMemoryAllocationSize: "     << mainProp3.maxMemoryAllocationSize    << tcu::TestLog::EndMessage;
                log << tcu::TestLog::Message << "maxPerSetDescriptors: "        << mainProp3.maxPerSetDescriptors               << tcu::TestLog::EndMessage;
                return tcu::TestStatus::pass("Pass");