Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
authorMatthew Netsch <quic_mnetsch@quicinc.com>
Thu, 7 Apr 2022 20:56:53 +0000 (13:56 -0700)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Thu, 7 Apr 2022 21:28:22 +0000 (14:28 -0700)
Change-Id: I2c051a776b06d23239eb3ce501a999088cd0c1de

16 files changed:
1  2 
executor/xeTestCaseResult.hpp
executor/xeTestLogWriter.cpp
executor/xeTestResultParser.cpp
external/vulkancts/framework/vulkan/vkDeviceExtensions.inl
external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl
external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp
external/vulkancts/framework/vulkan/vkSupportedExtensions.inl
external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsSizeControlTests.cpp
external/vulkancts/scripts/gen_framework.py
external/vulkancts/scripts/src/extensions/VK_EXT_border_color_swizzle.json
external/vulkancts/scripts/src/extensions/VK_EXT_primitive_topology_list_restart.json
external/vulkancts/scripts/src/extensions/VK_KHR_dynamic_rendering.json
external/vulkancts/scripts/src/extensions/VK_KHR_format_feature_flags2.json
external/vulkancts/scripts/src/extensions/VK_KHR_maintenance4.json
external/vulkancts/scripts/src/extensions/VK_NV_mesh_shading.json

Simple merge
Simple merge
Simple merge
@@@ -4,87 -4,72 +4,75 @@@
   */
  static const char* s_allowedDeviceKhrExtensions[] =
  {
-       "VK_KHR_swapchain",
-       "VK_KHR_swapchain_mutable_format",
-       "VK_KHR_display_swapchain",
-       "VK_KHR_sampler_mirror_clamp_to_edge",
-       "VK_KHR_multiview",
+       "VK_KHR_16bit_storage",
+       "VK_KHR_8bit_storage",
+       "VK_KHR_acceleration_structure",
+       "VK_KHR_bind_memory2",
+       "VK_KHR_buffer_device_address",
+       "VK_KHR_copy_commands2",
+       "VK_KHR_create_renderpass2",
+       "VK_KHR_dedicated_allocation",
+       "VK_KHR_deferred_host_operations",
+       "VK_KHR_depth_stencil_resolve",
+       "VK_KHR_descriptor_update_template",
        "VK_KHR_device_group",
-       "VK_KHR_shader_draw_parameters",
-       "VK_KHR_maintenance1",
+       "VK_KHR_display_swapchain",
+       "VK_KHR_draw_indirect_count",
+       "VK_KHR_driver_properties",
++      "VK_KHR_dynamic_rendering",
+       "VK_KHR_external_fence",
+       "VK_KHR_external_fence_fd",
+       "VK_KHR_external_fence_win32",
        "VK_KHR_external_memory",
-       "VK_KHR_external_memory_win32",
        "VK_KHR_external_memory_fd",
-       "VK_KHR_win32_keyed_mutex",
+       "VK_KHR_external_memory_win32",
        "VK_KHR_external_semaphore",
-       "VK_KHR_external_semaphore_win32",
        "VK_KHR_external_semaphore_fd",
-       "VK_KHR_push_descriptor",
-       "VK_KHR_shader_float16_int8",
-       "VK_KHR_16bit_storage",
+       "VK_KHR_external_semaphore_win32",
++      "VK_KHR_format_feature_flags2",
+       "VK_KHR_fragment_shading_rate",
+       "VK_KHR_get_memory_requirements2",
+       "VK_KHR_image_format_list",
+       "VK_KHR_imageless_framebuffer",
        "VK_KHR_incremental_present",
-       "VK_KHR_8bit_storage",
-       "VK_KHR_descriptor_update_template",
-       "VK_KHR_create_renderpass2",
-       "VK_KHR_shared_presentable_image",
-       "VK_KHR_external_fence",
-       "VK_KHR_external_fence_win32",
-       "VK_KHR_external_fence_fd",
+       "VK_KHR_maintenance1",
        "VK_KHR_maintenance2",
-       "VK_KHR_variable_pointers",
-       "VK_KHR_dedicated_allocation",
-       "VK_KHR_storage_buffer_storage_class",
+       "VK_KHR_maintenance3",
++      "VK_KHR_maintenance4",
+       "VK_KHR_multiview",
+       "VK_KHR_performance_query",
+       "VK_KHR_pipeline_executable_properties",
+       "VK_KHR_pipeline_library",
+       "VK_KHR_present_id",
+       "VK_KHR_present_wait",
+       "VK_KHR_push_descriptor",
+       "VK_KHR_ray_query",
+       "VK_KHR_ray_tracing_pipeline",
        "VK_KHR_relaxed_block_layout",
-       "VK_KHR_get_memory_requirements2",
-       "VK_KHR_image_format_list",
+       "VK_KHR_sampler_mirror_clamp_to_edge",
        "VK_KHR_sampler_ycbcr_conversion",
-       "VK_KHR_bind_memory2",
-       "VK_KHR_maintenance3",
-       "VK_KHR_driver_properties",
-       "VK_KHR_shader_float_controls",
-       "VK_KHR_depth_stencil_resolve",
-       "VK_KHR_draw_indirect_count",
-       "VK_KHR_shader_atomic_int64",
-       "VK_KHR_vulkan_memory_model",
-       "VK_KHR_uniform_buffer_standard_layout",
-       "VK_KHR_imageless_framebuffer",
-       "VK_KHR_shader_subgroup_extended_types",
-       "VK_EXT_sampler_filter_minmax",
-       "VK_EXT_shader_viewport_index_layer",
-       "VK_EXT_descriptor_indexing",
-       "VK_EXT_scalar_block_layout",
-       "VK_KHR_buffer_device_address",
-       "VK_EXT_host_query_reset",
        "VK_KHR_separate_depth_stencil_layouts",
-       "VK_KHR_timeline_semaphore",
-       "VK_KHR_spirv_1_4",
-       "VK_EXT_separate_stencil_usage",
-       "VK_KHR_pipeline_executable_properties",
        "VK_KHR_shader_clock",
-       "VK_KHR_performance_query",
+       "VK_KHR_shader_draw_parameters",
+       "VK_KHR_shader_float16_int8",
+       "VK_KHR_shader_float_controls",
+       "VK_KHR_shader_integer_dot_product",
        "VK_KHR_shader_non_semantic_info",
-       "VK_KHR_copy_commands2",
+       "VK_KHR_shader_subgroup_extended_types",
+       "VK_KHR_shader_subgroup_uniform_control_flow",
        "VK_KHR_shader_terminate_invocation",
-       "VK_KHR_ray_tracing_pipeline",
-       "VK_KHR_ray_query",
-       "VK_KHR_acceleration_structure",
-       "VK_KHR_pipeline_library",
-       "VK_KHR_deferred_host_operations",
-       "VK_KHR_fragment_shading_rate",
-       "VK_KHR_zero_initialize_workgroup_memory",
-       "VK_KHR_workgroup_memory_explicit_layout",
+       "VK_KHR_shared_presentable_image",
+       "VK_KHR_spirv_1_4",
+       "VK_KHR_storage_buffer_storage_class",
+       "VK_KHR_swapchain",
+       "VK_KHR_swapchain_mutable_format",
        "VK_KHR_synchronization2",
-       "VK_EXT_color_write_enable",
-       "VK_VALVE_mutable_descriptor_type",
-       "VK_EXT_multi_draw",
-       "VK_KHR_shader_subgroup_uniform_control_flow",
-       "VK_KHR_present_id",
-       "VK_KHR_present_wait",
-       "VK_KHR_shader_integer_dot_product",
-       "VK_KHR_format_feature_flags2",
-       "VK_KHR_maintenance4",
-       "VK_KHR_dynamic_rendering",
-       "VK_EXT_border_color_swizzle",
-       "VK_NV_mesh_shader",
+       "VK_KHR_timeline_semaphore",
+       "VK_KHR_uniform_buffer_standard_layout",
+       "VK_KHR_variable_pointers",
+       "VK_KHR_vulkan_memory_model",
+       "VK_KHR_win32_keyed_mutex",
+       "VK_KHR_workgroup_memory_explicit_layout",
+       "VK_KHR_zero_initialize_workgroup_memory",
  };
  
