From 3e5e2960117fcc6b8e159fa906ff78fbdf88f245 Mon Sep 17 00:00:00 2001 From: Jesse Hall Date: Tue, 8 Mar 2016 16:22:45 -0800 Subject: [PATCH] Test vkCreateInstance with NULL application info Bug: 27531340 Change-Id: I38fd9b48535aff49cb2e30355b8cfea2ea3f0f68 --- android/cts/master/com.drawelements.deqp.vk.xml | 3 ++ android/cts/master/vk-master.txt | 1 + .../vulkan/api/vktApiDeviceInitializationTests.cpp | 34 ++++++++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/android/cts/master/com.drawelements.deqp.vk.xml b/android/cts/master/com.drawelements.deqp.vk.xml index f00f8cd..e750dc4 100644 --- a/android/cts/master/com.drawelements.deqp.vk.xml +++ b/android/cts/master/com.drawelements.deqp.vk.xml @@ -3977,6 +3977,9 @@ + + + diff --git a/android/cts/master/vk-master.txt b/android/cts/master/vk-master.txt index 8a87b29..e0d600e 100644 --- a/android/cts/master/vk-master.txt +++ b/android/cts/master/vk-master.txt @@ -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 diff --git a/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp index 841c26f..47e065c 100644 --- a/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp +++ b/external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp @@ -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 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); -- 2.7.4