Test vkCreateInstance with NULL application info
authorJesse Hall <jessehall@google.com>
Wed, 9 Mar 2016 00:22:45 +0000 (16:22 -0800)
committerJesse Hall <jessehall@google.com>
Thu, 10 Mar 2016 06:37:20 +0000 (22:37 -0800)
Bug: 27531340
Change-Id: I38fd9b48535aff49cb2e30355b8cfea2ea3f0f68

android/cts/master/com.drawelements.deqp.vk.xml
android/cts/master/vk-master.txt
external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp

index f00f8cd..e750dc4 100644 (file)
                                <Test name="create_instance_invalid_api_version">
                                        <TestInstance/>
                                </Test>
+                               <Test name="create_instance_null_appinfo">
+                                       <TestInstance/>
+                               </Test>
                                <Test name="create_instance_unsupported_extensions">
                                        <TestInstance/>
                                </Test>
index 8a87b29..e0d600e 100644 (file)
@@ -1306,6 +1306,7 @@ dEQP-VK.api.info.image_format_properties.3d.linear.astc_12x12_unorm_block
 dEQP-VK.api.info.image_format_properties.3d.linear.astc_12x12_srgb_block
 dEQP-VK.api.device_init.create_instance_name_version
 dEQP-VK.api.device_init.create_instance_invalid_api_version
+dEQP-VK.api.device_init.create_instance_null_appinfo
 dEQP-VK.api.device_init.create_instance_unsupported_extensions
 dEQP-VK.api.device_init.create_device
 dEQP-VK.api.device_init.create_multiple_devices
index 841c26f..47e065c 100644 (file)
@@ -242,6 +242,39 @@ tcu::TestStatus createInstanceWithInvalidApiVersionTest (Context& context)
        return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
 }
 
+tcu::TestStatus createInstanceWithNullApplicationInfoTest (Context& context)
+{
+       tcu::TestLog&                           log                                             = context.getTestContext().getLog();
+       tcu::ResultCollector            resultCollector                 (log);
+       const PlatformInterface&        platformInterface               = context.getPlatformInterface();
+
+       const VkInstanceCreateInfo              instanceCreateInfo              =
+       {
+               VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, // VkStructureType                              sType;
+               DE_NULL,                                                                // const void*                                  pNext;
+               (VkInstanceCreateFlags)0u,                              // VkInstanceCreateFlags                flags;
+               DE_NULL,                                                                // const VkApplicationInfo*             pAppInfo;
+               0u,                                                                             // deUint32                                             layerCount;
+               DE_NULL,                                                                // const char*const*                    ppEnabledLayernames;
+               0u,                                                                             // deUint32                                             extensionCount;
+               DE_NULL,                                                                // const char*const*                    ppEnabledExtensionNames;
+       };
+
+       log << TestLog::Message << "Creating instance with NULL pApplicationInfo" << TestLog::EndMessage;
+
+       try
+       {
+               const Unique<VkInstance> instance(createInstance(platformInterface, &instanceCreateInfo));
+               log << TestLog::Message << "Succeeded" << TestLog::EndMessage;
+       }
+       catch (const vk::Error& err)
+       {
+               resultCollector.fail("Failed, Error code: " + de::toString(err.getMessage()));
+       }
+
+       return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
+}
+
 tcu::TestStatus createInstanceWithUnsupportedExtensionsTest (Context& context)
 {
        tcu::TestLog&                                           log                                             = context.getTestContext().getLog();
@@ -582,6 +615,7 @@ tcu::TestCaseGroup* createDeviceInitializationTests (tcu::TestContext& testCtx)
 
        addFunctionCase(deviceInitializationTests.get(), "create_instance_name_version",                        "", createInstanceTest);
        addFunctionCase(deviceInitializationTests.get(), "create_instance_invalid_api_version",         "", createInstanceWithInvalidApiVersionTest);
+       addFunctionCase(deviceInitializationTests.get(), "create_instance_null_appinfo",                    "", createInstanceWithNullApplicationInfoTest);
        addFunctionCase(deviceInitializationTests.get(), "create_instance_unsupported_extensions",      "", createInstanceWithUnsupportedExtensionsTest);
        addFunctionCase(deviceInitializationTests.get(), "create_device",                                                       "", createDeviceTest);
        addFunctionCase(deviceInitializationTests.get(), "create_multiple_devices",                                     "", createMultipleDevicesTest);