@@@ -675,20 -619,11 +639,20 @@@ bool checkMandatoryFeatures(const vkt::
                }
        }
  
-       if ( context.contextSupports(vk::ApiVersion(1, 2, 0)) )
++      if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_border_color_swizzle")) )
 +      {
-               if ( physicalDeviceVulkan11Features.multiview == VK_FALSE )
++              if ( physicalDeviceBorderColorSwizzleFeaturesEXT.borderColorSwizzle == VK_FALSE )
 +              {
-                       log << tcu::TestLog::Message << "Mandatory feature multiview not supported" << tcu::TestLog::EndMessage;
++                      log << tcu::TestLog::Message << "Mandatory feature borderColorSwizzle not supported" << tcu::TestLog::EndMessage;
 +                      result = false;
 +              }
 +      }
 +
-       if ( context.contextSupports(vk::ApiVersion(1, 1, 0)) )
+       if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_color_write_enable")) )
        {
-               if ( physicalDeviceMultiviewFeatures.multiview == VK_FALSE )
+               if ( physicalDeviceColorWriteEnableFeaturesEXT.colorWriteEnable == VK_FALSE )
                {
-                       log << tcu::TestLog::Message << "Mandatory feature multiview not supported" << tcu::TestLog::EndMessage;
+                       log << tcu::TestLog::Message << "Mandatory feature colorWriteEnable not supported" << tcu::TestLog::EndMessage;
                        result = false;
                }
        }
                }
        }
  
-       if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_KHR_separate_depth_stencil_layouts")) )
++      if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_primitive_topology_list_restart")) )
 +      {
-               if ( physicalDeviceSeparateDepthStencilLayoutsFeaturesKHR.separateDepthStencilLayouts == VK_FALSE )
++              if ( physicalDevicePrimitiveTopologyListRestartFeaturesEXT.primitiveTopologyListRestart == VK_FALSE )
 +              {
-                       log << tcu::TestLog::Message << "Mandatory feature separateDepthStencilLayouts not supported" << tcu::TestLog::EndMessage;
++                      log << tcu::TestLog::Message << "Mandatory feature primitiveTopologyListRestart not supported" << tcu::TestLog::EndMessage;
 +                      result = false;
 +              }
 +      }
 +
