Merge vk-gl-cts/dev/VK_KHR_fragment_shader_barycentric into vk-gl-cts/main
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / framework / vulkan / generated / vulkan / vkDeviceFeatureTest.inl
index 4cf3ad4..85996cf 100644 (file)
@@ -2089,6 +2089,53 @@ tcu::TestStatus createDeviceWithUnsupportedFeaturesTestPresentIdFeaturesKHR (Con
 }
 
 
+tcu::TestStatus createDeviceWithUnsupportedFeaturesTestFragmentShaderBarycentricFeaturesKHR (Context& context)
+{
+       const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
+       tcu::TestLog&                                                   log                                             = context.getTestContext().getLog();
+       tcu::ResultCollector                                    resultCollector                 (log);
+       const CustomInstance                                    instance                                (createCustomInstanceWithExtensions(context, context.getInstanceExtensions(), DE_NULL, true));
+       const InstanceDriver&                                   instanceDriver                  (instance.getDriver());
+       const VkPhysicalDevice                                  physicalDevice                  = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine());
+       const deUint32                                                  queueFamilyIndex                = 0;
+       const deUint32                                                  queueCount                              = 1;
+       const float                                                             queuePriority                   = 1.0f;
+       const DeviceFeatures                                    deviceFeaturesAll               (context.getInstanceInterface(), context.getUsedApiVersion(), physicalDevice, context.getInstanceExtensions(), context.getDeviceExtensions(), DE_TRUE);
+       const VkPhysicalDeviceFeatures2                 deviceFeatures2                 = deviceFeaturesAll.getCoreFeatures2();
+       int                                                                             numErrors                               = 0;
+       bool                                                                    isSubProcess                    = context.getTestContext().getCommandLine().isSubProcess();
+
+
+       VkPhysicalDeviceFeatures emptyDeviceFeatures;
+       deMemset(&emptyDeviceFeatures, 0, sizeof(emptyDeviceFeatures));
+
+       // Only non-core extensions will be used when creating the device.
+       vector<const char*>     coreExtensions;
+       getCoreDeviceExtensions(context.getUsedApiVersion(), coreExtensions);
+       vector<string> nonCoreExtensions(removeExtensions(context.getDeviceExtensions(), coreExtensions));
+
+       vector<const char*> extensionNames;
+       extensionNames.reserve(nonCoreExtensions.size());
+       for (const string& extension : nonCoreExtensions)
+               extensionNames.push_back(extension.c_str());
+
+       if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>()))
+       {
+               static const Feature features[] =
+               {
+               FEATURE_ITEM (VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR, fragmentShaderBarycentric),
+               };
+               auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR*>(featuresStruct);
+               checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+       }
+
+       if (numErrors > 0)
+               return tcu::TestStatus(resultCollector.getResult(), "Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.");
+       else
+               return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
+}
+
+
 tcu::TestStatus createDeviceWithUnsupportedFeaturesTestShaderSubgroupUniformControlFlowFeaturesKHR (Context& context)
 {
        const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
@@ -2804,53 +2851,6 @@ tcu::TestStatus createDeviceWithUnsupportedFeaturesTestMeshShaderFeaturesNV (Con
 }
 
 
-tcu::TestStatus createDeviceWithUnsupportedFeaturesTestFragmentShaderBarycentricFeaturesNV (Context& context)
-{
-       const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
-       tcu::TestLog&                                                   log                                             = context.getTestContext().getLog();
-       tcu::ResultCollector                                    resultCollector                 (log);
-       const CustomInstance                                    instance                                (createCustomInstanceWithExtensions(context, context.getInstanceExtensions(), DE_NULL, true));
-       const InstanceDriver&                                   instanceDriver                  (instance.getDriver());
-       const VkPhysicalDevice                                  physicalDevice                  = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine());
-       const deUint32                                                  queueFamilyIndex                = 0;
-       const deUint32                                                  queueCount                              = 1;
-       const float                                                             queuePriority                   = 1.0f;
-       const DeviceFeatures                                    deviceFeaturesAll               (context.getInstanceInterface(), context.getUsedApiVersion(), physicalDevice, context.getInstanceExtensions(), context.getDeviceExtensions(), DE_TRUE);
-       const VkPhysicalDeviceFeatures2                 deviceFeatures2                 = deviceFeaturesAll.getCoreFeatures2();
-       int                                                                             numErrors                               = 0;
-       bool                                                                    isSubProcess                    = context.getTestContext().getCommandLine().isSubProcess();
-
-
-       VkPhysicalDeviceFeatures emptyDeviceFeatures;
-       deMemset(&emptyDeviceFeatures, 0, sizeof(emptyDeviceFeatures));
-
-       // Only non-core extensions will be used when creating the device.
-       vector<const char*>     coreExtensions;
-       getCoreDeviceExtensions(context.getUsedApiVersion(), coreExtensions);
-       vector<string> nonCoreExtensions(removeExtensions(context.getDeviceExtensions(), coreExtensions));
-
-       vector<const char*> extensionNames;
-       extensionNames.reserve(nonCoreExtensions.size());
-       for (const string& extension : nonCoreExtensions)
-               extensionNames.push_back(extension.c_str());
-
-       if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>()))
-       {
-               static const Feature features[] =
-               {
-               FEATURE_ITEM (VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV, fragmentShaderBarycentric),
-               };
-               auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV*>(featuresStruct);
-               checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
-       }
-
-       if (numErrors > 0)
-               return tcu::TestStatus(resultCollector.getResult(), "Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.");
-       else
-               return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
-}
-
-
 tcu::TestStatus createDeviceWithUnsupportedFeaturesTestShaderImageFootprintFeaturesNV (Context& context)
 {
        const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
@@ -4159,6 +4159,53 @@ tcu::TestStatus createDeviceWithUnsupportedFeaturesTestGraphicsPipelineLibraryFe
 }
 
 
