Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / modules / vulkan / api / vktApiFeatureInfo.cpp
index 50ed125..43eadfc 100644 (file)
@@ -1686,26 +1686,7 @@ tcu::TestStatus featureBitInfluenceOnDeviceCreate (Context& context)
        {
                DEPENDENCY_DUAL_ITEM    (vulkan11Features,      multiviewFeatures,                              multiviewGeometryShader,                                                        multiview),
                DEPENDENCY_DUAL_ITEM    (vulkan11Features,      multiviewFeatures,                              multiviewTessellationShader,                                            multiview),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      shaderInputAttachmentArrayDynamicIndexing,                      descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      shaderUniformTexelBufferArrayDynamicIndexing,           descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      shaderStorageTexelBufferArrayDynamicIndexing,           descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      shaderUniformBufferArrayNonUniformIndexing,                     descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      shaderSampledImageArrayNonUniformIndexing,                      descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      shaderStorageBufferArrayNonUniformIndexing,                     descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      shaderStorageImageArrayNonUniformIndexing,                      descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      shaderInputAttachmentArrayNonUniformIndexing,           descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      shaderUniformTexelBufferArrayNonUniformIndexing,        descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      shaderStorageTexelBufferArrayNonUniformIndexing,        descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      descriptorBindingUniformBufferUpdateAfterBind,          descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      descriptorBindingSampledImageUpdateAfterBind,           descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      descriptorBindingStorageImageUpdateAfterBind,           descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      descriptorBindingStorageBufferUpdateAfterBind,          descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      descriptorBindingUniformTexelBufferUpdateAfterBind,     descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      descriptorBindingStorageTexelBufferUpdateAfterBind,     descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      descriptorBindingUpdateUnusedWhilePending,                      descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      descriptorBindingPartiallyBound,                                        descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      descriptorBindingVariableDescriptorCount,                       descriptorIndexing),
-               DEPENDENCY_SINGLE_ITEM  (vulkan12Features,                                                                      runtimeDescriptorArray,                                                         descriptorIndexing),
+               DEPENDENCY_DUAL_ITEM    (vulkan11Features,      variablePointersFeatures,               variablePointers,                                                                       variablePointersStorageBuffer),
                DEPENDENCY_DUAL_ITEM    (vulkan12Features,      bufferDeviceAddressFeatures,    bufferDeviceAddressCaptureReplay,                                       bufferDeviceAddress),
                DEPENDENCY_DUAL_ITEM    (vulkan12Features,      bufferDeviceAddressFeatures,    bufferDeviceAddressMultiDevice,                                         bufferDeviceAddress),
                DEPENDENCY_DUAL_ITEM    (vulkan12Features,      vulkanMemoryModelFeatures,              vulkanMemoryModelDeviceScope,                                           vulkanMemoryModel),
@@ -4205,7 +4186,7 @@ tcu::TestStatus deviceProperties2 (Context& context)
                {
                        // If deviceLUIDValid is VK_FALSE, the contents of deviceLUID and deviceNodeMask are undefined
                        // so thay can only be compared when deviceLUIDValid is VK_TRUE.
-                       if ((deMemCmp(idProperties[0].deviceLUID, idProperties[1].deviceLUID, VK_UUID_SIZE) != 0) ||
+                       if ((deMemCmp(idProperties[0].deviceLUID, idProperties[1].deviceLUID, VK_LUID_SIZE) != 0) ||
                                (idProperties[0].deviceNodeMask         != idProperties[1].deviceNodeMask))
                        {
                                TCU_FAIL("Mismatch between VkPhysicalDeviceIDProperties");
@@ -4409,7 +4390,7 @@ tcu::TestStatus deviceProperties2 (Context& context)
 
                log << TestLog::Message << performanceQueryProperties[0] << TestLog::EndMessage;
 
-               if (performanceQueryProperties[0].allowCommandBufferQueryCopies != performanceQueryProperties[0].allowCommandBufferQueryCopies)
+               if (performanceQueryProperties[0].allowCommandBufferQueryCopies != performanceQueryProperties[1].allowCommandBufferQueryCopies)
                {
                        TCU_FAIL("Mismatch between VkPhysicalDevicePerformanceQueryPropertiesKHR");
                }
@@ -4465,6 +4446,29 @@ tcu::TestStatus deviceProperties2 (Context& context)
                }
        }
 
+       if (isExtensionSupported(properties, RequiredExtension("VK_KHR_portability_subset")))
+       {
+               VkPhysicalDevicePortabilitySubsetPropertiesKHR portabilitySubsetProperties[count];
+
+               for (int ndx = 0; ndx < count; ++ndx)
+               {
+                       deMemset(&portabilitySubsetProperties[ndx], 0xFF * ndx, sizeof(VkPhysicalDevicePortabilitySubsetPropertiesKHR));
+                       portabilitySubsetProperties[ndx].sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR;
+                       portabilitySubsetProperties[ndx].pNext = DE_NULL;
+
+                       extProperties.pNext = &portabilitySubsetProperties[ndx];
+
+                       vki.getPhysicalDeviceProperties2(physicalDevice, &extProperties);
+               }
+
+               log << TestLog::Message << portabilitySubsetProperties[0] << TestLog::EndMessage;
+
+               if (portabilitySubsetProperties[0].minVertexInputBindingStrideAlignment != portabilitySubsetProperties[1].minVertexInputBindingStrideAlignment)
+               {
+                       TCU_FAIL("Mismatch between VkPhysicalDevicePortabilitySubsetPropertiesKHR");
+               }
+       }
+
        return tcu::TestStatus::pass("Querying device properties succeeded");
 }
 
@@ -5207,7 +5211,7 @@ tcu::TestStatus devicePropertyExtensionsConsistencyVulkan12(Context& context)
                {
                        // If deviceLUIDValid is VK_FALSE, the contents of deviceLUID and deviceNodeMask are undefined
                        // so thay can only be compared when deviceLUIDValid is VK_TRUE.
-                       if ((deMemCmp(idProperties.deviceLUID, vulkan11Properties.deviceLUID, VK_UUID_SIZE) != 0) ||
+                       if ((deMemCmp(idProperties.deviceLUID, vulkan11Properties.deviceLUID, VK_LUID_SIZE) != 0) ||
                                (idProperties.deviceNodeMask != vulkan11Properties.deviceNodeMask))
                        {
                                TCU_FAIL("Mismatch between VkPhysicalDeviceIDProperties and VkPhysicalDeviceVulkan11Properties");