-       if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_pipeline_creation_cache_control")) )
+       if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_scalar_block_layout")) )
        {
-               if ( physicalDevicePipelineCreationCacheControlFeaturesEXT.pipelineCreationCacheControl == VK_FALSE )
+               if ( physicalDeviceScalarBlockLayoutFeaturesEXT.scalarBlockLayout == VK_FALSE )
                {
-                       log << tcu::TestLog::Message << "Mandatory feature pipelineCreationCacheControl not supported" << tcu::TestLog::EndMessage;
+                       log << tcu::TestLog::Message << "Mandatory feature scalarBlockLayout not supported" << tcu::TestLog::EndMessage;
                        result = false;
                }
        }
@@@ -743,19 -754,31 +745,31 @@@ def parse64bitBitfieldValues (src, bitf
  def parseAPI (src):
        versionsData    = parseVersions(src)
        versions                = [Version((v[2], v[3], 0)) for v in versionsData]
 -      definitions             = [Definition("deUint32", v.getInHex(), parsePreprocDefinedValue(src, v.getInHex())) for v in versions] +\
 +      definitions             = [Definition("uint32_t", v.getInHex(), parsePreprocDefinedValue(src, v.getInHex())) for v in versions] +\
                                          [Definition(type, name, parsePreprocDefinedValue(src, name)) for name, type in DEFINITIONS]
  
-       handles                         = parseHandles(src)
-       rawEnums                        = parseEnums(src)
-       bitfieldNames           = parseBitfieldNames(src)
-       bitfieldEnums           = set([getBitEnumNameForBitfield(n) for n in bitfieldNames if getBitEnumNameForBitfield(n) in [enum.name for enum in rawEnums]])
-       bitfield64Names         = parse64bitBitfieldNames(src)
-       bitfields64                     = parse64bitBitfieldValues(src, bitfield64Names)
-       enums                           = []
-       bitfields                       = []
-       compositeTypes          = parseCompositeTypesByVersion(src, versionsData)
-       allFunctions            = parseFunctionsByVersion(src, versionsData)
+       handles                                         = parseHandles(src)
+       rawEnums                                        = parseEnums(src)
+       bitfieldNames                           = parseBitfieldNames(src)
+       bitfieldEnums                           = set([getBitEnumNameForBitfield(n) for n in bitfieldNames if getBitEnumNameForBitfield(n) in [enum.name for enum in rawEnums]])
+       bitfield64Names                         = parse64bitBitfieldNames(src)
+       bitfields64                                     = parse64bitBitfieldValues(src, bitfield64Names)
+       enums                                           = []
+       bitfields                                       = []
+       compositeTypes                          = parseCompositeTypesByVersion(src, versionsData)
+       allFunctions                            = parseFunctionsByVersion(src, versionsData)
+       additionalExtensionData         = {}
+       # read all files from extensions directory
+       for fileName in glob.glob(os.path.join(VULKAN_SRC_DIR, "extensions", "*.json")):
+               extensionName   = os.path.basename(fileName)[:-5]
+               fileContent             = readFile(fileName)
+               try:
+                       additionalExtensionData[extensionName] = json.loads(fileContent)
+               except ValueError as err:
+                       print("Error in %s: %s" % (os.path.basename(fileName), str(err)))
+                       sys.exit(-1)
+       additionalExtensionData = sorted(additionalExtensionData.items(), key=lambda e: e[0])
  
        for enum in rawEnums:
                if enum.name in bitfieldEnums:
index 0000000,0000000..d7abd38
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++{
++      "register_extension":
++      {
++              "type": "device",
++              "core": ""
++      },
++      "mandatory_features":
++      {
++              "VkPhysicalDeviceBorderColorSwizzleFeaturesEXT":
++              [
++                      { "features": ["borderColorSwizzle"],                           "requirements": ["VK_EXT_border_color_swizzle"] }
++              ]
++      }
++}
index 0000000,0000000..49d4fd9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,9 @@@
++{
++      "mandatory_features":
++      {
++              "VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT":
++              [
++                      { "features": ["primitiveTopologyListRestart"],                         "requirements": ["VK_EXT_primitive_topology_list_restart"] }
++              ]
++      }
++}
index 0000000,0000000..eb459c7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7 @@@
++{
++      "register_extension":
++      {
++              "type": "device",
++              "core": ""
++      }
++}
index 0000000,0000000..eb459c7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7 @@@
++{
++      "register_extension":
++      {
++              "type": "device",
++              "core": ""
++      }
++}
index 0000000,0000000..eb459c7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7 @@@
++{
++      "register_extension":
++      {
++              "type": "device",
++              "core": ""
++      }
++}
index 0000000,0000000..eb459c7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7 @@@
++{
++      "register_extension":
++      {
++              "type": "device",
++              "core": ""
++      }
++}