+tcu::TestStatus createDeviceWithUnsupportedFeaturesTestShaderEarlyAndLateFragmentTestsFeaturesAMD (Context& context)
+{
+       const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
+       tcu::TestLog&                                                   log                                             = context.getTestContext().getLog();
+       tcu::ResultCollector                                    resultCollector                 (log);
+       const CustomInstance                                    instance                                (createCustomInstanceWithExtensions(context, context.getInstanceExtensions(), DE_NULL, true));
+       const InstanceDriver&                                   instanceDriver                  (instance.getDriver());
+       const VkPhysicalDevice                                  physicalDevice                  = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine());
+       const deUint32                                                  queueFamilyIndex                = 0;
+       const deUint32                                                  queueCount                              = 1;
+       const float                                                             queuePriority                   = 1.0f;
+       const DeviceFeatures                                    deviceFeaturesAll               (context.getInstanceInterface(), context.getUsedApiVersion(), physicalDevice, context.getInstanceExtensions(), context.getDeviceExtensions(), DE_TRUE);
+       const VkPhysicalDeviceFeatures2                 deviceFeatures2                 = deviceFeaturesAll.getCoreFeatures2();
+       int                                                                             numErrors                               = 0;
+       bool                                                                    isSubProcess                    = context.getTestContext().getCommandLine().isSubProcess();
+
+
+       VkPhysicalDeviceFeatures emptyDeviceFeatures;
+       deMemset(&emptyDeviceFeatures, 0, sizeof(emptyDeviceFeatures));
+
+       // Only non-core extensions will be used when creating the device.
+       vector<const char*>     coreExtensions;
+       getCoreDeviceExtensions(context.getUsedApiVersion(), coreExtensions);
+       vector<string> nonCoreExtensions(removeExtensions(context.getDeviceExtensions(), coreExtensions));
+
+       vector<const char*> extensionNames;
+       extensionNames.reserve(nonCoreExtensions.size());
+       for (const string& extension : nonCoreExtensions)
+               extensionNames.push_back(extension.c_str());
+
+       if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD>()))
+       {
+               static const Feature features[] =
+               {
+               FEATURE_ITEM (VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, shaderEarlyAndLateFragmentTests),
+               };
+               auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD*>(featuresStruct);
+               checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+       }
+
+       if (numErrors > 0)
+               return tcu::TestStatus(resultCollector.getResult(), "Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.");
+       else
+               return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
+}
+
+
 tcu::TestStatus createDeviceWithUnsupportedFeaturesTestFragmentShadingRateEnumsFeaturesNV (Context& context)
 {
        const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
@@ -5790,6 +5837,7 @@ void addSeparateUnsupportedFeatureTests (tcu::TestCaseGroup* testGroup)
        addFunctionCase(testGroup, "present_wait_features_khr", "createDeviceWithUnsupportedFeaturesTestPresentWaitFeaturesKHR", createDeviceWithUnsupportedFeaturesTestPresentWaitFeaturesKHR);
        addFunctionCase(testGroup, "pipeline_executable_properties_features_khr", "createDeviceWithUnsupportedFeaturesTestPipelineExecutablePropertiesFeaturesKHR", createDeviceWithUnsupportedFeaturesTestPipelineExecutablePropertiesFeaturesKHR);
        addFunctionCase(testGroup, "present_id_features_khr", "createDeviceWithUnsupportedFeaturesTestPresentIdFeaturesKHR", createDeviceWithUnsupportedFeaturesTestPresentIdFeaturesKHR);
+       addFunctionCase(testGroup, "fragment_shader_barycentric_features_khr", "createDeviceWithUnsupportedFeaturesTestFragmentShaderBarycentricFeaturesKHR", createDeviceWithUnsupportedFeaturesTestFragmentShaderBarycentricFeaturesKHR);
        addFunctionCase(testGroup, "shader_subgroup_uniform_control_flow_features_khr", "createDeviceWithUnsupportedFeaturesTestShaderSubgroupUniformControlFlowFeaturesKHR", createDeviceWithUnsupportedFeaturesTestShaderSubgroupUniformControlFlowFeaturesKHR);
        addFunctionCase(testGroup, "workgroup_memory_explicit_layout_features_khr", "createDeviceWithUnsupportedFeaturesTestWorkgroupMemoryExplicitLayoutFeaturesKHR", createDeviceWithUnsupportedFeaturesTestWorkgroupMemoryExplicitLayoutFeaturesKHR);
        addFunctionCase(testGroup, "ray_tracing_maintenance1_features_khr", "createDeviceWithUnsupportedFeaturesTestRayTracingMaintenance1FeaturesKHR", createDeviceWithUnsupportedFeaturesTestRayTracingMaintenance1FeaturesKHR);
@@ -5805,7 +5853,6 @@ void addSeparateUnsupportedFeatureTests (tcu::TestCaseGroup* testGroup)
        addFunctionCase(testGroup, "vertex_attribute_divisor_features_ext", "createDeviceWithUnsupportedFeaturesTestVertexAttributeDivisorFeaturesEXT", createDeviceWithUnsupportedFeaturesTestVertexAttributeDivisorFeaturesEXT);
        addFunctionCase(testGroup, "compute_shader_derivatives_features_nv", "createDeviceWithUnsupportedFeaturesTestComputeShaderDerivativesFeaturesNV", createDeviceWithUnsupportedFeaturesTestComputeShaderDerivativesFeaturesNV);
        addFunctionCase(testGroup, "mesh_shader_features_nv", "createDeviceWithUnsupportedFeaturesTestMeshShaderFeaturesNV", createDeviceWithUnsupportedFeaturesTestMeshShaderFeaturesNV);
-       addFunctionCase(testGroup, "fragment_shader_barycentric_features_nv", "createDeviceWithUnsupportedFeaturesTestFragmentShaderBarycentricFeaturesNV", createDeviceWithUnsupportedFeaturesTestFragmentShaderBarycentricFeaturesNV);
        addFunctionCase(testGroup, "shader_image_footprint_features_nv", "createDeviceWithUnsupportedFeaturesTestShaderImageFootprintFeaturesNV", createDeviceWithUnsupportedFeaturesTestShaderImageFootprintFeaturesNV);
        addFunctionCase(testGroup, "exclusive_scissor_features_nv", "createDeviceWithUnsupportedFeaturesTestExclusiveScissorFeaturesNV", createDeviceWithUnsupportedFeaturesTestExclusiveScissorFeaturesNV);
        addFunctionCase(testGroup, "shader_integer_functions2_features_intel", "createDeviceWithUnsupportedFeaturesTestShaderIntegerFunctions2FeaturesINTEL", createDeviceWithUnsupportedFeaturesTestShaderIntegerFunctions2FeaturesINTEL);
@@ -5833,6 +5880,7 @@ void addSeparateUnsupportedFeatureTests (tcu::TestCaseGroup* testGroup)
        addFunctionCase(testGroup, "custom_border_color_features_ext", "createDeviceWithUnsupportedFeaturesTestCustomBorderColorFeaturesEXT", createDeviceWithUnsupportedFeaturesTestCustomBorderColorFeaturesEXT);
        addFunctionCase(testGroup, "diagnostics_config_features_nv", "createDeviceWithUnsupportedFeaturesTestDiagnosticsConfigFeaturesNV", createDeviceWithUnsupportedFeaturesTestDiagnosticsConfigFeaturesNV);
        addFunctionCase(testGroup, "graphics_pipeline_library_features_ext", "createDeviceWithUnsupportedFeaturesTestGraphicsPipelineLibraryFeaturesEXT", createDeviceWithUnsupportedFeaturesTestGraphicsPipelineLibraryFeaturesEXT);
+       addFunctionCase(testGroup, "shader_early_and_late_fragment_tests_features_amd", "createDeviceWithUnsupportedFeaturesTestShaderEarlyAndLateFragmentTestsFeaturesAMD", createDeviceWithUnsupportedFeaturesTestShaderEarlyAndLateFragmentTestsFeaturesAMD);
        addFunctionCase(testGroup, "fragment_shading_rate_enums_features_nv", "createDeviceWithUnsupportedFeaturesTestFragmentShadingRateEnumsFeaturesNV", createDeviceWithUnsupportedFeaturesTestFragmentShadingRateEnumsFeaturesNV);
        addFunctionCase(testGroup, "ray_tracing_motion_blur_features_nv", "createDeviceWithUnsupportedFeaturesTestRayTracingMotionBlurFeaturesNV", createDeviceWithUnsupportedFeaturesTestRayTracingMotionBlurFeaturesNV);
        addFunctionCase(testGroup, "ycbcr2_plane444_formats_features_ext", "createDeviceWithUnsupportedFeaturesTestYcbcr2Plane444FormatsFeaturesEXT", createDeviceWithUnsupportedFeaturesTestYcbcr2Plane444FormatsFeaturesEXT);