Tests for VK_EXT_shader_module_identifier
authorRicardo Garcia <rgarcia@igalia.com>
Wed, 18 May 2022 11:49:02 +0000 (13:49 +0200)
committerRicardo Garcia <rgarcia@igalia.com>
Wed, 18 May 2022 11:49:02 +0000 (13:49 +0200)
New tests:
dEQP-VK.pipeline.*.shader_module_identifier.*

Affected tests:
dEQP-VK.info.*

Components: Vulkan, Framework
VK-GL-CTS issue: 3620

Change-Id: I4ddb45edd106938fd67a6d94e70ed0e0cb74830e

44 files changed:
AndroidGen.mk
android/cts/main/vk-master-2022-03-01/pipeline.txt
android/cts/main/vk-master/pipeline.txt
external/fetch_sources.py
external/vulkancts/framework/vulkan/vkApiExtensionDependencyInfo.inl
external/vulkancts/framework/vulkan/vkBasicTypes.inl
external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl
external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl
external/vulkancts/framework/vulkan/vkDeviceFeatureTest.inl
external/vulkancts/framework/vulkan/vkDeviceFeatures.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl
external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl
external/vulkancts/framework/vulkan/vkDeviceProperties.inl
external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDecl.inl
external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDefs.inl
external/vulkancts/framework/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl
external/vulkancts/framework/vulkan/vkExtensionFunctions.inl
external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl
external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl
external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl
external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl
external/vulkancts/framework/vulkan/vkNullDriverImpl.inl
external/vulkancts/framework/vulkan/vkObjUtil.cpp
external/vulkancts/framework/vulkan/vkObjUtil.hpp
external/vulkancts/framework/vulkan/vkPipelineConstructionUtil.cpp
external/vulkancts/framework/vulkan/vkPipelineConstructionUtil.hpp
external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp
external/vulkancts/framework/vulkan/vkRayTracingUtil.hpp
external/vulkancts/framework/vulkan/vkStrUtil.inl
external/vulkancts/framework/vulkan/vkStrUtilImpl.inl
external/vulkancts/framework/vulkan/vkStructTypes.inl
external/vulkancts/framework/vulkan/vkTypeUtil.inl
external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl
external/vulkancts/framework/vulkan/vkVulkan_c.inl
external/vulkancts/modules/vulkan/pipeline/CMakeLists.txt
external/vulkancts/modules/vulkan/pipeline/vktPipelineShaderModuleIdentifierTests.cpp [new file with mode: 0644]
external/vulkancts/modules/vulkan/pipeline/vktPipelineShaderModuleIdentifierTests.hpp [new file with mode: 0644]
external/vulkancts/modules/vulkan/pipeline/vktPipelineTests.cpp
external/vulkancts/mustpass/main/vk-default/pipeline.txt
external/vulkancts/scripts/gen_framework.py
external/vulkancts/scripts/src/extensions/VK_EXT_shader_module_identifier.json [new file with mode: 0644]
framework/delibs/decpp/deSTLUtil.hpp

index b4211d8..da2b422 100644 (file)
@@ -279,6 +279,7 @@ LOCAL_SRC_FILES := \
        external/vulkancts/modules/vulkan/pipeline/vktPipelineSampleLocationsUtil.cpp \
        external/vulkancts/modules/vulkan/pipeline/vktPipelineSamplerBorderSwizzleTests.cpp \
        external/vulkancts/modules/vulkan/pipeline/vktPipelineSamplerTests.cpp \
+       external/vulkancts/modules/vulkan/pipeline/vktPipelineShaderModuleIdentifierTests.cpp \
        external/vulkancts/modules/vulkan/pipeline/vktPipelineSpecConstantTests.cpp \
        external/vulkancts/modules/vulkan/pipeline/vktPipelineSpecConstantUtil.cpp \
        external/vulkancts/modules/vulkan/pipeline/vktPipelineStencilExportTests.cpp \
index b4fcfe0..0197a45 100644 (file)
@@ -56225,6 +56225,1296 @@ dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_second
 dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_last
 dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_first_and_second
 dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_second_and_last
+dEQP-VK.pipeline.monolithic.shader_module_identifier.properties.constant_algorithm_uuid
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.module_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.module_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.create_info_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.create_info_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.both_ids.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.both_ids.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.module_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.module_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.create_info_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.create_info_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.both_ids.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.both_ids.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.module_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.module_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.create_info_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.create_info_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.both_ids.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.both_ids.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.module_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.module_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.create_info_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.create_info_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.both_ids.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.both_ids.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.hlsl_tessellation.test
 dEQP-VK.pipeline.pipeline_library.stencil.format.s8_uint.states.fail_keep.pass_keep.dfail_keep.comp_never
 dEQP-VK.pipeline.pipeline_library.stencil.format.s8_uint.states.fail_keep.pass_keep.dfail_keep.comp_less
 dEQP-VK.pipeline.pipeline_library.stencil.format.s8_uint.states.fail_keep.pass_keep.dfail_keep.comp_equal
@@ -276163,6 +277453,327 @@ dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_
 dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_last
 dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_first_and_second
 dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_second_and_last
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.hlsl_tessellation.test
 dEQP-VK.pipeline.pipeline_library.graphics_library.fast.4
 dEQP-VK.pipeline.pipeline_library.graphics_library.fast.0_1111
 dEQP-VK.pipeline.pipeline_library.graphics_library.fast.0_112
@@ -496140,3 +497751,324 @@ dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disab
 dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disable_last
 dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disable_first_and_second
 dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disable_second_and_last
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.hlsl_tessellation.test
index 4a81632..9ea35c5 100644 (file)
@@ -220894,6 +220894,1296 @@ dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_second
 dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_last
 dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_first_and_second
 dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_second_and_last
+dEQP-VK.pipeline.monolithic.shader_module_identifier.properties.constant_algorithm_uuid
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.module_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.module_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.create_info_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.create_info_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.both_ids.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.both_ids.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.module_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.module_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.create_info_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.create_info_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.both_ids.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.both_ids.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.module_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.module_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.create_info_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.create_info_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.both_ids.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.both_ids.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.module_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.module_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.create_info_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.create_info_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.both_ids.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.both_ids.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.hlsl_tessellation.test
 dEQP-VK.pipeline.monolithic.misc.position_to_ssbo
 dEQP-VK.pipeline.monolithic.misc.primitive_id_from_tess
 dEQP-VK.pipeline.monolithic.derivative.compute.derivative_by_handle
@@ -440852,6 +442142,327 @@ dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_
 dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_last
 dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_first_and_second
 dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_second_and_last
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.hlsl_tessellation.test
 dEQP-VK.pipeline.pipeline_library.graphics_library.fast.4
 dEQP-VK.pipeline.pipeline_library.graphics_library.fast.0_1111
 dEQP-VK.pipeline.pipeline_library.graphics_library.fast.0_112
@@ -660829,3 +662440,324 @@ dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disab
 dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disable_last
 dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disable_first_and_second
 dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disable_second_and_last
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.hlsl_tessellation.test
index 6d28798..c63901f 100644 (file)
@@ -307,9 +307,9 @@ PACKAGES = [
                "4995a2f2723c401eb0ea3e10c81298906bf1422b",
                "spirv-headers"),
        GitRepo(
-               "https://github.com/KhronosGroup/Vulkan-Docs.git",
-               None,
-               "2a31e99cbaa07dba4e2036c0bfe76aa3ebe8b2a4",
+               "https://gitlab.khronos.org/vulkan/vulkan.git",
+               "git@gitlab.khronos.org:vulkan/vulkan.git",
+               "7c7d5305655a171ca495e7a6e5b8cff88e67d40a",
                "vulkan-docs"),
        GitRepo(
                "https://github.com/google/amber.git",
index c607293..b20c169 100644 (file)
@@ -198,6 +198,10 @@ static const std::tuple<deUint32, deUint32, const char*, const char*>      deviceExte
        std::make_tuple(1, 0, "VK_EXT_host_query_reset", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(1, 0, "VK_EXT_image_2d_view_of_3d", "VK_KHR_maintenance1"),
        std::make_tuple(1, 0, "VK_EXT_image_2d_view_of_3d", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(1, 0, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
+       std::make_tuple(1, 1, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
+       std::make_tuple(1, 2, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
+       std::make_tuple(1, 3, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
        std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_bind_memory2"),
        std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_image_format_list"),
@@ -216,6 +220,7 @@ static const std::tuple<deUint32, deUint32, const char*, const char*>       deviceExte
        std::make_tuple(1, 3, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"),
        std::make_tuple(1, 0, "VK_EXT_pci_bus_info", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(1, 0, "VK_EXT_physical_device_drm", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(1, 0, "VK_EXT_pipeline_properties", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(1, 0, "VK_EXT_primitives_generated_query", "VK_EXT_transform_feedback"),
        std::make_tuple(1, 1, "VK_EXT_primitives_generated_query", "VK_EXT_transform_feedback"),
        std::make_tuple(1, 2, "VK_EXT_primitives_generated_query", "VK_EXT_transform_feedback"),
@@ -233,6 +238,10 @@ static const std::tuple<deUint32, deUint32, const char*, const char*>      deviceExte
        std::make_tuple(1, 3, "VK_EXT_shader_atomic_float2", "VK_EXT_shader_atomic_float"),
        std::make_tuple(1, 0, "VK_EXT_shader_demote_to_helper_invocation", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(1, 0, "VK_EXT_shader_image_atomic_int64", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(1, 0, "VK_EXT_shader_module_identifier", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(1, 0, "VK_EXT_shader_module_identifier", "VK_EXT_pipeline_creation_cache_control"),
+       std::make_tuple(1, 1, "VK_EXT_shader_module_identifier", "VK_EXT_pipeline_creation_cache_control"),
+       std::make_tuple(1, 2, "VK_EXT_shader_module_identifier", "VK_EXT_pipeline_creation_cache_control"),
        std::make_tuple(1, 0, "VK_EXT_texel_buffer_alignment", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(1, 0, "VK_EXT_texture_compression_astc_hdr", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(1, 0, "VK_EXT_transform_feedback", "VK_KHR_get_physical_device_properties2"),
@@ -358,6 +367,9 @@ static const std::tuple<deUint32, deUint32, const char*, const char*>       deviceExte
        std::make_tuple(1, 1, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"),
        std::make_tuple(1, 2, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"),
        std::make_tuple(1, 3, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"),
+       std::make_tuple(1, 1, "VK_KHR_ray_tracing_maintenance1", "VK_KHR_acceleration_structure"),
+       std::make_tuple(1, 2, "VK_KHR_ray_tracing_maintenance1", "VK_KHR_acceleration_structure"),
+       std::make_tuple(1, 3, "VK_KHR_ray_tracing_maintenance1", "VK_KHR_acceleration_structure"),
        std::make_tuple(1, 1, "VK_KHR_ray_tracing_pipeline", "VK_KHR_spirv_1_4"),
        std::make_tuple(1, 1, "VK_KHR_ray_tracing_pipeline", "VK_KHR_acceleration_structure"),
        std::make_tuple(1, 2, "VK_KHR_ray_tracing_pipeline", "VK_KHR_acceleration_structure"),
@@ -562,6 +574,8 @@ static const std::tuple<deUint32, deUint32, const char*>    extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_EXT_headless_surface"),
        std::make_tuple(1, 0, "VK_EXT_host_query_reset"),
        std::make_tuple(1, 0, "VK_EXT_image_2d_view_of_3d"),
+       std::make_tuple(1, 0, "VK_EXT_image_compression_control"),
+       std::make_tuple(1, 0, "VK_EXT_image_compression_control_swapchain"),
        std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier"),
        std::make_tuple(1, 0, "VK_EXT_image_robustness"),
        std::make_tuple(1, 0, "VK_EXT_image_view_min_lod"),
@@ -578,6 +592,7 @@ static const std::tuple<deUint32, deUint32, const char*>    extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_EXT_physical_device_drm"),
        std::make_tuple(1, 0, "VK_EXT_pipeline_creation_cache_control"),
        std::make_tuple(1, 0, "VK_EXT_pipeline_creation_feedback"),
+       std::make_tuple(1, 0, "VK_EXT_pipeline_properties"),
        std::make_tuple(1, 0, "VK_EXT_post_depth_coverage"),
        std::make_tuple(1, 0, "VK_EXT_primitive_topology_list_restart"),
        std::make_tuple(1, 0, "VK_EXT_primitives_generated_query"),
@@ -594,11 +609,13 @@ static const std::tuple<deUint32, deUint32, const char*>  extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_EXT_shader_atomic_float2"),
        std::make_tuple(1, 0, "VK_EXT_shader_demote_to_helper_invocation"),
        std::make_tuple(1, 0, "VK_EXT_shader_image_atomic_int64"),
+       std::make_tuple(1, 0, "VK_EXT_shader_module_identifier"),
        std::make_tuple(1, 0, "VK_EXT_shader_stencil_export"),
        std::make_tuple(1, 0, "VK_EXT_shader_subgroup_ballot"),
        std::make_tuple(1, 0, "VK_EXT_shader_subgroup_vote"),
        std::make_tuple(1, 0, "VK_EXT_shader_viewport_index_layer"),
        std::make_tuple(1, 1, "VK_EXT_subgroup_size_control"),
+       std::make_tuple(1, 0, "VK_EXT_subpass_merge_feedback"),
        std::make_tuple(1, 0, "VK_EXT_swapchain_colorspace"),
        std::make_tuple(1, 0, "VK_EXT_texel_buffer_alignment"),
        std::make_tuple(1, 0, "VK_EXT_texture_compression_astc_hdr"),
@@ -687,6 +704,7 @@ static const std::tuple<deUint32, deUint32, const char*>    extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_KHR_present_wait"),
        std::make_tuple(1, 0, "VK_KHR_push_descriptor"),
        std::make_tuple(1, 1, "VK_KHR_ray_query"),
+       std::make_tuple(1, 1, "VK_KHR_ray_tracing_maintenance1"),
        std::make_tuple(1, 1, "VK_KHR_ray_tracing_pipeline"),
        std::make_tuple(1, 0, "VK_KHR_relaxed_block_layout"),
        std::make_tuple(1, 0, "VK_KHR_sampler_mirror_clamp_to_edge"),
index 7615a4e..be58ed7 100644 (file)
@@ -116,6 +116,7 @@ enum VkResult
        VK_THREAD_DONE_KHR                                                                              = 1000268001,
        VK_OPERATION_DEFERRED_KHR                                                               = 1000268002,
        VK_OPERATION_NOT_DEFERRED_KHR                                                   = 1000268003,
+       VK_ERROR_COMPRESSION_EXHAUSTED_EXT                                              = -1000338000,
        VK_ERROR_OUT_OF_POOL_MEMORY_KHR                                                 = VK_ERROR_OUT_OF_POOL_MEMORY,
        VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR                                    = VK_ERROR_INVALID_EXTERNAL_HANDLE,
        VK_ERROR_FRAGMENTATION_EXT                                                              = VK_ERROR_FRAGMENTATION,
@@ -710,6 +711,11 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT                                 = 1000332001,
        VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM                                                                              = 1000333000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR                 = 1000336000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT                                = 1000338000,
+       VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT                                                                                 = 1000338001,
+       VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT                                                                                              = 1000338002,
+       VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT                                                                                               = 1000338003,
+       VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT                                                                              = 1000338004,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT                                                             = 1000340000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM    = 1000342000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT                                                 = 1000344000,
@@ -744,11 +750,14 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI                                               = 1000370000,
        VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV                                                                             = 1000371000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV                                              = 1000371001,
+       VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT                                                                    = 1000372000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT                                              = 1000372001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT                                 = 1000377000,
        VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX                                                                                = 1000378000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT                                               = 1000381000,
        VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT                                                                  = 1000381001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT                               = 1000382000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR                                = 1000386000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT                                               = 1000391000,
        VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT                                                                    = 1000391001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT                                                               = 1000392000,
@@ -764,6 +773,15 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM                   = 1000425001,
        VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM                                             = 1000425002,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV                                   = 1000430000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT              = 1000437000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT                                   = 1000458000,
+       VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT                                                                              = 1000458001,
+       VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT                                                                = 1000458002,
+       VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT                                                                 = 1000458003,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT                                 = 1000462000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT                               = 1000462001,
+       VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT                               = 1000462002,
+       VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT                                                                                  = 1000462003,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES                                                             = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES                                                = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
        VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT                                                                                  = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
@@ -926,6 +944,7 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR                                                                                               = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
        VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR                                                                                                   = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
        VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR                                                                                               = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
+       VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT                                                                                                             = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT                                    = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
        VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT                                                   = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR                                                    = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
@@ -1401,19 +1420,21 @@ enum VkPhysicalDeviceType
 
 enum VkQueryType
 {
-       VK_QUERY_TYPE_OCCLUSION                                                                         = 0,
-       VK_QUERY_TYPE_PIPELINE_STATISTICS                                                       = 1,
-       VK_QUERY_TYPE_TIMESTAMP                                                                         = 2,
-       VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR                                            = 1000023000,
-       VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT                                     = 1000028004,
-       VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR                                                     = 1000116000,
-       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR         = 1000150000,
-       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR     = 1000150001,
-       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV          = 1000165000,
-       VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL                                           = 1000210000,
-       VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR           = 1000299000,
-       VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT                                          = 1000382000,
-       VK_QUERY_TYPE_MAX_ENUM                                                                          = 0x7FFFFFFF,
+       VK_QUERY_TYPE_OCCLUSION                                                                                                                 = 0,
+       VK_QUERY_TYPE_PIPELINE_STATISTICS                                                                                               = 1,
+       VK_QUERY_TYPE_TIMESTAMP                                                                                                                 = 2,
+       VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR                                                                                    = 1000023000,
+       VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT                                                                             = 1000028004,
+       VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR                                                                                             = 1000116000,
+       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR                                                 = 1000150000,
+       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR                                             = 1000150001,
+       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV                                                  = 1000165000,
+       VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL                                                                                   = 1000210000,
+       VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR                                                   = 1000299000,
+       VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT                                                                                  = 1000382000,
+       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR    = 1000386000,
+       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR                                                                   = 1000386001,
+       VK_QUERY_TYPE_MAX_ENUM                                                                                                                  = 0x7FFFFFFF,
 };
 
 enum VkSharingMode
@@ -2477,6 +2498,26 @@ enum VkAccelerationStructureMotionInstanceTypeNV
        VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV              = 0x7FFFFFFF,
 };
 
+enum VkSubpassMergeStatusEXT
+{
+       VK_SUBPASS_MERGE_STATUS_MERGED_EXT                                                                              = 0,
+       VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT                                                                  = 1,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT                                             = 2,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT                                 = 3,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT                                   = 4,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT                                                 = 5,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT                                             = 6,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT    = 7,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT                             = 8,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT                             = 9,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT                              = 10,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT                 = 11,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT                                   = 12,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT                                              = 13,
+       VK_SUBPASS_MERGE_STATUS_EXT_LAST,
+       VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT                                                                    = 0x7FFFFFFF,
+};
+
 enum VkBuildAccelerationStructureModeKHR
 {
        VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR          = 0,
@@ -3866,6 +3907,47 @@ enum VkGraphicsPipelineLibraryFlagBitsEXT
 };
 typedef uint32_t VkGraphicsPipelineLibraryFlagsEXT;
 
+enum VkImageCompressionFlagBitsEXT
+{
+       VK_IMAGE_COMPRESSION_DEFAULT_EXT                                = 0,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT             = 0x00000001,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT    = 0x00000002,
+       VK_IMAGE_COMPRESSION_DISABLED_EXT                               = 0x00000004,
+       VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT             = 0x7FFFFFFF,
+};
+typedef uint32_t VkImageCompressionFlagsEXT;
+
+enum VkImageCompressionFixedRateFlagBitsEXT
+{
+       VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT                                = 0,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT                    = 0x00000001,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT                    = 0x00000002,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT                    = 0x00000004,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT                    = 0x00000008,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT                    = 0x00000010,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT                    = 0x00000020,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT                    = 0x00000040,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT                    = 0x00000080,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT                    = 0x00000100,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT                   = 0x00000200,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT                   = 0x00000400,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT                   = 0x00000800,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT                   = 0x00001000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT                   = 0x00002000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT                   = 0x00004000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT                   = 0x00008000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT                   = 0x00010000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT                   = 0x00020000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT                   = 0x00040000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT                   = 0x00080000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT                   = 0x00100000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT                   = 0x00200000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT                   = 0x00400000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT                   = 0x00800000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT  = 0x7FFFFFFF,
+};
+typedef uint32_t VkImageCompressionFixedRateFlagsEXT;
+
 enum VkAccelerationStructureCreateFlagBitsKHR
 {
        VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR  = 0x00000001,
@@ -3991,29 +4073,31 @@ typedef uint32_t VkVideoEncodeRateControlFlagsKHR;
 
 enum VkVideoEncodeH264CapabilityFlagBitsEXT
 {
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_BIT_EXT                    = 0x00000001,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT                   = 0x00000002,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT = 0x00000004,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT                                   = 0x00000008,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT                                  = 0x00000010,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT                                = 0x00000020,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT                 = 0x00000040,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT                             = 0x00000080,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT                                   = 0x00000100,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT                = 0x00000200,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT                = 0x00000400,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT                  = 0x00000800,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT                                   = 0x00001000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT                                                   = 0x00002000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT                                                   = 0x00004000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT              = 0x00008000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT               = 0x00010000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT               = 0x00020000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT  = 0x00040000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT                = 0x00080000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT                                  = 0x00100000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT                             = 0x00200000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT                    = 0x00400000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_ENABLED_BIT_EXT    = 0x00000001,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_DISABLED_BIT_EXT   = 0x00000002,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT                   = 0x00000004,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT = 0x00000008,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT                                   = 0x00000010,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT                                  = 0x00000020,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT                                = 0x00000040,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT                 = 0x00000080,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT                             = 0x00000100,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT                                   = 0x00000200,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT                = 0x00000400,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT                = 0x00000800,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT                  = 0x00001000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT                                   = 0x00002000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT                                                   = 0x00004000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT                                                   = 0x00008000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT              = 0x00010000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT               = 0x00020000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT               = 0x00040000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT  = 0x00080000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT                = 0x00100000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT                                  = 0x00200000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT                             = 0x00400000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT                    = 0x00800000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT                              = 0x01000000,
        VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT                                  = 0x7FFFFFFF,
 };
 typedef uint32_t VkVideoEncodeH264CapabilityFlagsEXT;
@@ -4356,6 +4440,7 @@ static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV                                           = 0x00100000ULL;
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI                           = 0x8000000000ULL;
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI                           = 0x10000000000ULL;
+static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR          = 0x10000000ULL;
 
 
 typedef uint64_t VkAccessFlags2;
@@ -4422,6 +4507,7 @@ static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV
 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT                           = 0x01000000ULL;
 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT           = 0x00080000ULL;
 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI                                     = 0x8000000000ULL;
+static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR                           = 0x10000000000ULL;
 
 
 typedef uint64_t VkFormatFeatureFlags2;
@@ -4617,6 +4703,8 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 1
 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2"
+#define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1
+#define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1"
 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2
 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4"
@@ -4764,6 +4852,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
+#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1
 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1
@@ -4776,6 +4865,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2
 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
+#define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1
 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1
@@ -4791,6 +4881,10 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                            void*)
 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 1
+#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1
+#define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 1
+#define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U
+#define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1
 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
@@ -4812,7 +4906,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6 VK_MAKE_VIDEO_STD_VERSION(0, 9, 6)
 #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6
 #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_encode"
-#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 6
+#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 7
 #define vulkan_video_codec_h265std 1
 #define STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE 7
 #define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32
@@ -4826,15 +4920,14 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                           void*)
 #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64
 #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3
 #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128
-#define STD_VIDEO_H265_SPS_MAX_SUB_LAYERS 8
 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19
 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21
 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6
 #define STD_VIDEO_H265_MAX_NUM_LIST_REF 15
 #define STD_VIDEO_H265_MAX_CHROMA_PLANES 2
 #define vulkan_video_codec_h265std_encode 1
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_6 VK_MAKE_VIDEO_STD_VERSION(0, 9, 6)
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_6
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_7 VK_MAKE_VIDEO_STD_VERSION(0, 9, 7)
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_7
 #define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_encode"
 #define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 7
 #define vulkan_video_codec_h264std_decode 1
@@ -4845,9 +4938,9 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode"
 #define VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION 5
 #define vulkan_video_codec_h265std_decode 1
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_6 VK_MAKE_VIDEO_STD_VERSION(0, 9, 6)
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_7 VK_MAKE_VIDEO_STD_VERSION(0, 9, 7)
 #define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_6
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_7
 #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode"
 #define VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION 3
 #define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1
index 666a230..35c9d67 100644 (file)
@@ -220,6 +220,7 @@ virtual VkResult                    getPipelineExecutableStatisticsKHR                              (VkDevice device, const
 virtual VkResult                       getPipelineExecutableInternalRepresentationsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) const;
 virtual void                           cmdWriteBufferMarker2AMD                                                (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const;
 virtual void                           getQueueCheckpointData2NV                                               (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData) const;
+virtual void                           cmdTraceRaysIndirect2KHR                                                (VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress) const;
 virtual VkResult                       debugMarkerSetObjectTagEXT                                              (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const;
 virtual VkResult                       debugMarkerSetObjectNameEXT                                             (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const;
 virtual void                           cmdDebugMarkerBeginEXT                                                  (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const;
@@ -310,11 +311,13 @@ virtual void                              cmdBindPipelineShaderGroupNV                                    (VkCommandBuffer commandBuffer,
 virtual VkResult                       createIndirectCommandsLayoutNV                                  (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout) const;
 virtual void                           destroyIndirectCommandsLayoutNV                                 (VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const;
 virtual void                           cmdSetFragmentShadingRateEnumNV                                 (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const;
+virtual void                           getImageSubresourceLayout2EXT                                   (VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout) const;
 virtual void                           cmdSetVertexInputEXT                                                    (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const;
 virtual VkResult                       getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI   (VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize) const;
 virtual void                           cmdSubpassShadingHUAWEI                                                 (VkCommandBuffer commandBuffer) const;
 virtual void                           cmdBindInvocationMaskHUAWEI                                             (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const;
 virtual VkResult                       getMemoryRemoteAddressNV                                                (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) const;
+virtual VkResult                       getPipelinePropertiesEXT                                                (VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties) const;
 virtual void                           cmdSetPatchControlPointsEXT                                             (VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const;
 virtual void                           cmdSetLogicOpEXT                                                                (VkCommandBuffer commandBuffer, VkLogicOp logicOp) const;
 virtual void                           cmdSetColorWriteEnableEXT                                               (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) const;
@@ -323,6 +326,8 @@ virtual void                                cmdDrawMultiIndexedEXT                                                  (VkCommandBuffer commandBuffer, uin
 virtual void                           setDeviceMemoryPriorityEXT                                              (VkDevice device, VkDeviceMemory memory, float priority) const;
 virtual void                           getDescriptorSetLayoutHostMappingInfoVALVE              (VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping) const;
 virtual void                           getDescriptorSetHostMappingVALVE                                (VkDevice device, VkDescriptorSet descriptorSet, void** ppData) const;
+virtual void                           getShaderModuleIdentifierEXT                                    (VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier) const;
+virtual void                           getShaderModuleCreateInfoIdentifierEXT                  (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier) const;
 virtual VkResult                       createAccelerationStructureKHR                                  (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const;
 virtual void                           destroyAccelerationStructureKHR                                 (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const;
 virtual void                           cmdBuildAccelerationStructuresKHR                               (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const;
index 05dc29a..b426e26 100644 (file)
@@ -1093,6 +1093,11 @@ void DeviceDriver::getQueueCheckpointData2NV (VkQueue queue, uint32_t* pCheckpoi
        m_vk.getQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData);
 }
 
+void DeviceDriver::cmdTraceRaysIndirect2KHR (VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress) const
+{
+       m_vk.cmdTraceRaysIndirect2KHR(commandBuffer, indirectDeviceAddress);
+}
+
 VkResult DeviceDriver::debugMarkerSetObjectTagEXT (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const
 {
        return m_vk.debugMarkerSetObjectTagEXT(device, pTagInfo);
@@ -1543,6 +1548,11 @@ void DeviceDriver::cmdSetFragmentShadingRateEnumNV (VkCommandBuffer commandBuffe
        m_vk.cmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerOps);
 }
 
+void DeviceDriver::getImageSubresourceLayout2EXT (VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout) const
+{
+       m_vk.getImageSubresourceLayout2EXT(device, image, pSubresource, pLayout);
+}
+
 void DeviceDriver::cmdSetVertexInputEXT (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const
 {
        m_vk.cmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions);
@@ -1568,6 +1578,11 @@ VkResult DeviceDriver::getMemoryRemoteAddressNV (VkDevice device, const VkMemory
        return m_vk.getMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress);
 }
 
+VkResult DeviceDriver::getPipelinePropertiesEXT (VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties) const
+{
+       return m_vk.getPipelinePropertiesEXT(device, pPipelineInfo, pPipelineProperties);
+}
+
 void DeviceDriver::cmdSetPatchControlPointsEXT (VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const
 {
        m_vk.cmdSetPatchControlPointsEXT(commandBuffer, patchControlPoints);
@@ -1608,6 +1623,16 @@ void DeviceDriver::getDescriptorSetHostMappingVALVE (VkDevice device, VkDescript
        m_vk.getDescriptorSetHostMappingVALVE(device, descriptorSet, ppData);
 }
 
+void DeviceDriver::getShaderModuleIdentifierEXT (VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier) const
+{
+       m_vk.getShaderModuleIdentifierEXT(device, shaderModule, pIdentifier);
+}
+
+void DeviceDriver::getShaderModuleCreateInfoIdentifierEXT (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier) const
+{
+       m_vk.getShaderModuleCreateInfoIdentifierEXT(device, pCreateInfo, pIdentifier);
+}
+
 VkResult DeviceDriver::createAccelerationStructureKHR (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const
 {
        return m_vk.createAccelerationStructureKHR(device, pCreateInfo, pAllocator, pAccelerationStructure);
index 2cde5bc..51bdafa 100644 (file)
@@ -556,6 +556,17 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 4, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
 }
 
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR, rayTracingMaintenance1),
+               FEATURE_ITEM (VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR, rayTracingPipelineTraceRaysIndirect2),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
+}
+
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceTransformFeedbackFeaturesEXT>()))
 {
        static const Feature features[] =
@@ -1044,6 +1055,16 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
 }
 
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceImageCompressionControlFeaturesEXT>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDeviceImageCompressionControlFeaturesEXT, imageCompressionControl),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceImageCompressionControlFeaturesEXT*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
+}
+
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDevice4444FormatsFeaturesEXT>()))
 {
        static const Feature features[] =
@@ -1148,6 +1169,16 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
 }
 
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDevicePipelinePropertiesFeaturesEXT>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDevicePipelinePropertiesFeaturesEXT, pipelinePropertiesIdentifier),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDevicePipelinePropertiesFeaturesEXT*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
+}
+
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>()))
 {
        static const Feature features[] =
@@ -1264,6 +1295,36 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
 }
 
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, imageCompressionControlSwapchain),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
+}
+
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT, subpassMergeFeedback),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
+}
+
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT, shaderModuleIdentifier),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
+}
+
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceAccelerationStructureFeaturesKHR>()))
 {
        static const Feature features[] =
index cee40d0..bf3548e 100644 (file)
@@ -48,6 +48,8 @@ namespace vk
 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d"
+#define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control"
+#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain"
 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod"
 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
@@ -66,6 +68,7 @@ namespace vk
 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
+#define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties"
 #define VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME "VK_KHR_portability_subset"
 #define VK_KHR_PRESENT_ID_EXTENSION_NAME  "VK_KHR_present_id"
 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
@@ -75,6 +78,7 @@ namespace vk
 #define DECL_PROTECTED_MEMORY_EXTENSION_NAME "not_existent_feature"
 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
 #define VK_KHR_RAY_QUERY_EXTENSION_NAME   "VK_KHR_ray_query"
+#define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1"
 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
@@ -94,12 +98,14 @@ namespace vk
 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product"
 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
+#define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier"
 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
+#define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback"
 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
@@ -291,6 +297,7 @@ template<> void initFeatureFromBlob<VkPhysicalDevicePipelineExecutableProperties
 template<> void initFeatureFromBlob<VkPhysicalDevicePresentIdFeaturesKHR>(VkPhysicalDevicePresentIdFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>(VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceTransformFeedbackFeaturesEXT>(VkPhysicalDeviceTransformFeedbackFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceCornerSampledImageFeaturesNV>(VkPhysicalDeviceCornerSampledImageFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceASTCDecodeFeaturesEXT>(VkPhysicalDeviceASTCDecodeFeaturesEXT&, const AllFeaturesBlobs&) {}
@@ -335,6 +342,7 @@ template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShadingRateEnumsFeat
 template<> void initFeatureFromBlob<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>(VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceImageCompressionControlFeaturesEXT>(VkPhysicalDeviceImageCompressionControlFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDevice4444FormatsFeaturesEXT>(VkPhysicalDevice4444FormatsFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM>(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT>(VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&, const AllFeaturesBlobs&) {}
@@ -345,6 +353,7 @@ template<> void initFeatureFromBlob<VkPhysicalDevicePrimitiveTopologyListRestart
 template<> void initFeatureFromBlob<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>(VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>(VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>(VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDevicePipelinePropertiesFeaturesEXT>(VkPhysicalDevicePipelinePropertiesFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(VkPhysicalDeviceColorWriteEnableFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&, const AllFeaturesBlobs&) {}
@@ -356,106 +365,115 @@ template<> void initFeatureFromBlob<VkPhysicalDevicePageableDeviceLocalMemoryFea
 template<> void initFeatureFromBlob<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>(VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>(VkPhysicalDeviceLinearColorAttachmentFeaturesNV&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>(VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT>(VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT>(VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(VkPhysicalDeviceAccelerationStructureFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>(VkPhysicalDeviceRayTracingPipelineFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceRayQueryFeaturesKHR>(VkPhysicalDeviceRayQueryFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDevicePortabilitySubsetFeaturesKHR>(VkPhysicalDevicePortabilitySubsetFeaturesKHR&, const AllFeaturesBlobs&) {}
 
 
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 109}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice4444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 108}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 107}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 106}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceASTCDecodeFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 105}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 104}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION, 103}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 102}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 101}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 100}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 99}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 98}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceConditionalRenderingFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 97}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCooperativeMatrixFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 96}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCornerSampledImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 95}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoverageReductionModeFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 94}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 93}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 92}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION, 91}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 90}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 89}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION, 88}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 87}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 86}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 85}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDynamicRenderingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION, 84}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExclusiveScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 83}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION, 82}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION, 81}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV, VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME, VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION, 80}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 79}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 78}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 77}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 76}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 75}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 74}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 73}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, DECL_KHR_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME, 0, 72}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION, 71}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceHostQueryResetFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 70}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImagelessFramebufferFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 69}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT, VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME, VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION, 68}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageRobustnessFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 67}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageViewMinLodFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT, VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME, VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION, 66}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 65}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION, 64}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 63}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI, VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME, VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION, 62}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV, VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME, VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION, 61}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLineRasterizationFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 60}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMaintenance4Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, DECL_MAINTENANCE4_EXTENSION_NAME, 0, 59}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMemoryPriorityFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 58}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMeshShaderFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 57}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 56}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiDrawFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION, 55}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION, 54}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION, 53}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePerformanceQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 52}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineCreationCacheControlFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 51}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION, 50}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePortabilitySubsetFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 49}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePresentIdFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 48}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePresentWaitFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR, VK_KHR_PRESENT_WAIT_EXTENSION_NAME, VK_KHR_PRESENT_WAIT_SPEC_VERSION, 47}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT, VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME, VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION, 46}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION, 45}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrivateDataFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 44}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 43}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProvokingVertexFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION, 42}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR, VK_KHR_RAY_QUERY_EXTENSION_NAME, VK_KHR_RAY_QUERY_SPEC_VERSION, 41}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV, VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME, VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION, 40}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 39}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 38}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT, VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME, VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION, 37}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRobustness2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 36}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSamplerYcbcrConversionFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, 35}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceScalarBlockLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 34}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION, 33}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION, 32}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION, 31}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicInt64Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 30}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderClockFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR, VK_KHR_SHADER_CLOCK_EXTENSION_NAME, VK_KHR_SHADER_CLOCK_SPEC_VERSION, 29}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 28}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDrawParametersFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION, 27}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderFloat16Int8Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 26}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION, 25}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderImageFootprintFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION, 24}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderIntegerDotProductFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION, 23}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION, 22}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV, VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME, VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION, 21}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION, 20}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR, VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION, 19}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderTerminateInvocationFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION, 18}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShadingRateImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 17}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubgroupSizeControlFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 16}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 115}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice4444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 114}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 113}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 112}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceASTCDecodeFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 111}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 110}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION, 109}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 108}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 107}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 106}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 105}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 104}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceConditionalRenderingFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 103}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCooperativeMatrixFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 102}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCornerSampledImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 101}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoverageReductionModeFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 100}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 99}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 98}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION, 97}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 96}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 95}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION, 94}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 93}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 92}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 91}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDynamicRenderingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION, 90}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExclusiveScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 89}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION, 88}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION, 87}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV, VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME, VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION, 86}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 85}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 84}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 83}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 82}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 81}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 80}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 79}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, DECL_KHR_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME, 0, 78}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION, 77}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceHostQueryResetFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 76}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImagelessFramebufferFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 75}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT, VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME, VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION, 74}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageCompressionControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT, VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION, 73}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION, 72}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageRobustnessFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 71}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageViewMinLodFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT, VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME, VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION, 70}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 69}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION, 68}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 67}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI, VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME, VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION, 66}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV, VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME, VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION, 65}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLineRasterizationFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 64}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMaintenance4Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, DECL_MAINTENANCE4_EXTENSION_NAME, 0, 63}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMemoryPriorityFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 62}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMeshShaderFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 61}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 60}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiDrawFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION, 59}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION, 58}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION, 57}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePerformanceQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 56}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineCreationCacheControlFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 55}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION, 54}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelinePropertiesFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT, VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME, VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION, 53}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePortabilitySubsetFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 52}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePresentIdFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 51}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePresentWaitFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR, VK_KHR_PRESENT_WAIT_EXTENSION_NAME, VK_KHR_PRESENT_WAIT_SPEC_VERSION, 50}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT, VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME, VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION, 49}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION, 48}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrivateDataFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 47}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 46}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProvokingVertexFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION, 45}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR, VK_KHR_RAY_QUERY_EXTENSION_NAME, VK_KHR_RAY_QUERY_SPEC_VERSION, 44}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR, VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME, VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION, 43}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV, VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME, VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION, 42}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 41}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 40}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT, VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME, VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION, 39}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRobustness2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 38}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSamplerYcbcrConversionFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, 37}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceScalarBlockLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 36}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION, 35}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION, 34}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION, 33}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicInt64Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 32}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderClockFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR, VK_KHR_SHADER_CLOCK_EXTENSION_NAME, VK_KHR_SHADER_CLOCK_SPEC_VERSION, 31}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 30}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDrawParametersFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION, 29}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderFloat16Int8Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 28}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION, 27}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderImageFootprintFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION, 26}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderIntegerDotProductFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION, 25}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION, 24}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT, VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME, VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION, 23}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV, VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME, VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION, 22}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION, 21}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR, VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION, 20}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderTerminateInvocationFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION, 19}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShadingRateImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 18}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubgroupSizeControlFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 17}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT, VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME, VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION, 16}; }
 template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI, VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME, VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION, 15}; }
 template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSynchronization2Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME, VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION, 14}; }
 template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION, 13}; }
@@ -517,6 +535,8 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDeviceHostQueryResetFeatures>, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceImagelessFramebufferFeatures>, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>, VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME, VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceImageCompressionControlFeaturesEXT>, VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceImageRobustnessFeatures>, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceImageViewMinLodFeaturesEXT>, VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME, VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION },
@@ -535,6 +555,7 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDevicePerformanceQueryFeaturesKHR>, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePipelineCreationCacheControlFeatures>, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDevicePipelinePropertiesFeaturesEXT>, VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME, VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePortabilitySubsetFeaturesKHR>, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePresentIdFeaturesKHR>, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePresentWaitFeaturesKHR>, VK_KHR_PRESENT_WAIT_EXTENSION_NAME, VK_KHR_PRESENT_WAIT_SPEC_VERSION },
@@ -544,6 +565,7 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDeviceProtectedMemoryFeatures>, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0 },
        { createFeatureStructWrapper<VkPhysicalDeviceProvokingVertexFeaturesEXT>, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceRayQueryFeaturesKHR>, VK_KHR_RAY_QUERY_EXTENSION_NAME, VK_KHR_RAY_QUERY_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>, VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME, VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>, VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME, VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION },
@@ -563,12 +585,14 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDeviceShaderImageFootprintFeaturesNV>, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderIntegerDotProductFeatures>, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT>, VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME, VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV>, VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME, VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>, VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderTerminateInvocationFeatures>, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShadingRateImageFeaturesNV>, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceSubgroupSizeControlFeatures>, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT>, VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME, VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>, VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME, VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceSynchronization2Features>, VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME, VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION },
index 8be9050..d569d1a 100644 (file)
  * be lost! Modify the generating script instead.
  * This file was generated by /scripts/gen_framework.py
  */
-const vk::VkPhysicalDevice16BitStorageFeatures&                                                        get16BitStorageFeatures                                         (void) const;
-const vk::VkPhysicalDevice4444FormatsFeaturesEXT&                                              get4444FormatsFeaturesEXT                                       (void) const;
-const vk::VkPhysicalDevice8BitStorageFeatures&                                                 get8BitStorageFeatures                                          (void) const;
-const vk::VkPhysicalDeviceAccelerationStructureFeaturesKHR&                            getAccelerationStructureFeatures                        (void) const;
-const vk::VkPhysicalDeviceASTCDecodeFeaturesEXT&                                               getASTCDecodeFeaturesEXT                                        (void) const;
-const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                   getBlendOperationAdvancedFeaturesEXT            (void) const;
-const vk::VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                               getBorderColorSwizzleFeaturesEXT                        (void) const;
-const vk::VkPhysicalDeviceBufferDeviceAddressFeatures&                                 getBufferDeviceAddressFeatures                          (void) const;
-const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                              getBufferDeviceAddressFeaturesEXT                       (void) const;
-const vk::VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                   getCoherentMemoryFeaturesAMD                            (void) const;
-const vk::VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                 getColorWriteEnableFeaturesEXT                          (void) const;
-const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                  getComputeShaderDerivativesFeatures                     (void) const;
-const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                             getConditionalRenderingFeaturesEXT                      (void) const;
-const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                 getCooperativeMatrixFeatures                            (void) const;
-const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV&                                        getCornerSampledImageFeatures                           (void) const;
-const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV&                             getCoverageReductionModeFeatures                        (void) const;
-const vk::VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                        getCustomBorderColorFeaturesEXT                         (void) const;
-const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&  getDedicatedAllocationImageAliasingFeatures     (void) const;
-const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT&                                 getDepthClipControlFeaturesEXT                          (void) const;
-const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                  getDepthClipEnableFeaturesEXT                           (void) const;
-const vk::VkPhysicalDeviceDescriptorIndexingFeatures&                                  getDescriptorIndexingFeatures                           (void) const;
-const vk::VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&               getDescriptorSetHostMappingFeaturesVALVE        (void) const;
-const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                   getDeviceGeneratedCommandsFeatures                      (void) const;
-const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                               getDeviceMemoryReportFeaturesEXT                        (void) const;
-const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                 getDiagnosticsConfigFeatures                            (void) const;
-const vk::VkPhysicalDeviceDynamicRenderingFeatures&                                            getDynamicRenderingFeatures                                     (void) const;
-const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV&                                  getExclusiveScissorFeatures                                     (void) const;
-const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                             getExtendedDynamicStateFeaturesEXT                      (void) const;
-const vk::VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&                            getExtendedDynamicState2FeaturesEXT                     (void) const;
-const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                        getExternalMemoryRDMAFeatures                           (void) const;
-const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                               getFragmentDensityMapFeaturesEXT                        (void) const;
-const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&                              getFragmentDensityMap2FeaturesEXT                       (void) const;
-const vk::VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                        getFragmentDensityMapOffsetFeaturesQCOM         (void) const;
-const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                 getFragmentShaderBarycentricFeatures            (void) const;
-const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                  getFragmentShaderInterlockFeaturesEXT           (void) const;
-const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR&                              getFragmentShadingRateFeatures                          (void) const;
-const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&                  getFragmentShadingRateEnumsFeatures                     (void) const;
-const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR&                              getGlobalPriorityQueryFeatures                          (void) const;
-const vk::VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT&                  getGraphicsPipelineLibraryFeaturesEXT           (void) const;
-const vk::VkPhysicalDeviceHostQueryResetFeatures&                                              getHostQueryResetFeatures                                       (void) const;
-const vk::VkPhysicalDeviceImagelessFramebufferFeatures&                                        getImagelessFramebufferFeatures                         (void) const;
-const vk::VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                  getImage2DViewOf3DFeaturesEXT                           (void) const;
-const vk::VkPhysicalDeviceImageRobustnessFeatures&                                             getImageRobustnessFeatures                                      (void) const;
-const vk::VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                  getImageViewMinLodFeaturesEXT                           (void) const;
-const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                   getIndexTypeUint8FeaturesEXT                            (void) const;
-const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                  getInheritedViewportScissorFeatures                     (void) const;
-const vk::VkPhysicalDeviceInlineUniformBlockFeatures&                                  getInlineUniformBlockFeatures                           (void) const;
-const vk::VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&                                        getInvocationMaskFeaturesHUAWEI                         (void) const;
-const vk::VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                             getLinearColorAttachmentFeatures                        (void) const;
-const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT&                                        getLineRasterizationFeaturesEXT                         (void) const;
-const vk::VkPhysicalDeviceMaintenance4Features&                                                        getMaintenance4Features                                         (void) const;
-const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                   getMemoryPriorityFeaturesEXT                            (void) const;
-const vk::VkPhysicalDeviceMeshShaderFeaturesNV&                                                        getMeshShaderFeatures                                           (void) const;
-const vk::VkPhysicalDeviceMultiviewFeatures&                                                   getMultiviewFeatures                                            (void) const;
-const vk::VkPhysicalDeviceMultiDrawFeaturesEXT&                                                        getMultiDrawFeaturesEXT                                         (void) const;
-const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                  getMutableDescriptorTypeFeaturesVALVE           (void) const;
-const vk::VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                        getPageableDeviceLocalMemoryFeaturesEXT         (void) const;
-const vk::VkPhysicalDevicePerformanceQueryFeaturesKHR&                                 getPerformanceQueryFeatures                                     (void) const;
-const vk::VkPhysicalDevicePipelineCreationCacheControlFeatures&                        getPipelineCreationCacheControlFeatures         (void) const;
-const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&             getPipelineExecutablePropertiesFeatures         (void) const;
-const vk::VkPhysicalDevicePortabilitySubsetFeaturesKHR&                                        getPortabilitySubsetFeatures                            (void) const;
-const vk::VkPhysicalDevicePresentIdFeaturesKHR&                                                        getPresentIdFeatures                                            (void) const;
-const vk::VkPhysicalDevicePresentWaitFeaturesKHR&                                              getPresentWaitFeatures                                          (void) const;
-const vk::VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&                 getPrimitivesGeneratedQueryFeaturesEXT          (void) const;
-const vk::VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&             getPrimitiveTopologyListRestartFeaturesEXT      (void) const;
-const vk::VkPhysicalDevicePrivateDataFeatures&                                                 getPrivateDataFeatures                                          (void) const;
-const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                             getProtectedMemoryFeatures                                      (void) const;
-const vk::VkPhysicalDeviceProvokingVertexFeaturesEXT&                                  getProvokingVertexFeaturesEXT                           (void) const;
-const vk::VkPhysicalDeviceRayQueryFeaturesKHR&                                                 getRayQueryFeatures                                                     (void) const;
-const vk::VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&                              getRayTracingMotionBlurFeatures                         (void) const;
-const vk::VkPhysicalDeviceRayTracingPipelineFeaturesKHR&                               getRayTracingPipelineFeatures                           (void) const;
-const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                        getRepresentativeFragmentTestFeatures           (void) const;
-const vk::VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                  getRGBA10X6FormatsFeaturesEXT                           (void) const;
-const vk::VkPhysicalDeviceRobustness2FeaturesEXT&                                              getRobustness2FeaturesEXT                                       (void) const;
-const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures&                              getSamplerYcbcrConversionFeatures                       (void) const;
-const vk::VkPhysicalDeviceScalarBlockLayoutFeatures&                                   getScalarBlockLayoutFeatures                            (void) const;
-const vk::VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures&                 getSeparateDepthStencilLayoutsFeatures          (void) const;
-const vk::VkPhysicalDeviceShaderAtomicFloatFeaturesEXT&                                        getShaderAtomicFloatFeaturesEXT                         (void) const;
-const vk::VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT&                               getShaderAtomicFloat2FeaturesEXT                        (void) const;
-const vk::VkPhysicalDeviceShaderAtomicInt64Features&                                   getShaderAtomicInt64Features                            (void) const;
-const vk::VkPhysicalDeviceShaderClockFeaturesKHR&                                              getShaderClockFeatures                                          (void) const;
-const vk::VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures&              getShaderDemoteToHelperInvocationFeatures       (void) const;
-const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                                        getShaderDrawParametersFeatures                         (void) const;
-const vk::VkPhysicalDeviceShaderFloat16Int8Features&                                   getShaderFloat16Int8Features                            (void) const;
-const vk::VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT&                   getShaderImageAtomicInt64FeaturesEXT            (void) const;
-const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV&                              getShaderImageFootprintFeatures                         (void) const;
-const vk::VkPhysicalDeviceShaderIntegerDotProductFeatures&                             getShaderIntegerDotProductFeatures                      (void) const;
-const vk::VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                        getShaderIntegerFunctions2FeaturesINTEL         (void) const;
-const vk::VkPhysicalDeviceShaderSMBuiltinsFeaturesNV&                                  getShaderSMBuiltinsFeatures                                     (void) const;
-const vk::VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                 getShaderSubgroupExtendedTypesFeatures          (void) const;
-const vk::VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& getShaderSubgroupUniformControlFlowFeatures     (void) const;
-const vk::VkPhysicalDeviceShaderTerminateInvocationFeatures&                   getShaderTerminateInvocationFeatures            (void) const;
-const vk::VkPhysicalDeviceShadingRateImageFeaturesNV&                                  getShadingRateImageFeatures                                     (void) const;
-const vk::VkPhysicalDeviceSubgroupSizeControlFeatures&                                 getSubgroupSizeControlFeatures                          (void) const;
-const vk::VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                        getSubpassShadingFeaturesHUAWEI                         (void) const;
-const vk::VkPhysicalDeviceSynchronization2Features&                                            getSynchronization2Features                                     (void) const;
-const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                             getTexelBufferAlignmentFeaturesEXT                      (void) const;
-const vk::VkPhysicalDeviceTextureCompressionASTCHDRFeatures&                   getTextureCompressionASTCHDRFeatures            (void) const;
-const vk::VkPhysicalDeviceTimelineSemaphoreFeatures&                                   getTimelineSemaphoreFeatures                            (void) const;
-const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                        getTransformFeedbackFeaturesEXT                         (void) const;
-const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                 getUniformBufferStandardLayoutFeatures          (void) const;
-const vk::VkPhysicalDeviceVariablePointersFeatures&                                            getVariablePointersFeatures                                     (void) const;
-const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                   getVertexAttributeDivisorFeaturesEXT            (void) const;
-const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                  getVertexInputDynamicStateFeaturesEXT           (void) const;
-const vk::VkPhysicalDeviceVulkanMemoryModelFeatures&                                   getVulkanMemoryModelFeatures                            (void) const;
-const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&            getWorkgroupMemoryExplicitLayoutFeatures        (void) const;
-const vk::VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                            getYcbcr2Plane444FormatsFeaturesEXT                     (void) const;
-const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                 getYcbcrImageArraysFeaturesEXT                          (void) const;
-const vk::VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures&               getZeroInitializeWorkgroupMemoryFeatures        (void) const;
+const vk::VkPhysicalDevice16BitStorageFeatures&                                                        get16BitStorageFeatures                                                 (void) const;
+const vk::VkPhysicalDevice4444FormatsFeaturesEXT&                                              get4444FormatsFeaturesEXT                                               (void) const;
+const vk::VkPhysicalDevice8BitStorageFeatures&                                                 get8BitStorageFeatures                                                  (void) const;
+const vk::VkPhysicalDeviceAccelerationStructureFeaturesKHR&                            getAccelerationStructureFeatures                                (void) const;
+const vk::VkPhysicalDeviceASTCDecodeFeaturesEXT&                                               getASTCDecodeFeaturesEXT                                                (void) const;
+const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                   getBlendOperationAdvancedFeaturesEXT                    (void) const;
+const vk::VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                               getBorderColorSwizzleFeaturesEXT                                (void) const;
+const vk::VkPhysicalDeviceBufferDeviceAddressFeatures&                                 getBufferDeviceAddressFeatures                                  (void) const;
+const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                              getBufferDeviceAddressFeaturesEXT                               (void) const;
+const vk::VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                   getCoherentMemoryFeaturesAMD                                    (void) const;
+const vk::VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                 getColorWriteEnableFeaturesEXT                                  (void) const;
+const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                  getComputeShaderDerivativesFeatures                             (void) const;
+const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                             getConditionalRenderingFeaturesEXT                              (void) const;
+const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                 getCooperativeMatrixFeatures                                    (void) const;
+const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV&                                        getCornerSampledImageFeatures                                   (void) const;
+const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV&                             getCoverageReductionModeFeatures                                (void) const;
+const vk::VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                        getCustomBorderColorFeaturesEXT                                 (void) const;
+const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&  getDedicatedAllocationImageAliasingFeatures             (void) const;
+const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT&                                 getDepthClipControlFeaturesEXT                                  (void) const;
+const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                  getDepthClipEnableFeaturesEXT                                   (void) const;
+const vk::VkPhysicalDeviceDescriptorIndexingFeatures&                                  getDescriptorIndexingFeatures                                   (void) const;
+const vk::VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&               getDescriptorSetHostMappingFeaturesVALVE                (void) const;
+const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                   getDeviceGeneratedCommandsFeatures                              (void) const;
+const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                               getDeviceMemoryReportFeaturesEXT                                (void) const;
+const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                 getDiagnosticsConfigFeatures                                    (void) const;
+const vk::VkPhysicalDeviceDynamicRenderingFeatures&                                            getDynamicRenderingFeatures                                             (void) const;
+const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV&                                  getExclusiveScissorFeatures                                             (void) const;
+const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                             getExtendedDynamicStateFeaturesEXT                              (void) const;
+const vk::VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&                            getExtendedDynamicState2FeaturesEXT                             (void) const;
+const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                        getExternalMemoryRDMAFeatures                                   (void) const;
+const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                               getFragmentDensityMapFeaturesEXT                                (void) const;
+const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&                              getFragmentDensityMap2FeaturesEXT                               (void) const;
+const vk::VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                        getFragmentDensityMapOffsetFeaturesQCOM                 (void) const;
+const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                 getFragmentShaderBarycentricFeatures                    (void) const;
+const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                  getFragmentShaderInterlockFeaturesEXT                   (void) const;
+const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR&                              getFragmentShadingRateFeatures                                  (void) const;
+const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&                  getFragmentShadingRateEnumsFeatures                             (void) const;
+const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR&                              getGlobalPriorityQueryFeatures                                  (void) const;
+const vk::VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT&                  getGraphicsPipelineLibraryFeaturesEXT                   (void) const;
+const vk::VkPhysicalDeviceHostQueryResetFeatures&                                              getHostQueryResetFeatures                                               (void) const;
+const vk::VkPhysicalDeviceImagelessFramebufferFeatures&                                        getImagelessFramebufferFeatures                                 (void) const;
+const vk::VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                  getImage2DViewOf3DFeaturesEXT                                   (void) const;
+const vk::VkPhysicalDeviceImageCompressionControlFeaturesEXT&                  getImageCompressionControlFeaturesEXT                   (void) const;
+const vk::VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT& getImageCompressionControlSwapchainFeaturesEXT  (void) const;
+const vk::VkPhysicalDeviceImageRobustnessFeatures&                                             getImageRobustnessFeatures                                              (void) const;
+const vk::VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                  getImageViewMinLodFeaturesEXT                                   (void) const;
+const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                   getIndexTypeUint8FeaturesEXT                                    (void) const;
+const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                  getInheritedViewportScissorFeatures                             (void) const;
+const vk::VkPhysicalDeviceInlineUniformBlockFeatures&                                  getInlineUniformBlockFeatures                                   (void) const;
+const vk::VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&                                        getInvocationMaskFeaturesHUAWEI                                 (void) const;
+const vk::VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                             getLinearColorAttachmentFeatures                                (void) const;
+const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT&                                        getLineRasterizationFeaturesEXT                                 (void) const;
+const vk::VkPhysicalDeviceMaintenance4Features&                                                        getMaintenance4Features                                                 (void) const;
+const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                   getMemoryPriorityFeaturesEXT                                    (void) const;
+const vk::VkPhysicalDeviceMeshShaderFeaturesNV&                                                        getMeshShaderFeatures                                                   (void) const;
+const vk::VkPhysicalDeviceMultiviewFeatures&                                                   getMultiviewFeatures                                                    (void) const;
+const vk::VkPhysicalDeviceMultiDrawFeaturesEXT&                                                        getMultiDrawFeaturesEXT                                                 (void) const;
+const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                  getMutableDescriptorTypeFeaturesVALVE                   (void) const;
+const vk::VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                        getPageableDeviceLocalMemoryFeaturesEXT                 (void) const;
+const vk::VkPhysicalDevicePerformanceQueryFeaturesKHR&                                 getPerformanceQueryFeatures                                             (void) const;
+const vk::VkPhysicalDevicePipelineCreationCacheControlFeatures&                        getPipelineCreationCacheControlFeatures                 (void) const;
+const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&             getPipelineExecutablePropertiesFeatures                 (void) const;
+const vk::VkPhysicalDevicePipelinePropertiesFeaturesEXT&                               getPipelinePropertiesFeaturesEXT                                (void) const;
+const vk::VkPhysicalDevicePortabilitySubsetFeaturesKHR&                                        getPortabilitySubsetFeatures                                    (void) const;
+const vk::VkPhysicalDevicePresentIdFeaturesKHR&                                                        getPresentIdFeatures                                                    (void) const;
+const vk::VkPhysicalDevicePresentWaitFeaturesKHR&                                              getPresentWaitFeatures                                                  (void) const;
+const vk::VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&                 getPrimitivesGeneratedQueryFeaturesEXT                  (void) const;
+const vk::VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&             getPrimitiveTopologyListRestartFeaturesEXT              (void) const;
+const vk::VkPhysicalDevicePrivateDataFeatures&                                                 getPrivateDataFeatures                                                  (void) const;
+const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                             getProtectedMemoryFeatures                                              (void) const;
+const vk::VkPhysicalDeviceProvokingVertexFeaturesEXT&                                  getProvokingVertexFeaturesEXT                                   (void) const;
+const vk::VkPhysicalDeviceRayQueryFeaturesKHR&                                                 getRayQueryFeatures                                                             (void) const;
+const vk::VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR&                   getRayTracingMaintenance1Features                               (void) const;
+const vk::VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&                              getRayTracingMotionBlurFeatures                                 (void) const;
+const vk::VkPhysicalDeviceRayTracingPipelineFeaturesKHR&                               getRayTracingPipelineFeatures                                   (void) const;
+const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                        getRepresentativeFragmentTestFeatures                   (void) const;
+const vk::VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                  getRGBA10X6FormatsFeaturesEXT                                   (void) const;
+const vk::VkPhysicalDeviceRobustness2FeaturesEXT&                                              getRobustness2FeaturesEXT                                               (void) const;
+const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures&                              getSamplerYcbcrConversionFeatures                               (void) const;
+const vk::VkPhysicalDeviceScalarBlockLayoutFeatures&                                   getScalarBlockLayoutFeatures                                    (void) const;
+const vk::VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures&                 getSeparateDepthStencilLayoutsFeatures                  (void) const;
+const vk::VkPhysicalDeviceShaderAtomicFloatFeaturesEXT&                                        getShaderAtomicFloatFeaturesEXT                                 (void) const;
+const vk::VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT&                               getShaderAtomicFloat2FeaturesEXT                                (void) const;
+const vk::VkPhysicalDeviceShaderAtomicInt64Features&                                   getShaderAtomicInt64Features                                    (void) const;
+const vk::VkPhysicalDeviceShaderClockFeaturesKHR&                                              getShaderClockFeatures                                                  (void) const;
+const vk::VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures&              getShaderDemoteToHelperInvocationFeatures               (void) const;
+const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                                        getShaderDrawParametersFeatures                                 (void) const;
+const vk::VkPhysicalDeviceShaderFloat16Int8Features&                                   getShaderFloat16Int8Features                                    (void) const;
+const vk::VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT&                   getShaderImageAtomicInt64FeaturesEXT                    (void) const;
+const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV&                              getShaderImageFootprintFeatures                                 (void) const;
+const vk::VkPhysicalDeviceShaderIntegerDotProductFeatures&                             getShaderIntegerDotProductFeatures                              (void) const;
+const vk::VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                        getShaderIntegerFunctions2FeaturesINTEL                 (void) const;
+const vk::VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT&                   getShaderModuleIdentifierFeaturesEXT                    (void) const;
+const vk::VkPhysicalDeviceShaderSMBuiltinsFeaturesNV&                                  getShaderSMBuiltinsFeatures                                             (void) const;
+const vk::VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                 getShaderSubgroupExtendedTypesFeatures                  (void) const;
+const vk::VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& getShaderSubgroupUniformControlFlowFeatures             (void) const;
+const vk::VkPhysicalDeviceShaderTerminateInvocationFeatures&                   getShaderTerminateInvocationFeatures                    (void) const;
+const vk::VkPhysicalDeviceShadingRateImageFeaturesNV&                                  getShadingRateImageFeatures                                             (void) const;
+const vk::VkPhysicalDeviceSubgroupSizeControlFeatures&                                 getSubgroupSizeControlFeatures                                  (void) const;
+const vk::VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT&                             getSubpassMergeFeedbackFeaturesEXT                              (void) const;
+const vk::VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                        getSubpassShadingFeaturesHUAWEI                                 (void) const;
+const vk::VkPhysicalDeviceSynchronization2Features&                                            getSynchronization2Features                                             (void) const;
+const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                             getTexelBufferAlignmentFeaturesEXT                              (void) const;
+const vk::VkPhysicalDeviceTextureCompressionASTCHDRFeatures&                   getTextureCompressionASTCHDRFeatures                    (void) const;
+const vk::VkPhysicalDeviceTimelineSemaphoreFeatures&                                   getTimelineSemaphoreFeatures                                    (void) const;
+const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                        getTransformFeedbackFeaturesEXT                                 (void) const;
+const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                 getUniformBufferStandardLayoutFeatures                  (void) const;
+const vk::VkPhysicalDeviceVariablePointersFeatures&                                            getVariablePointersFeatures                                             (void) const;
+const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                   getVertexAttributeDivisorFeaturesEXT                    (void) const;
+const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                  getVertexInputDynamicStateFeaturesEXT                   (void) const;
+const vk::VkPhysicalDeviceVulkanMemoryModelFeatures&                                   getVulkanMemoryModelFeatures                                    (void) const;
+const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&            getWorkgroupMemoryExplicitLayoutFeatures                (void) const;
+const vk::VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                            getYcbcr2Plane444FormatsFeaturesEXT                             (void) const;
+const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                 getYcbcrImageArraysFeaturesEXT                                  (void) const;
+const vk::VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures&               getZeroInitializeWorkgroupMemoryFeatures                (void) const;
index 771e417..3b5ec90 100644 (file)
  * be lost! Modify the generating script instead.
  * This file was generated by /scripts/gen_framework.py
  */
-const vk::VkPhysicalDevice16BitStorageFeatures&                                                        Context::get16BitStorageFeatures                                                (void) const { return m_device->get16BitStorageFeatures();                                              }
-const vk::VkPhysicalDevice4444FormatsFeaturesEXT&                                              Context::get4444FormatsFeaturesEXT                                              (void) const { return m_device->get4444FormatsFeaturesEXT();                                    }
-const vk::VkPhysicalDevice8BitStorageFeatures&                                                 Context::get8BitStorageFeatures                                                 (void) const { return m_device->get8BitStorageFeatures();                                               }
-const vk::VkPhysicalDeviceAccelerationStructureFeaturesKHR&                            Context::getAccelerationStructureFeatures                               (void) const { return m_device->getAccelerationStructureFeatures();                             }
-const vk::VkPhysicalDeviceASTCDecodeFeaturesEXT&                                               Context::getASTCDecodeFeaturesEXT                                               (void) const { return m_device->getASTCDecodeFeaturesEXT();                                             }
-const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                   Context::getBlendOperationAdvancedFeaturesEXT                   (void) const { return m_device->getBlendOperationAdvancedFeaturesEXT();                 }
-const vk::VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                               Context::getBorderColorSwizzleFeaturesEXT                               (void) const { return m_device->getBorderColorSwizzleFeaturesEXT();                             }
-const vk::VkPhysicalDeviceBufferDeviceAddressFeatures&                                 Context::getBufferDeviceAddressFeatures                                 (void) const { return m_device->getBufferDeviceAddressFeatures();                               }
-const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                              Context::getBufferDeviceAddressFeaturesEXT                              (void) const { return m_device->getBufferDeviceAddressFeaturesEXT();                    }
-const vk::VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                   Context::getCoherentMemoryFeaturesAMD                                   (void) const { return m_device->getCoherentMemoryFeaturesAMD();                                 }
-const vk::VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                 Context::getColorWriteEnableFeaturesEXT                                 (void) const { return m_device->getColorWriteEnableFeaturesEXT();                               }
-const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                  Context::getComputeShaderDerivativesFeatures                    (void) const { return m_device->getComputeShaderDerivativesFeatures();                  }
-const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                             Context::getConditionalRenderingFeaturesEXT                             (void) const { return m_device->getConditionalRenderingFeaturesEXT();                   }
-const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                 Context::getCooperativeMatrixFeatures                                   (void) const { return m_device->getCooperativeMatrixFeatures();                                 }
-const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV&                                        Context::getCornerSampledImageFeatures                                  (void) const { return m_device->getCornerSampledImageFeatures();                                }
-const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV&                             Context::getCoverageReductionModeFeatures                               (void) const { return m_device->getCoverageReductionModeFeatures();                             }
-const vk::VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                        Context::getCustomBorderColorFeaturesEXT                                (void) const { return m_device->getCustomBorderColorFeaturesEXT();                              }
-const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&  Context::getDedicatedAllocationImageAliasingFeatures    (void) const { return m_device->getDedicatedAllocationImageAliasingFeatures();  }
-const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT&                                 Context::getDepthClipControlFeaturesEXT                                 (void) const { return m_device->getDepthClipControlFeaturesEXT();                               }
-const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                  Context::getDepthClipEnableFeaturesEXT                                  (void) const { return m_device->getDepthClipEnableFeaturesEXT();                                }
-const vk::VkPhysicalDeviceDescriptorIndexingFeatures&                                  Context::getDescriptorIndexingFeatures                                  (void) const { return m_device->getDescriptorIndexingFeatures();                                }
-const vk::VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&               Context::getDescriptorSetHostMappingFeaturesVALVE               (void) const { return m_device->getDescriptorSetHostMappingFeaturesVALVE();             }
-const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                   Context::getDeviceGeneratedCommandsFeatures                             (void) const { return m_device->getDeviceGeneratedCommandsFeatures();                   }
-const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                               Context::getDeviceMemoryReportFeaturesEXT                               (void) const { return m_device->getDeviceMemoryReportFeaturesEXT();                             }
-const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                 Context::getDiagnosticsConfigFeatures                                   (void) const { return m_device->getDiagnosticsConfigFeatures();                                 }
-const vk::VkPhysicalDeviceDynamicRenderingFeatures&                                            Context::getDynamicRenderingFeatures                                    (void) const { return m_device->getDynamicRenderingFeatures();                                  }
-const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV&                                  Context::getExclusiveScissorFeatures                                    (void) const { return m_device->getExclusiveScissorFeatures();                                  }
-const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                             Context::getExtendedDynamicStateFeaturesEXT                             (void) const { return m_device->getExtendedDynamicStateFeaturesEXT();                   }
-const vk::VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&                            Context::getExtendedDynamicState2FeaturesEXT                    (void) const { return m_device->getExtendedDynamicState2FeaturesEXT();                  }
-const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                        Context::getExternalMemoryRDMAFeatures                                  (void) const { return m_device->getExternalMemoryRDMAFeatures();                                }
-const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                               Context::getFragmentDensityMapFeaturesEXT                               (void) const { return m_device->getFragmentDensityMapFeaturesEXT();                             }
-const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&                              Context::getFragmentDensityMap2FeaturesEXT                              (void) const { return m_device->getFragmentDensityMap2FeaturesEXT();                    }
-const vk::VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                        Context::getFragmentDensityMapOffsetFeaturesQCOM                (void) const { return m_device->getFragmentDensityMapOffsetFeaturesQCOM();              }
-const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                 Context::getFragmentShaderBarycentricFeatures                   (void) const { return m_device->getFragmentShaderBarycentricFeatures();                 }
-const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                  Context::getFragmentShaderInterlockFeaturesEXT                  (void) const { return m_device->getFragmentShaderInterlockFeaturesEXT();                }
-const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR&                              Context::getFragmentShadingRateFeatures                                 (void) const { return m_device->getFragmentShadingRateFeatures();                               }
-const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&                  Context::getFragmentShadingRateEnumsFeatures                    (void) const { return m_device->getFragmentShadingRateEnumsFeatures();                  }
-const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR&                              Context::getGlobalPriorityQueryFeatures                                 (void) const { return m_device->getGlobalPriorityQueryFeatures();                               }
-const vk::VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT&                  Context::getGraphicsPipelineLibraryFeaturesEXT                  (void) const { return m_device->getGraphicsPipelineLibraryFeaturesEXT();                }
-const vk::VkPhysicalDeviceHostQueryResetFeatures&                                              Context::getHostQueryResetFeatures                                              (void) const { return m_device->getHostQueryResetFeatures();                                    }
-const vk::VkPhysicalDeviceImagelessFramebufferFeatures&                                        Context::getImagelessFramebufferFeatures                                (void) const { return m_device->getImagelessFramebufferFeatures();                              }
-const vk::VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                  Context::getImage2DViewOf3DFeaturesEXT                                  (void) const { return m_device->getImage2DViewOf3DFeaturesEXT();                                }
-const vk::VkPhysicalDeviceImageRobustnessFeatures&                                             Context::getImageRobustnessFeatures                                             (void) const { return m_device->getImageRobustnessFeatures();                                   }
-const vk::VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                  Context::getImageViewMinLodFeaturesEXT                                  (void) const { return m_device->getImageViewMinLodFeaturesEXT();                                }
-const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                   Context::getIndexTypeUint8FeaturesEXT                                   (void) const { return m_device->getIndexTypeUint8FeaturesEXT();                                 }
-const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                  Context::getInheritedViewportScissorFeatures                    (void) const { return m_device->getInheritedViewportScissorFeatures();                  }
-const vk::VkPhysicalDeviceInlineUniformBlockFeatures&                                  Context::getInlineUniformBlockFeatures                                  (void) const { return m_device->getInlineUniformBlockFeatures();                                }
-const vk::VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&                                        Context::getInvocationMaskFeaturesHUAWEI                                (void) const { return m_device->getInvocationMaskFeaturesHUAWEI();                              }
-const vk::VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                             Context::getLinearColorAttachmentFeatures                               (void) const { return m_device->getLinearColorAttachmentFeatures();                             }
-const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT&                                        Context::getLineRasterizationFeaturesEXT                                (void) const { return m_device->getLineRasterizationFeaturesEXT();                              }
-const vk::VkPhysicalDeviceMaintenance4Features&                                                        Context::getMaintenance4Features                                                (void) const { return m_device->getMaintenance4Features();                                              }
-const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                   Context::getMemoryPriorityFeaturesEXT                                   (void) const { return m_device->getMemoryPriorityFeaturesEXT();                                 }
-const vk::VkPhysicalDeviceMeshShaderFeaturesNV&                                                        Context::getMeshShaderFeatures                                                  (void) const { return m_device->getMeshShaderFeatures();                                                }
-const vk::VkPhysicalDeviceMultiviewFeatures&                                                   Context::getMultiviewFeatures                                                   (void) const { return m_device->getMultiviewFeatures();                                                 }
-const vk::VkPhysicalDeviceMultiDrawFeaturesEXT&                                                        Context::getMultiDrawFeaturesEXT                                                (void) const { return m_device->getMultiDrawFeaturesEXT();                                              }
-const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                  Context::getMutableDescriptorTypeFeaturesVALVE                  (void) const { return m_device->getMutableDescriptorTypeFeaturesVALVE();                }
-const vk::VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                        Context::getPageableDeviceLocalMemoryFeaturesEXT                (void) const { return m_device->getPageableDeviceLocalMemoryFeaturesEXT();              }
-const vk::VkPhysicalDevicePerformanceQueryFeaturesKHR&                                 Context::getPerformanceQueryFeatures                                    (void) const { return m_device->getPerformanceQueryFeatures();                                  }
-const vk::VkPhysicalDevicePipelineCreationCacheControlFeatures&                        Context::getPipelineCreationCacheControlFeatures                (void) const { return m_device->getPipelineCreationCacheControlFeatures();              }
-const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&             Context::getPipelineExecutablePropertiesFeatures                (void) const { return m_device->getPipelineExecutablePropertiesFeatures();              }
-const vk::VkPhysicalDevicePortabilitySubsetFeaturesKHR&                                        Context::getPortabilitySubsetFeatures                                   (void) const { return m_device->getPortabilitySubsetFeatures();                                 }
-const vk::VkPhysicalDevicePresentIdFeaturesKHR&                                                        Context::getPresentIdFeatures                                                   (void) const { return m_device->getPresentIdFeatures();                                                 }
-const vk::VkPhysicalDevicePresentWaitFeaturesKHR&                                              Context::getPresentWaitFeatures                                                 (void) const { return m_device->getPresentWaitFeatures();                                               }
-const vk::VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&                 Context::getPrimitivesGeneratedQueryFeaturesEXT                 (void) const { return m_device->getPrimitivesGeneratedQueryFeaturesEXT();               }
-const vk::VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&             Context::getPrimitiveTopologyListRestartFeaturesEXT             (void) const { return m_device->getPrimitiveTopologyListRestartFeaturesEXT();   }
-const vk::VkPhysicalDevicePrivateDataFeatures&                                                 Context::getPrivateDataFeatures                                                 (void) const { return m_device->getPrivateDataFeatures();                                               }
-const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                             Context::getProtectedMemoryFeatures                                             (void) const { return m_device->getProtectedMemoryFeatures();                                   }
-const vk::VkPhysicalDeviceProvokingVertexFeaturesEXT&                                  Context::getProvokingVertexFeaturesEXT                                  (void) const { return m_device->getProvokingVertexFeaturesEXT();                                }
-const vk::VkPhysicalDeviceRayQueryFeaturesKHR&                                                 Context::getRayQueryFeatures                                                    (void) const { return m_device->getRayQueryFeatures();                                                  }
-const vk::VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&                              Context::getRayTracingMotionBlurFeatures                                (void) const { return m_device->getRayTracingMotionBlurFeatures();                              }
-const vk::VkPhysicalDeviceRayTracingPipelineFeaturesKHR&                               Context::getRayTracingPipelineFeatures                                  (void) const { return m_device->getRayTracingPipelineFeatures();                                }
-const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                        Context::getRepresentativeFragmentTestFeatures                  (void) const { return m_device->getRepresentativeFragmentTestFeatures();                }
-const vk::VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                  Context::getRGBA10X6FormatsFeaturesEXT                                  (void) const { return m_device->getRGBA10X6FormatsFeaturesEXT();                                }
-const vk::VkPhysicalDeviceRobustness2FeaturesEXT&                                              Context::getRobustness2FeaturesEXT                                              (void) const { return m_device->getRobustness2FeaturesEXT();                                    }
-const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures&                              Context::getSamplerYcbcrConversionFeatures                              (void) const { return m_device->getSamplerYcbcrConversionFeatures();                    }
-const vk::VkPhysicalDeviceScalarBlockLayoutFeatures&                                   Context::getScalarBlockLayoutFeatures                                   (void) const { return m_device->getScalarBlockLayoutFeatures();                                 }
-const vk::VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures&                 Context::getSeparateDepthStencilLayoutsFeatures                 (void) const { return m_device->getSeparateDepthStencilLayoutsFeatures();               }
-const vk::VkPhysicalDeviceShaderAtomicFloatFeaturesEXT&                                        Context::getShaderAtomicFloatFeaturesEXT                                (void) const { return m_device->getShaderAtomicFloatFeaturesEXT();                              }
-const vk::VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT&                               Context::getShaderAtomicFloat2FeaturesEXT                               (void) const { return m_device->getShaderAtomicFloat2FeaturesEXT();                             }
-const vk::VkPhysicalDeviceShaderAtomicInt64Features&                                   Context::getShaderAtomicInt64Features                                   (void) const { return m_device->getShaderAtomicInt64Features();                                 }
-const vk::VkPhysicalDeviceShaderClockFeaturesKHR&                                              Context::getShaderClockFeatures                                                 (void) const { return m_device->getShaderClockFeatures();                                               }
-const vk::VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures&              Context::getShaderDemoteToHelperInvocationFeatures              (void) const { return m_device->getShaderDemoteToHelperInvocationFeatures();    }
-const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                                        Context::getShaderDrawParametersFeatures                                (void) const { return m_device->getShaderDrawParametersFeatures();                              }
-const vk::VkPhysicalDeviceShaderFloat16Int8Features&                                   Context::getShaderFloat16Int8Features                                   (void) const { return m_device->getShaderFloat16Int8Features();                                 }
-const vk::VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT&                   Context::getShaderImageAtomicInt64FeaturesEXT                   (void) const { return m_device->getShaderImageAtomicInt64FeaturesEXT();                 }
-const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV&                              Context::getShaderImageFootprintFeatures                                (void) const { return m_device->getShaderImageFootprintFeatures();                              }
-const vk::VkPhysicalDeviceShaderIntegerDotProductFeatures&                             Context::getShaderIntegerDotProductFeatures                             (void) const { return m_device->getShaderIntegerDotProductFeatures();                   }
-const vk::VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                        Context::getShaderIntegerFunctions2FeaturesINTEL                (void) const { return m_device->getShaderIntegerFunctions2FeaturesINTEL();              }
-const vk::VkPhysicalDeviceShaderSMBuiltinsFeaturesNV&                                  Context::getShaderSMBuiltinsFeatures                                    (void) const { return m_device->getShaderSMBuiltinsFeatures();                                  }
-const vk::VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                 Context::getShaderSubgroupExtendedTypesFeatures                 (void) const { return m_device->getShaderSubgroupExtendedTypesFeatures();               }
-const vk::VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& Context::getShaderSubgroupUniformControlFlowFeatures    (void) const { return m_device->getShaderSubgroupUniformControlFlowFeatures();  }
-const vk::VkPhysicalDeviceShaderTerminateInvocationFeatures&                   Context::getShaderTerminateInvocationFeatures                   (void) const { return m_device->getShaderTerminateInvocationFeatures();                 }
-const vk::VkPhysicalDeviceShadingRateImageFeaturesNV&                                  Context::getShadingRateImageFeatures                                    (void) const { return m_device->getShadingRateImageFeatures();                                  }
-const vk::VkPhysicalDeviceSubgroupSizeControlFeatures&                                 Context::getSubgroupSizeControlFeatures                                 (void) const { return m_device->getSubgroupSizeControlFeatures();                               }
-const vk::VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                        Context::getSubpassShadingFeaturesHUAWEI                                (void) const { return m_device->getSubpassShadingFeaturesHUAWEI();                              }
-const vk::VkPhysicalDeviceSynchronization2Features&                                            Context::getSynchronization2Features                                    (void) const { return m_device->getSynchronization2Features();                                  }
-const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                             Context::getTexelBufferAlignmentFeaturesEXT                             (void) const { return m_device->getTexelBufferAlignmentFeaturesEXT();                   }
-const vk::VkPhysicalDeviceTextureCompressionASTCHDRFeatures&                   Context::getTextureCompressionASTCHDRFeatures                   (void) const { return m_device->getTextureCompressionASTCHDRFeatures();                 }
-const vk::VkPhysicalDeviceTimelineSemaphoreFeatures&                                   Context::getTimelineSemaphoreFeatures                                   (void) const { return m_device->getTimelineSemaphoreFeatures();                                 }
-const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                        Context::getTransformFeedbackFeaturesEXT                                (void) const { return m_device->getTransformFeedbackFeaturesEXT();                              }
-const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                 Context::getUniformBufferStandardLayoutFeatures                 (void) const { return m_device->getUniformBufferStandardLayoutFeatures();               }
-const vk::VkPhysicalDeviceVariablePointersFeatures&                                            Context::getVariablePointersFeatures                                    (void) const { return m_device->getVariablePointersFeatures();                                  }
-const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                   Context::getVertexAttributeDivisorFeaturesEXT                   (void) const { return m_device->getVertexAttributeDivisorFeaturesEXT();                 }
-const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                  Context::getVertexInputDynamicStateFeaturesEXT                  (void) const { return m_device->getVertexInputDynamicStateFeaturesEXT();                }
-const vk::VkPhysicalDeviceVulkanMemoryModelFeatures&                                   Context::getVulkanMemoryModelFeatures                                   (void) const { return m_device->getVulkanMemoryModelFeatures();                                 }
-const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&            Context::getWorkgroupMemoryExplicitLayoutFeatures               (void) const { return m_device->getWorkgroupMemoryExplicitLayoutFeatures();             }
-const vk::VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                            Context::getYcbcr2Plane444FormatsFeaturesEXT                    (void) const { return m_device->getYcbcr2Plane444FormatsFeaturesEXT();                  }
-const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                 Context::getYcbcrImageArraysFeaturesEXT                                 (void) const { return m_device->getYcbcrImageArraysFeaturesEXT();                               }
-const vk::VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures&               Context::getZeroInitializeWorkgroupMemoryFeatures               (void) const { return m_device->getZeroInitializeWorkgroupMemoryFeatures();             }
+const vk::VkPhysicalDevice16BitStorageFeatures&                                                        Context::get16BitStorageFeatures                                                (void) const { return m_device->get16BitStorageFeatures();                                                      }
+const vk::VkPhysicalDevice4444FormatsFeaturesEXT&                                              Context::get4444FormatsFeaturesEXT                                              (void) const { return m_device->get4444FormatsFeaturesEXT();                                            }
+const vk::VkPhysicalDevice8BitStorageFeatures&                                                 Context::get8BitStorageFeatures                                                 (void) const { return m_device->get8BitStorageFeatures();                                                       }
+const vk::VkPhysicalDeviceAccelerationStructureFeaturesKHR&                            Context::getAccelerationStructureFeatures                               (void) const { return m_device->getAccelerationStructureFeatures();                                     }
+const vk::VkPhysicalDeviceASTCDecodeFeaturesEXT&                                               Context::getASTCDecodeFeaturesEXT                                               (void) const { return m_device->getASTCDecodeFeaturesEXT();                                                     }
+const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                   Context::getBlendOperationAdvancedFeaturesEXT                   (void) const { return m_device->getBlendOperationAdvancedFeaturesEXT();                         }
+const vk::VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                               Context::getBorderColorSwizzleFeaturesEXT                               (void) const { return m_device->getBorderColorSwizzleFeaturesEXT();                                     }
+const vk::VkPhysicalDeviceBufferDeviceAddressFeatures&                                 Context::getBufferDeviceAddressFeatures                                 (void) const { return m_device->getBufferDeviceAddressFeatures();                                       }
+const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                              Context::getBufferDeviceAddressFeaturesEXT                              (void) const { return m_device->getBufferDeviceAddressFeaturesEXT();                            }
+const vk::VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                   Context::getCoherentMemoryFeaturesAMD                                   (void) const { return m_device->getCoherentMemoryFeaturesAMD();                                         }
+const vk::VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                 Context::getColorWriteEnableFeaturesEXT                                 (void) const { return m_device->getColorWriteEnableFeaturesEXT();                                       }
+const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                  Context::getComputeShaderDerivativesFeatures                    (void) const { return m_device->getComputeShaderDerivativesFeatures();                          }
+const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                             Context::getConditionalRenderingFeaturesEXT                             (void) const { return m_device->getConditionalRenderingFeaturesEXT();                           }
+const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                 Context::getCooperativeMatrixFeatures                                   (void) const { return m_device->getCooperativeMatrixFeatures();                                         }
+const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV&                                        Context::getCornerSampledImageFeatures                                  (void) const { return m_device->getCornerSampledImageFeatures();                                        }
+const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV&                             Context::getCoverageReductionModeFeatures                               (void) const { return m_device->getCoverageReductionModeFeatures();                                     }
+const vk::VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                        Context::getCustomBorderColorFeaturesEXT                                (void) const { return m_device->getCustomBorderColorFeaturesEXT();                                      }
+const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&  Context::getDedicatedAllocationImageAliasingFeatures    (void) const { return m_device->getDedicatedAllocationImageAliasingFeatures();          }
+const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT&                                 Context::getDepthClipControlFeaturesEXT                                 (void) const { return m_device->getDepthClipControlFeaturesEXT();                                       }
+const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                  Context::getDepthClipEnableFeaturesEXT                                  (void) const { return m_device->getDepthClipEnableFeaturesEXT();                                        }
+const vk::VkPhysicalDeviceDescriptorIndexingFeatures&                                  Context::getDescriptorIndexingFeatures                                  (void) const { return m_device->getDescriptorIndexingFeatures();                                        }
+const vk::VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&               Context::getDescriptorSetHostMappingFeaturesVALVE               (void) const { return m_device->getDescriptorSetHostMappingFeaturesVALVE();                     }
+const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                   Context::getDeviceGeneratedCommandsFeatures                             (void) const { return m_device->getDeviceGeneratedCommandsFeatures();                           }
+const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                               Context::getDeviceMemoryReportFeaturesEXT                               (void) const { return m_device->getDeviceMemoryReportFeaturesEXT();                                     }
+const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                 Context::getDiagnosticsConfigFeatures                                   (void) const { return m_device->getDiagnosticsConfigFeatures();                                         }
+const vk::VkPhysicalDeviceDynamicRenderingFeatures&                                            Context::getDynamicRenderingFeatures                                    (void) const { return m_device->getDynamicRenderingFeatures();                                          }
+const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV&                                  Context::getExclusiveScissorFeatures                                    (void) const { return m_device->getExclusiveScissorFeatures();                                          }
+const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                             Context::getExtendedDynamicStateFeaturesEXT                             (void) const { return m_device->getExtendedDynamicStateFeaturesEXT();                           }
+const vk::VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&                            Context::getExtendedDynamicState2FeaturesEXT                    (void) const { return m_device->getExtendedDynamicState2FeaturesEXT();                          }
+const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                        Context::getExternalMemoryRDMAFeatures                                  (void) const { return m_device->getExternalMemoryRDMAFeatures();                                        }
+const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                               Context::getFragmentDensityMapFeaturesEXT                               (void) const { return m_device->getFragmentDensityMapFeaturesEXT();                                     }
+const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&                              Context::getFragmentDensityMap2FeaturesEXT                              (void) const { return m_device->getFragmentDensityMap2FeaturesEXT();                            }
+const vk::VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                        Context::getFragmentDensityMapOffsetFeaturesQCOM                (void) const { return m_device->getFragmentDensityMapOffsetFeaturesQCOM();                      }
+const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                 Context::getFragmentShaderBarycentricFeatures                   (void) const { return m_device->getFragmentShaderBarycentricFeatures();                         }
+const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                  Context::getFragmentShaderInterlockFeaturesEXT                  (void) const { return m_device->getFragmentShaderInterlockFeaturesEXT();                        }
+const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR&                              Context::getFragmentShadingRateFeatures                                 (void) const { return m_device->getFragmentShadingRateFeatures();                                       }
+const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&                  Context::getFragmentShadingRateEnumsFeatures                    (void) const { return m_device->getFragmentShadingRateEnumsFeatures();                          }
+const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR&                              Context::getGlobalPriorityQueryFeatures                                 (void) const { return m_device->getGlobalPriorityQueryFeatures();                                       }
+const vk::VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT&                  Context::getGraphicsPipelineLibraryFeaturesEXT                  (void) const { return m_device->getGraphicsPipelineLibraryFeaturesEXT();                        }
+const vk::VkPhysicalDeviceHostQueryResetFeatures&                                              Context::getHostQueryResetFeatures                                              (void) const { return m_device->getHostQueryResetFeatures();                                            }
+const vk::VkPhysicalDeviceImagelessFramebufferFeatures&                                        Context::getImagelessFramebufferFeatures                                (void) const { return m_device->getImagelessFramebufferFeatures();                                      }
+const vk::VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                  Context::getImage2DViewOf3DFeaturesEXT                                  (void) const { return m_device->getImage2DViewOf3DFeaturesEXT();                                        }
+const vk::VkPhysicalDeviceImageCompressionControlFeaturesEXT&                  Context::getImageCompressionControlFeaturesEXT                  (void) const { return m_device->getImageCompressionControlFeaturesEXT();                        }
+const vk::VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT& Context::getImageCompressionControlSwapchainFeaturesEXT (void) const { return m_device->getImageCompressionControlSwapchainFeaturesEXT();       }
+const vk::VkPhysicalDeviceImageRobustnessFeatures&                                             Context::getImageRobustnessFeatures                                             (void) const { return m_device->getImageRobustnessFeatures();                                           }
+const vk::VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                  Context::getImageViewMinLodFeaturesEXT                                  (void) const { return m_device->getImageViewMinLodFeaturesEXT();                                        }
+const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                   Context::getIndexTypeUint8FeaturesEXT                                   (void) const { return m_device->getIndexTypeUint8FeaturesEXT();                                         }
+const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                  Context::getInheritedViewportScissorFeatures                    (void) const { return m_device->getInheritedViewportScissorFeatures();                          }
+const vk::VkPhysicalDeviceInlineUniformBlockFeatures&                                  Context::getInlineUniformBlockFeatures                                  (void) const { return m_device->getInlineUniformBlockFeatures();                                        }
+const vk::VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&                                        Context::getInvocationMaskFeaturesHUAWEI                                (void) const { return m_device->getInvocationMaskFeaturesHUAWEI();                                      }
+const vk::VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                             Context::getLinearColorAttachmentFeatures                               (void) const { return m_device->getLinearColorAttachmentFeatures();                                     }
+const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT&                                        Context::getLineRasterizationFeaturesEXT                                (void) const { return m_device->getLineRasterizationFeaturesEXT();                                      }
+const vk::VkPhysicalDeviceMaintenance4Features&                                                        Context::getMaintenance4Features                                                (void) const { return m_device->getMaintenance4Features();                                                      }
+const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                   Context::getMemoryPriorityFeaturesEXT                                   (void) const { return m_device->getMemoryPriorityFeaturesEXT();                                         }
+const vk::VkPhysicalDeviceMeshShaderFeaturesNV&                                                        Context::getMeshShaderFeatures                                                  (void) const { return m_device->getMeshShaderFeatures();                                                        }
+const vk::VkPhysicalDeviceMultiviewFeatures&                                                   Context::getMultiviewFeatures                                                   (void) const { return m_device->getMultiviewFeatures();                                                         }
+const vk::VkPhysicalDeviceMultiDrawFeaturesEXT&                                                        Context::getMultiDrawFeaturesEXT                                                (void) const { return m_device->getMultiDrawFeaturesEXT();                                                      }
+const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                  Context::getMutableDescriptorTypeFeaturesVALVE                  (void) const { return m_device->getMutableDescriptorTypeFeaturesVALVE();                        }
+const vk::VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                        Context::getPageableDeviceLocalMemoryFeaturesEXT                (void) const { return m_device->getPageableDeviceLocalMemoryFeaturesEXT();                      }
+const vk::VkPhysicalDevicePerformanceQueryFeaturesKHR&                                 Context::getPerformanceQueryFeatures                                    (void) const { return m_device->getPerformanceQueryFeatures();                                          }
+const vk::VkPhysicalDevicePipelineCreationCacheControlFeatures&                        Context::getPipelineCreationCacheControlFeatures                (void) const { return m_device->getPipelineCreationCacheControlFeatures();                      }
+const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&             Context::getPipelineExecutablePropertiesFeatures                (void) const { return m_device->getPipelineExecutablePropertiesFeatures();                      }
+const vk::VkPhysicalDevicePipelinePropertiesFeaturesEXT&                               Context::getPipelinePropertiesFeaturesEXT                               (void) const { return m_device->getPipelinePropertiesFeaturesEXT();                                     }
+const vk::VkPhysicalDevicePortabilitySubsetFeaturesKHR&                                        Context::getPortabilitySubsetFeatures                                   (void) const { return m_device->getPortabilitySubsetFeatures();                                         }
+const vk::VkPhysicalDevicePresentIdFeaturesKHR&                                                        Context::getPresentIdFeatures                                                   (void) const { return m_device->getPresentIdFeatures();                                                         }
+const vk::VkPhysicalDevicePresentWaitFeaturesKHR&                                              Context::getPresentWaitFeatures                                                 (void) const { return m_device->getPresentWaitFeatures();                                                       }
+const vk::VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&                 Context::getPrimitivesGeneratedQueryFeaturesEXT                 (void) const { return m_device->getPrimitivesGeneratedQueryFeaturesEXT();                       }
+const vk::VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&             Context::getPrimitiveTopologyListRestartFeaturesEXT             (void) const { return m_device->getPrimitiveTopologyListRestartFeaturesEXT();           }
+const vk::VkPhysicalDevicePrivateDataFeatures&                                                 Context::getPrivateDataFeatures                                                 (void) const { return m_device->getPrivateDataFeatures();                                                       }
+const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                             Context::getProtectedMemoryFeatures                                             (void) const { return m_device->getProtectedMemoryFeatures();                                           }
+const vk::VkPhysicalDeviceProvokingVertexFeaturesEXT&                                  Context::getProvokingVertexFeaturesEXT                                  (void) const { return m_device->getProvokingVertexFeaturesEXT();                                        }
+const vk::VkPhysicalDeviceRayQueryFeaturesKHR&                                                 Context::getRayQueryFeatures                                                    (void) const { return m_device->getRayQueryFeatures();                                                          }
+const vk::VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR&                   Context::getRayTracingMaintenance1Features                              (void) const { return m_device->getRayTracingMaintenance1Features();                            }
+const vk::VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&                              Context::getRayTracingMotionBlurFeatures                                (void) const { return m_device->getRayTracingMotionBlurFeatures();                                      }
+const vk::VkPhysicalDeviceRayTracingPipelineFeaturesKHR&                               Context::getRayTracingPipelineFeatures                                  (void) const { return m_device->getRayTracingPipelineFeatures();                                        }
+const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                        Context::getRepresentativeFragmentTestFeatures                  (void) const { return m_device->getRepresentativeFragmentTestFeatures();                        }
+const vk::VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                  Context::getRGBA10X6FormatsFeaturesEXT                                  (void) const { return m_device->getRGBA10X6FormatsFeaturesEXT();                                        }
+const vk::VkPhysicalDeviceRobustness2FeaturesEXT&                                              Context::getRobustness2FeaturesEXT                                              (void) const { return m_device->getRobustness2FeaturesEXT();                                            }
+const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures&                              Context::getSamplerYcbcrConversionFeatures                              (void) const { return m_device->getSamplerYcbcrConversionFeatures();                            }
+const vk::VkPhysicalDeviceScalarBlockLayoutFeatures&                                   Context::getScalarBlockLayoutFeatures                                   (void) const { return m_device->getScalarBlockLayoutFeatures();                                         }
+const vk::VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures&                 Context::getSeparateDepthStencilLayoutsFeatures                 (void) const { return m_device->getSeparateDepthStencilLayoutsFeatures();                       }
+const vk::VkPhysicalDeviceShaderAtomicFloatFeaturesEXT&                                        Context::getShaderAtomicFloatFeaturesEXT                                (void) const { return m_device->getShaderAtomicFloatFeaturesEXT();                                      }
+const vk::VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT&                               Context::getShaderAtomicFloat2FeaturesEXT                               (void) const { return m_device->getShaderAtomicFloat2FeaturesEXT();                                     }
+const vk::VkPhysicalDeviceShaderAtomicInt64Features&                                   Context::getShaderAtomicInt64Features                                   (void) const { return m_device->getShaderAtomicInt64Features();                                         }
+const vk::VkPhysicalDeviceShaderClockFeaturesKHR&                                              Context::getShaderClockFeatures                                                 (void) const { return m_device->getShaderClockFeatures();                                                       }
+const vk::VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures&              Context::getShaderDemoteToHelperInvocationFeatures              (void) const { return m_device->getShaderDemoteToHelperInvocationFeatures();            }
+const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                                        Context::getShaderDrawParametersFeatures                                (void) const { return m_device->getShaderDrawParametersFeatures();                                      }
+const vk::VkPhysicalDeviceShaderFloat16Int8Features&                                   Context::getShaderFloat16Int8Features                                   (void) const { return m_device->getShaderFloat16Int8Features();                                         }
+const vk::VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT&                   Context::getShaderImageAtomicInt64FeaturesEXT                   (void) const { return m_device->getShaderImageAtomicInt64FeaturesEXT();                         }
+const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV&                              Context::getShaderImageFootprintFeatures                                (void) const { return m_device->getShaderImageFootprintFeatures();                                      }
+const vk::VkPhysicalDeviceShaderIntegerDotProductFeatures&                             Context::getShaderIntegerDotProductFeatures                             (void) const { return m_device->getShaderIntegerDotProductFeatures();                           }
+const vk::VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                        Context::getShaderIntegerFunctions2FeaturesINTEL                (void) const { return m_device->getShaderIntegerFunctions2FeaturesINTEL();                      }
+const vk::VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT&                   Context::getShaderModuleIdentifierFeaturesEXT                   (void) const { return m_device->getShaderModuleIdentifierFeaturesEXT();                         }
+const vk::VkPhysicalDeviceShaderSMBuiltinsFeaturesNV&                                  Context::getShaderSMBuiltinsFeatures                                    (void) const { return m_device->getShaderSMBuiltinsFeatures();                                          }
+const vk::VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                 Context::getShaderSubgroupExtendedTypesFeatures                 (void) const { return m_device->getShaderSubgroupExtendedTypesFeatures();                       }
+const vk::VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& Context::getShaderSubgroupUniformControlFlowFeatures    (void) const { return m_device->getShaderSubgroupUniformControlFlowFeatures();          }
+const vk::VkPhysicalDeviceShaderTerminateInvocationFeatures&                   Context::getShaderTerminateInvocationFeatures                   (void) const { return m_device->getShaderTerminateInvocationFeatures();                         }
+const vk::VkPhysicalDeviceShadingRateImageFeaturesNV&                                  Context::getShadingRateImageFeatures                                    (void) const { return m_device->getShadingRateImageFeatures();                                          }
+const vk::VkPhysicalDeviceSubgroupSizeControlFeatures&                                 Context::getSubgroupSizeControlFeatures                                 (void) const { return m_device->getSubgroupSizeControlFeatures();                                       }
+const vk::VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT&                             Context::getSubpassMergeFeedbackFeaturesEXT                             (void) const { return m_device->getSubpassMergeFeedbackFeaturesEXT();                           }
+const vk::VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                        Context::getSubpassShadingFeaturesHUAWEI                                (void) const { return m_device->getSubpassShadingFeaturesHUAWEI();                                      }
+const vk::VkPhysicalDeviceSynchronization2Features&                                            Context::getSynchronization2Features                                    (void) const { return m_device->getSynchronization2Features();                                          }
+const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                             Context::getTexelBufferAlignmentFeaturesEXT                             (void) const { return m_device->getTexelBufferAlignmentFeaturesEXT();                           }
+const vk::VkPhysicalDeviceTextureCompressionASTCHDRFeatures&                   Context::getTextureCompressionASTCHDRFeatures                   (void) const { return m_device->getTextureCompressionASTCHDRFeatures();                         }
+const vk::VkPhysicalDeviceTimelineSemaphoreFeatures&                                   Context::getTimelineSemaphoreFeatures                                   (void) const { return m_device->getTimelineSemaphoreFeatures();                                         }
+const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                        Context::getTransformFeedbackFeaturesEXT                                (void) const { return m_device->getTransformFeedbackFeaturesEXT();                                      }
+const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                 Context::getUniformBufferStandardLayoutFeatures                 (void) const { return m_device->getUniformBufferStandardLayoutFeatures();                       }
+const vk::VkPhysicalDeviceVariablePointersFeatures&                                            Context::getVariablePointersFeatures                                    (void) const { return m_device->getVariablePointersFeatures();                                          }
+const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                   Context::getVertexAttributeDivisorFeaturesEXT                   (void) const { return m_device->getVertexAttributeDivisorFeaturesEXT();                         }
+const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                  Context::getVertexInputDynamicStateFeaturesEXT                  (void) const { return m_device->getVertexInputDynamicStateFeaturesEXT();                        }
+const vk::VkPhysicalDeviceVulkanMemoryModelFeatures&                                   Context::getVulkanMemoryModelFeatures                                   (void) const { return m_device->getVulkanMemoryModelFeatures();                                         }
+const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&            Context::getWorkgroupMemoryExplicitLayoutFeatures               (void) const { return m_device->getWorkgroupMemoryExplicitLayoutFeatures();                     }
+const vk::VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                            Context::getYcbcr2Plane444FormatsFeaturesEXT                    (void) const { return m_device->getYcbcr2Plane444FormatsFeaturesEXT();                          }
+const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                 Context::getYcbcrImageArraysFeaturesEXT                                 (void) const { return m_device->getYcbcrImageArraysFeaturesEXT();                                       }
+const vk::VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures&               Context::getZeroInitializeWorkgroupMemoryFeatures               (void) const { return m_device->getZeroInitializeWorkgroupMemoryFeatures();                     }
index 06e8aba..3c7d77f 100644 (file)
  * be lost! Modify the generating script instead.
  * This file was generated by /scripts/gen_framework.py
  */
-const VkPhysicalDevice16BitStorageFeatures&                                                    get16BitStorageFeatures                                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice16BitStorageFeatures>();                                                  }
-const VkPhysicalDevice4444FormatsFeaturesEXT&                                          get4444FormatsFeaturesEXT                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice4444FormatsFeaturesEXT>();                                                }
-const VkPhysicalDevice8BitStorageFeatures&                                                     get8BitStorageFeatures                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice8BitStorageFeatures>();                                                   }
-const VkPhysicalDeviceAccelerationStructureFeaturesKHR&                                getAccelerationStructureFeatures                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceAccelerationStructureFeaturesKHR>();                              }
-const VkPhysicalDeviceASTCDecodeFeaturesEXT&                                           getASTCDecodeFeaturesEXT                                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceASTCDecodeFeaturesEXT>();                                                 }
-const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                       getBlendOperationAdvancedFeaturesEXT            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>();                             }
-const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                           getBorderColorSwizzleFeaturesEXT                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>();                                 }
-const VkPhysicalDeviceBufferDeviceAddressFeatures&                                     getBufferDeviceAddressFeatures                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBufferDeviceAddressFeatures>();                                   }
-const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                          getBufferDeviceAddressFeaturesEXT                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>();                                }
-const VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                       getCoherentMemoryFeaturesAMD                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCoherentMemoryFeaturesAMD>();                                             }
-const VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                     getColorWriteEnableFeaturesEXT                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceColorWriteEnableFeaturesEXT>();                                   }
-const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                      getComputeShaderDerivativesFeatures                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>();                    }
-const VkPhysicalDeviceConditionalRenderingFeaturesEXT&                         getConditionalRenderingFeaturesEXT                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceConditionalRenderingFeaturesEXT>();                               }
-const VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                     getCooperativeMatrixFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCooperativeMatrixFeaturesNV>();                                   }
-const VkPhysicalDeviceCornerSampledImageFeaturesNV&                                    getCornerSampledImageFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCornerSampledImageFeaturesNV>();                                  }
-const VkPhysicalDeviceCoverageReductionModeFeaturesNV&                         getCoverageReductionModeFeatures                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCoverageReductionModeFeaturesNV>();                               }
-const VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                    getCustomBorderColorFeaturesEXT                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCustomBorderColorFeaturesEXT>();                                  }
-const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&      getDedicatedAllocationImageAliasingFeatures     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>();    }
-const VkPhysicalDeviceDepthClipControlFeaturesEXT&                                     getDepthClipControlFeaturesEXT                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipControlFeaturesEXT>();                                   }
-const VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                      getDepthClipEnableFeaturesEXT                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipEnableFeaturesEXT>();                                    }
-const VkPhysicalDeviceDescriptorIndexingFeatures&                                      getDescriptorIndexingFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorIndexingFeatures>();                                    }
-const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&           getDescriptorSetHostMappingFeaturesVALVE        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>();                 }
-const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                       getDeviceGeneratedCommandsFeatures                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>();                             }
-const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                           getDeviceMemoryReportFeaturesEXT                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>();                                 }
-const VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                     getDiagnosticsConfigFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>();                                   }
-const VkPhysicalDeviceDynamicRenderingFeatures&                                                getDynamicRenderingFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDynamicRenderingFeatures>();                                              }
-const VkPhysicalDeviceExclusiveScissorFeaturesNV&                                      getExclusiveScissorFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExclusiveScissorFeaturesNV>();                                    }
-const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                         getExtendedDynamicStateFeaturesEXT                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>();                               }
-const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&                                getExtendedDynamicState2FeaturesEXT                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>();                              }
-const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                    getExternalMemoryRDMAFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>();                                  }
-const VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                           getFragmentDensityMapFeaturesEXT                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>();                                 }
-const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&                          getFragmentDensityMap2FeaturesEXT                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>();                                }
-const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                    getFragmentDensityMapOffsetFeaturesQCOM         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>();                  }
-const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                     getFragmentShaderBarycentricFeatures            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>();                   }
-const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                      getFragmentShaderInterlockFeaturesEXT           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>();                    }
-const VkPhysicalDeviceFragmentShadingRateFeaturesKHR&                          getFragmentShadingRateFeatures                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>();                                }
-const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&                      getFragmentShadingRateEnumsFeatures                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>();                    }
-const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR&                          getGlobalPriorityQueryFeatures                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>();                                }
-const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT&                      getGraphicsPipelineLibraryFeaturesEXT           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>();                    }
-const VkPhysicalDeviceHostQueryResetFeatures&                                          getHostQueryResetFeatures                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceHostQueryResetFeatures>();                                                }
-const VkPhysicalDeviceImagelessFramebufferFeatures&                                    getImagelessFramebufferFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImagelessFramebufferFeatures>();                                  }
-const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                      getImage2DViewOf3DFeaturesEXT                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>();                                    }
-const VkPhysicalDeviceImageRobustnessFeatures&                                         getImageRobustnessFeatures                                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageRobustnessFeatures>();                                               }
-const VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                      getImageViewMinLodFeaturesEXT                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageViewMinLodFeaturesEXT>();                                    }
-const VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                       getIndexTypeUint8FeaturesEXT                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>();                                             }
-const VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                      getInheritedViewportScissorFeatures                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>();                    }
-const VkPhysicalDeviceInlineUniformBlockFeatures&                                      getInlineUniformBlockFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInlineUniformBlockFeatures>();                                    }
-const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&                                    getInvocationMaskFeaturesHUAWEI                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>();                                  }
-const VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                         getLinearColorAttachmentFeatures                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>();                               }
-const VkPhysicalDeviceLineRasterizationFeaturesEXT&                                    getLineRasterizationFeaturesEXT                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceLineRasterizationFeaturesEXT>();                                  }
-const VkPhysicalDeviceMaintenance4Features&                                                    getMaintenance4Features                                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMaintenance4Features>();                                                  }
-const VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                       getMemoryPriorityFeaturesEXT                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMemoryPriorityFeaturesEXT>();                                             }
-const VkPhysicalDeviceMeshShaderFeaturesNV&                                                    getMeshShaderFeatures                                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMeshShaderFeaturesNV>();                                                  }
-const VkPhysicalDeviceMultiviewFeatures&                                                       getMultiviewFeatures                                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMultiviewFeatures>();                                                             }
-const VkPhysicalDeviceMultiDrawFeaturesEXT&                                                    getMultiDrawFeaturesEXT                                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMultiDrawFeaturesEXT>();                                                  }
-const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                      getMutableDescriptorTypeFeaturesVALVE           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>();                    }
-const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                    getPageableDeviceLocalMemoryFeaturesEXT         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>();                  }
-const VkPhysicalDevicePerformanceQueryFeaturesKHR&                                     getPerformanceQueryFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePerformanceQueryFeaturesKHR>();                                   }
-const VkPhysicalDevicePipelineCreationCacheControlFeatures&                    getPipelineCreationCacheControlFeatures         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePipelineCreationCacheControlFeatures>();                  }
-const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&         getPipelineExecutablePropertiesFeatures         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>();               }
-const VkPhysicalDevicePortabilitySubsetFeaturesKHR&                                    getPortabilitySubsetFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePortabilitySubsetFeaturesKHR>();                                  }
-const VkPhysicalDevicePresentIdFeaturesKHR&                                                    getPresentIdFeatures                                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePresentIdFeaturesKHR>();                                                  }
-const VkPhysicalDevicePresentWaitFeaturesKHR&                                          getPresentWaitFeatures                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePresentWaitFeaturesKHR>();                                                }
-const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&                     getPrimitivesGeneratedQueryFeaturesEXT          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>();                   }
-const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&         getPrimitiveTopologyListRestartFeaturesEXT      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>();               }
-const VkPhysicalDevicePrivateDataFeatures&                                                     getPrivateDataFeatures                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePrivateDataFeatures>();                                                   }
-const VkPhysicalDeviceProtectedMemoryFeatures&                                         getProtectedMemoryFeatures                                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceProtectedMemoryFeatures>();                                               }
-const VkPhysicalDeviceProvokingVertexFeaturesEXT&                                      getProvokingVertexFeaturesEXT                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceProvokingVertexFeaturesEXT>();                                    }
-const VkPhysicalDeviceRayQueryFeaturesKHR&                                                     getRayQueryFeatures                                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRayQueryFeaturesKHR>();                                                   }
-const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&                          getRayTracingMotionBlurFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>();                                }
-const VkPhysicalDeviceRayTracingPipelineFeaturesKHR&                           getRayTracingPipelineFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>();                                 }
-const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                    getRepresentativeFragmentTestFeatures           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>();                  }
-const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                      getRGBA10X6FormatsFeaturesEXT                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT>();                                    }
-const VkPhysicalDeviceRobustness2FeaturesEXT&                                          getRobustness2FeaturesEXT                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRobustness2FeaturesEXT>();                                                }
-const VkPhysicalDeviceSamplerYcbcrConversionFeatures&                          getSamplerYcbcrConversionFeatures                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSamplerYcbcrConversionFeatures>();                                }
-const VkPhysicalDeviceScalarBlockLayoutFeatures&                                       getScalarBlockLayoutFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceScalarBlockLayoutFeatures>();                                             }
-const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures&                     getSeparateDepthStencilLayoutsFeatures          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>();                   }
-const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT&                                    getShaderAtomicFloatFeaturesEXT                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT>();                                  }
-const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT&                           getShaderAtomicFloat2FeaturesEXT                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT>();                                 }
-const VkPhysicalDeviceShaderAtomicInt64Features&                                       getShaderAtomicInt64Features                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderAtomicInt64Features>();                                             }
-const VkPhysicalDeviceShaderClockFeaturesKHR&                                          getShaderClockFeatures                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderClockFeaturesKHR>();                                                }
-const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures&          getShaderDemoteToHelperInvocationFeatures       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>();                }
-const VkPhysicalDeviceShaderDrawParametersFeatures&                                    getShaderDrawParametersFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDrawParametersFeatures>();                                  }
-const VkPhysicalDeviceShaderFloat16Int8Features&                                       getShaderFloat16Int8Features                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderFloat16Int8Features>();                                             }
-const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT&                       getShaderImageAtomicInt64FeaturesEXT            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT>();                             }
-const VkPhysicalDeviceShaderImageFootprintFeaturesNV&                          getShaderImageFootprintFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderImageFootprintFeaturesNV>();                                }
-const VkPhysicalDeviceShaderIntegerDotProductFeatures&                         getShaderIntegerDotProductFeatures                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderIntegerDotProductFeatures>();                               }
-const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                    getShaderIntegerFunctions2FeaturesINTEL         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>();                  }
-const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV&                                      getShaderSMBuiltinsFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV>();                                    }
-const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                     getShaderSubgroupExtendedTypesFeatures          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>();                   }
-const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR&     getShaderSubgroupUniformControlFlowFeatures     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>();   }
-const VkPhysicalDeviceShaderTerminateInvocationFeatures&                       getShaderTerminateInvocationFeatures            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderTerminateInvocationFeatures>();                             }
-const VkPhysicalDeviceShadingRateImageFeaturesNV&                                      getShadingRateImageFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShadingRateImageFeaturesNV>();                                    }
-const VkPhysicalDeviceSubgroupSizeControlFeatures&                                     getSubgroupSizeControlFeatures                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSubgroupSizeControlFeatures>();                                   }
-const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                    getSubpassShadingFeaturesHUAWEI                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>();                                  }
-const VkPhysicalDeviceSynchronization2Features&                                                getSynchronization2Features                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSynchronization2Features>();                                              }
-const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                         getTexelBufferAlignmentFeaturesEXT                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>();                               }
-const VkPhysicalDeviceTextureCompressionASTCHDRFeatures&                       getTextureCompressionASTCHDRFeatures            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTextureCompressionASTCHDRFeatures>();                             }
-const VkPhysicalDeviceTimelineSemaphoreFeatures&                                       getTimelineSemaphoreFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTimelineSemaphoreFeatures>();                                             }
-const VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                    getTransformFeedbackFeaturesEXT                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTransformFeedbackFeaturesEXT>();                                  }
-const VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                     getUniformBufferStandardLayoutFeatures          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceUniformBufferStandardLayoutFeatures>();                   }
-const VkPhysicalDeviceVariablePointersFeatures&                                                getVariablePointersFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVariablePointersFeatures>();                                              }
-const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                       getVertexAttributeDivisorFeaturesEXT            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>();                             }
-const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                      getVertexInputDynamicStateFeaturesEXT           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT>();                    }
-const VkPhysicalDeviceVulkanMemoryModelFeatures&                                       getVulkanMemoryModelFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVulkanMemoryModelFeatures>();                                             }
-const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&                getWorkgroupMemoryExplicitLayoutFeatures        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>();              }
-const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                                getYcbcr2Plane444FormatsFeaturesEXT                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>();                              }
-const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                     getYcbcrImageArraysFeaturesEXT                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>();                                   }
-const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures&           getZeroInitializeWorkgroupMemoryFeatures        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures>();                 }
+const VkPhysicalDevice16BitStorageFeatures&                                                    get16BitStorageFeatures                                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice16BitStorageFeatures>();                                                  }
+const VkPhysicalDevice4444FormatsFeaturesEXT&                                          get4444FormatsFeaturesEXT                                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice4444FormatsFeaturesEXT>();                                                }
+const VkPhysicalDevice8BitStorageFeatures&                                                     get8BitStorageFeatures                                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice8BitStorageFeatures>();                                                   }
+const VkPhysicalDeviceAccelerationStructureFeaturesKHR&                                getAccelerationStructureFeatures                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceAccelerationStructureFeaturesKHR>();                              }
+const VkPhysicalDeviceASTCDecodeFeaturesEXT&                                           getASTCDecodeFeaturesEXT                                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceASTCDecodeFeaturesEXT>();                                                 }
+const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                       getBlendOperationAdvancedFeaturesEXT                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>();                             }
+const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                           getBorderColorSwizzleFeaturesEXT                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>();                                 }
+const VkPhysicalDeviceBufferDeviceAddressFeatures&                                     getBufferDeviceAddressFeatures                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBufferDeviceAddressFeatures>();                                   }
+const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                          getBufferDeviceAddressFeaturesEXT                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>();                                }
+const VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                       getCoherentMemoryFeaturesAMD                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCoherentMemoryFeaturesAMD>();                                             }
+const VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                     getColorWriteEnableFeaturesEXT                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceColorWriteEnableFeaturesEXT>();                                   }
+const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                      getComputeShaderDerivativesFeatures                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>();                    }
+const VkPhysicalDeviceConditionalRenderingFeaturesEXT&                         getConditionalRenderingFeaturesEXT                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceConditionalRenderingFeaturesEXT>();                               }
+const VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                     getCooperativeMatrixFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCooperativeMatrixFeaturesNV>();                                   }
+const VkPhysicalDeviceCornerSampledImageFeaturesNV&                                    getCornerSampledImageFeatures                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCornerSampledImageFeaturesNV>();                                  }
+const VkPhysicalDeviceCoverageReductionModeFeaturesNV&                         getCoverageReductionModeFeatures                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCoverageReductionModeFeaturesNV>();                               }
+const VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                    getCustomBorderColorFeaturesEXT                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCustomBorderColorFeaturesEXT>();                                  }
+const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&      getDedicatedAllocationImageAliasingFeatures             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>();    }
+const VkPhysicalDeviceDepthClipControlFeaturesEXT&                                     getDepthClipControlFeaturesEXT                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipControlFeaturesEXT>();                                   }
+const VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                      getDepthClipEnableFeaturesEXT                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipEnableFeaturesEXT>();                                    }
+const VkPhysicalDeviceDescriptorIndexingFeatures&                                      getDescriptorIndexingFeatures                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorIndexingFeatures>();                                    }
+const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&           getDescriptorSetHostMappingFeaturesVALVE                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>();                 }
+const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                       getDeviceGeneratedCommandsFeatures                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>();                             }
+const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                           getDeviceMemoryReportFeaturesEXT                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>();                                 }
+const VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                     getDiagnosticsConfigFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>();                                   }
+const VkPhysicalDeviceDynamicRenderingFeatures&                                                getDynamicRenderingFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDynamicRenderingFeatures>();                                              }
+const VkPhysicalDeviceExclusiveScissorFeaturesNV&                                      getExclusiveScissorFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExclusiveScissorFeaturesNV>();                                    }
+const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                         getExtendedDynamicStateFeaturesEXT                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>();                               }
+const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&                                getExtendedDynamicState2FeaturesEXT                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>();                              }
+const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                    getExternalMemoryRDMAFeatures                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>();                                  }
+const VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                           getFragmentDensityMapFeaturesEXT                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>();                                 }
+const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&                          getFragmentDensityMap2FeaturesEXT                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>();                                }
+const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                    getFragmentDensityMapOffsetFeaturesQCOM                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>();                  }
+const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                     getFragmentShaderBarycentricFeatures                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>();                   }
+const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                      getFragmentShaderInterlockFeaturesEXT                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>();                    }
+const VkPhysicalDeviceFragmentShadingRateFeaturesKHR&                          getFragmentShadingRateFeatures                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>();                                }
+const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&                      getFragmentShadingRateEnumsFeatures                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>();                    }
+const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR&                          getGlobalPriorityQueryFeatures                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>();                                }
+const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT&                      getGraphicsPipelineLibraryFeaturesEXT                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>();                    }
+const VkPhysicalDeviceHostQueryResetFeatures&                                          getHostQueryResetFeatures                                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceHostQueryResetFeatures>();                                                }
+const VkPhysicalDeviceImagelessFramebufferFeatures&                                    getImagelessFramebufferFeatures                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImagelessFramebufferFeatures>();                                  }
+const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                      getImage2DViewOf3DFeaturesEXT                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>();                                    }
+const VkPhysicalDeviceImageCompressionControlFeaturesEXT&                      getImageCompressionControlFeaturesEXT                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageCompressionControlFeaturesEXT>();                    }
+const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT&     getImageCompressionControlSwapchainFeaturesEXT  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>();   }
+const VkPhysicalDeviceImageRobustnessFeatures&                                         getImageRobustnessFeatures                                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageRobustnessFeatures>();                                               }
+const VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                      getImageViewMinLodFeaturesEXT                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageViewMinLodFeaturesEXT>();                                    }
+const VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                       getIndexTypeUint8FeaturesEXT                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>();                                             }
+const VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                      getInheritedViewportScissorFeatures                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>();                    }
+const VkPhysicalDeviceInlineUniformBlockFeatures&                                      getInlineUniformBlockFeatures                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInlineUniformBlockFeatures>();                                    }
+const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&                                    getInvocationMaskFeaturesHUAWEI                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>();                                  }
+const VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                         getLinearColorAttachmentFeatures                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>();                               }
+const VkPhysicalDeviceLineRasterizationFeaturesEXT&                                    getLineRasterizationFeaturesEXT                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceLineRasterizationFeaturesEXT>();                                  }
+const VkPhysicalDeviceMaintenance4Features&                                                    getMaintenance4Features                                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMaintenance4Features>();                                                  }
+const VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                       getMemoryPriorityFeaturesEXT                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMemoryPriorityFeaturesEXT>();                                             }
+const VkPhysicalDeviceMeshShaderFeaturesNV&                                                    getMeshShaderFeatures                                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMeshShaderFeaturesNV>();                                                  }
+const VkPhysicalDeviceMultiviewFeatures&                                                       getMultiviewFeatures                                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMultiviewFeatures>();                                                             }
+const VkPhysicalDeviceMultiDrawFeaturesEXT&                                                    getMultiDrawFeaturesEXT                                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMultiDrawFeaturesEXT>();                                                  }
+const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                      getMutableDescriptorTypeFeaturesVALVE                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>();                    }
+const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                    getPageableDeviceLocalMemoryFeaturesEXT                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>();                  }
+const VkPhysicalDevicePerformanceQueryFeaturesKHR&                                     getPerformanceQueryFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePerformanceQueryFeaturesKHR>();                                   }
+const VkPhysicalDevicePipelineCreationCacheControlFeatures&                    getPipelineCreationCacheControlFeatures                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePipelineCreationCacheControlFeatures>();                  }
+const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&         getPipelineExecutablePropertiesFeatures                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>();               }
+const VkPhysicalDevicePipelinePropertiesFeaturesEXT&                           getPipelinePropertiesFeaturesEXT                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePipelinePropertiesFeaturesEXT>();                                 }
+const VkPhysicalDevicePortabilitySubsetFeaturesKHR&                                    getPortabilitySubsetFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePortabilitySubsetFeaturesKHR>();                                  }
+const VkPhysicalDevicePresentIdFeaturesKHR&                                                    getPresentIdFeatures                                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePresentIdFeaturesKHR>();                                                  }
+const VkPhysicalDevicePresentWaitFeaturesKHR&                                          getPresentWaitFeatures                                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePresentWaitFeaturesKHR>();                                                }
+const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&                     getPrimitivesGeneratedQueryFeaturesEXT                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>();                   }
+const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&         getPrimitiveTopologyListRestartFeaturesEXT              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>();               }
+const VkPhysicalDevicePrivateDataFeatures&                                                     getPrivateDataFeatures                                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePrivateDataFeatures>();                                                   }
+const VkPhysicalDeviceProtectedMemoryFeatures&                                         getProtectedMemoryFeatures                                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceProtectedMemoryFeatures>();                                               }
+const VkPhysicalDeviceProvokingVertexFeaturesEXT&                                      getProvokingVertexFeaturesEXT                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceProvokingVertexFeaturesEXT>();                                    }
+const VkPhysicalDeviceRayQueryFeaturesKHR&                                                     getRayQueryFeatures                                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRayQueryFeaturesKHR>();                                                   }
+const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR&                       getRayTracingMaintenance1Features                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>();                             }
+const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&                          getRayTracingMotionBlurFeatures                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>();                                }
+const VkPhysicalDeviceRayTracingPipelineFeaturesKHR&                           getRayTracingPipelineFeatures                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>();                                 }
+const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                    getRepresentativeFragmentTestFeatures                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>();                  }
+const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                      getRGBA10X6FormatsFeaturesEXT                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT>();                                    }
+const VkPhysicalDeviceRobustness2FeaturesEXT&                                          getRobustness2FeaturesEXT                                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRobustness2FeaturesEXT>();                                                }
+const VkPhysicalDeviceSamplerYcbcrConversionFeatures&                          getSamplerYcbcrConversionFeatures                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSamplerYcbcrConversionFeatures>();                                }
+const VkPhysicalDeviceScalarBlockLayoutFeatures&                                       getScalarBlockLayoutFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceScalarBlockLayoutFeatures>();                                             }
+const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures&                     getSeparateDepthStencilLayoutsFeatures                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>();                   }
+const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT&                                    getShaderAtomicFloatFeaturesEXT                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT>();                                  }
+const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT&                           getShaderAtomicFloat2FeaturesEXT                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT>();                                 }
+const VkPhysicalDeviceShaderAtomicInt64Features&                                       getShaderAtomicInt64Features                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderAtomicInt64Features>();                                             }
+const VkPhysicalDeviceShaderClockFeaturesKHR&                                          getShaderClockFeatures                                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderClockFeaturesKHR>();                                                }
+const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures&          getShaderDemoteToHelperInvocationFeatures               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>();                }
+const VkPhysicalDeviceShaderDrawParametersFeatures&                                    getShaderDrawParametersFeatures                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDrawParametersFeatures>();                                  }
+const VkPhysicalDeviceShaderFloat16Int8Features&                                       getShaderFloat16Int8Features                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderFloat16Int8Features>();                                             }
+const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT&                       getShaderImageAtomicInt64FeaturesEXT                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT>();                             }
+const VkPhysicalDeviceShaderImageFootprintFeaturesNV&                          getShaderImageFootprintFeatures                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderImageFootprintFeaturesNV>();                                }
+const VkPhysicalDeviceShaderIntegerDotProductFeatures&                         getShaderIntegerDotProductFeatures                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderIntegerDotProductFeatures>();                               }
+const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                    getShaderIntegerFunctions2FeaturesINTEL                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>();                  }
+const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT&                       getShaderModuleIdentifierFeaturesEXT                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT>();                             }
+const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV&                                      getShaderSMBuiltinsFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV>();                                    }
+const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                     getShaderSubgroupExtendedTypesFeatures                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>();                   }
+const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR&     getShaderSubgroupUniformControlFlowFeatures             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>();   }
+const VkPhysicalDeviceShaderTerminateInvocationFeatures&                       getShaderTerminateInvocationFeatures                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderTerminateInvocationFeatures>();                             }
+const VkPhysicalDeviceShadingRateImageFeaturesNV&                                      getShadingRateImageFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShadingRateImageFeaturesNV>();                                    }
+const VkPhysicalDeviceSubgroupSizeControlFeatures&                                     getSubgroupSizeControlFeatures                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSubgroupSizeControlFeatures>();                                   }
+const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT&                         getSubpassMergeFeedbackFeaturesEXT                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT>();                               }
+const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                    getSubpassShadingFeaturesHUAWEI                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>();                                  }
+const VkPhysicalDeviceSynchronization2Features&                                                getSynchronization2Features                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSynchronization2Features>();                                              }
+const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                         getTexelBufferAlignmentFeaturesEXT                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>();                               }
+const VkPhysicalDeviceTextureCompressionASTCHDRFeatures&                       getTextureCompressionASTCHDRFeatures                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTextureCompressionASTCHDRFeatures>();                             }
+const VkPhysicalDeviceTimelineSemaphoreFeatures&                                       getTimelineSemaphoreFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTimelineSemaphoreFeatures>();                                             }
+const VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                    getTransformFeedbackFeaturesEXT                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTransformFeedbackFeaturesEXT>();                                  }
+const VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                     getUniformBufferStandardLayoutFeatures                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceUniformBufferStandardLayoutFeatures>();                   }
+const VkPhysicalDeviceVariablePointersFeatures&                                                getVariablePointersFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVariablePointersFeatures>();                                              }
+const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                       getVertexAttributeDivisorFeaturesEXT                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>();                             }
+const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                      getVertexInputDynamicStateFeaturesEXT                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT>();                    }
+const VkPhysicalDeviceVulkanMemoryModelFeatures&                                       getVulkanMemoryModelFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVulkanMemoryModelFeatures>();                                             }
+const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&                getWorkgroupMemoryExplicitLayoutFeatures                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>();              }
+const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                                getYcbcr2Plane444FormatsFeaturesEXT                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>();                              }
+const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                     getYcbcrImageArraysFeaturesEXT                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>();                                   }
+const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures&           getZeroInitializeWorkgroupMemoryFeatures                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures>();                 }
index e7ca79c..75f50d3 100644 (file)
@@ -220,6 +220,7 @@ GetPipelineExecutableStatisticsKHRFunc                              getPipelineExecutableStatisticsKHR;
 GetPipelineExecutableInternalRepresentationsKHRFunc    getPipelineExecutableInternalRepresentationsKHR;
 CmdWriteBufferMarker2AMDFunc                                           cmdWriteBufferMarker2AMD;
 GetQueueCheckpointData2NVFunc                                          getQueueCheckpointData2NV;
+CmdTraceRaysIndirect2KHRFunc                                           cmdTraceRaysIndirect2KHR;
 DebugMarkerSetObjectTagEXTFunc                                         debugMarkerSetObjectTagEXT;
 DebugMarkerSetObjectNameEXTFunc                                                debugMarkerSetObjectNameEXT;
 CmdDebugMarkerBeginEXTFunc                                                     cmdDebugMarkerBeginEXT;
@@ -310,11 +311,13 @@ CmdBindPipelineShaderGroupNVFunc                                  cmdBindPipelineShaderGroupNV;
 CreateIndirectCommandsLayoutNVFunc                                     createIndirectCommandsLayoutNV;
 DestroyIndirectCommandsLayoutNVFunc                                    destroyIndirectCommandsLayoutNV;
 CmdSetFragmentShadingRateEnumNVFunc                                    cmdSetFragmentShadingRateEnumNV;
+GetImageSubresourceLayout2EXTFunc                                      getImageSubresourceLayout2EXT;
 CmdSetVertexInputEXTFunc                                                       cmdSetVertexInputEXT;
 GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIFunc      getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI;
 CmdSubpassShadingHUAWEIFunc                                                    cmdSubpassShadingHUAWEI;
 CmdBindInvocationMaskHUAWEIFunc                                                cmdBindInvocationMaskHUAWEI;
 GetMemoryRemoteAddressNVFunc                                           getMemoryRemoteAddressNV;
+GetPipelinePropertiesEXTFunc                                           getPipelinePropertiesEXT;
 CmdSetPatchControlPointsEXTFunc                                                cmdSetPatchControlPointsEXT;
 CmdSetLogicOpEXTFunc                                                           cmdSetLogicOpEXT;
 CmdSetColorWriteEnableEXTFunc                                          cmdSetColorWriteEnableEXT;
@@ -323,6 +326,8 @@ CmdDrawMultiIndexedEXTFunc                                                  cmdDrawMultiIndexedEXT;
 SetDeviceMemoryPriorityEXTFunc                                         setDeviceMemoryPriorityEXT;
 GetDescriptorSetLayoutHostMappingInfoVALVEFunc         getDescriptorSetLayoutHostMappingInfoVALVE;
 GetDescriptorSetHostMappingVALVEFunc                           getDescriptorSetHostMappingVALVE;
+GetShaderModuleIdentifierEXTFunc                                       getShaderModuleIdentifierEXT;
+GetShaderModuleCreateInfoIdentifierEXTFunc                     getShaderModuleCreateInfoIdentifierEXT;
 CreateAccelerationStructureKHRFunc                                     createAccelerationStructureKHR;
 DestroyAccelerationStructureKHRFunc                                    destroyAccelerationStructureKHR;
 CmdBuildAccelerationStructuresKHRFunc                          cmdBuildAccelerationStructuresKHR;
index bbc1e93..ccb5945 100644 (file)
@@ -48,6 +48,7 @@ namespace vk
 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product"
+#define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier"
 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
 #define DECL_SUBGROUP_EXTENSION_NAME "core_property"
 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
@@ -258,55 +259,58 @@ template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentShadingRateEnumsPro
 template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(VkPhysicalDeviceFragmentDensityMap2PropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceDrmPropertiesEXT>(VkPhysicalDeviceDrmPropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceSubpassShadingPropertiesHUAWEI>(VkPhysicalDeviceSubpassShadingPropertiesHUAWEI&, const AllPropertiesBlobs&) {}
+template<> void initPropertyFromBlob<VkPhysicalDevicePipelinePropertiesFeaturesEXT>(VkPhysicalDevicePipelinePropertiesFeaturesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceMultiDrawPropertiesEXT>(VkPhysicalDeviceMultiDrawPropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM&, const AllPropertiesBlobs&) {}
+template<> void initPropertyFromBlob<VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT>(VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceAccelerationStructurePropertiesKHR>(VkPhysicalDeviceAccelerationStructurePropertiesKHR&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceRayTracingPipelinePropertiesKHR>(VkPhysicalDeviceRayTracingPipelinePropertiesKHR&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDevicePortabilitySubsetPropertiesKHR>(VkPhysicalDevicePortabilitySubsetPropertiesKHR&, const AllPropertiesBlobs&) {}
 
 
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceAccelerationStructurePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 50}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 49}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceConservativeRasterizationPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME, VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION, 48}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCooperativeMatrixPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 47}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCustomBorderColorPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 46}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDepthStencilResolveProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION, 45}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDescriptorIndexingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 44}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 43}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDiscardRectanglePropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT, VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME, VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION, 42}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDriverProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION, 41}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDrmPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION, 40}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceExternalMemoryHostPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT, VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION, 39}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFloatControlsProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION, 38}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 37}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 36}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 35}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 34}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 33}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION, 32}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceIDProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 31}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceInlineUniformBlockProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 30}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceLineRasterizationPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 29}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMaintenance3Properties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, VK_KHR_MAINTENANCE_3_EXTENSION_NAME, VK_KHR_MAINTENANCE_3_SPEC_VERSION, 28}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMaintenance4Properties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_SPEC_VERSION, 27}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMeshShaderPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 26}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMultiviewProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 25}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX, VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME, VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION, 24}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMultiDrawPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION, 23}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePerformanceQueryPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 22}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePointClippingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, VK_KHR_MAINTENANCE_2_EXTENSION_NAME, VK_KHR_MAINTENANCE_2_SPEC_VERSION, 21}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePortabilitySubsetPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 20}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceProtectedMemoryProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 19}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceProvokingVertexPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION, 18}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePushDescriptorPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR, VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME, VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION, 17}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceRayTracingPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV, VK_NV_RAY_TRACING_EXTENSION_NAME, VK_NV_RAY_TRACING_SPEC_VERSION, 16}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceRayTracingPipelinePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 15}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceRobustness2PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 14}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSamplerFilterMinmaxProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME, VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION, 13}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSampleLocationsPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT, VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME, VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION, 12}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderCorePropertiesAMD>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD, VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION, 11}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderCoreProperties2AMD>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD, VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION, 10}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderIntegerDotProductProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION, 9}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceAccelerationStructurePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 51}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 50}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceConservativeRasterizationPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME, VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION, 49}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCooperativeMatrixPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 48}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCustomBorderColorPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 47}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDepthStencilResolveProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION, 46}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDescriptorIndexingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 45}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 44}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDiscardRectanglePropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT, VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME, VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION, 43}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDriverProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION, 42}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDrmPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION, 41}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceExternalMemoryHostPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT, VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION, 40}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFloatControlsProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION, 39}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 38}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 37}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 36}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 35}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 34}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION, 33}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceIDProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 32}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceInlineUniformBlockProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 31}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceLineRasterizationPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 30}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMaintenance3Properties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, VK_KHR_MAINTENANCE_3_EXTENSION_NAME, VK_KHR_MAINTENANCE_3_SPEC_VERSION, 29}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMaintenance4Properties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_SPEC_VERSION, 28}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMeshShaderPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 27}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMultiviewProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 26}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX, VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME, VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION, 25}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMultiDrawPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION, 24}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePerformanceQueryPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 23}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePointClippingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, VK_KHR_MAINTENANCE_2_EXTENSION_NAME, VK_KHR_MAINTENANCE_2_SPEC_VERSION, 22}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePortabilitySubsetPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 21}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceProtectedMemoryProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 20}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceProvokingVertexPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION, 19}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePushDescriptorPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR, VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME, VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION, 18}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceRayTracingPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV, VK_NV_RAY_TRACING_EXTENSION_NAME, VK_NV_RAY_TRACING_SPEC_VERSION, 17}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceRayTracingPipelinePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 16}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceRobustness2PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 15}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSamplerFilterMinmaxProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME, VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION, 14}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSampleLocationsPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT, VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME, VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION, 13}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderCorePropertiesAMD>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD, VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION, 12}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderCoreProperties2AMD>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD, VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION, 11}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderIntegerDotProductProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION, 10}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT, VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME, VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION, 9}; }
 template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShadingRateImagePropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 8}; }
 template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSubgroupProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES, DECL_SUBGROUP_EXTENSION_NAME, 0, 7}; }
 template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSubgroupSizeControlProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 6}; }
@@ -361,6 +365,7 @@ static const PropertyStructCreationData propertyStructCreationArray[] =
        { createPropertyStructWrapper<VkPhysicalDeviceShaderCorePropertiesAMD>, VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceShaderCoreProperties2AMD>, VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceShaderIntegerDotProductProperties>, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION },
+       { createPropertyStructWrapper<VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT>, VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME, VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceShadingRateImagePropertiesNV>, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceSubgroupProperties>, DECL_SUBGROUP_EXTENSION_NAME, 0 },
        { createPropertyStructWrapper<VkPhysicalDeviceSubgroupSizeControlProperties>, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION },
index c7694eb..ed27c7e 100644 (file)
@@ -44,6 +44,7 @@ const vk::VkPhysicalDeviceSampleLocationsPropertiesEXT&                               getSampleLocationsPro
 const vk::VkPhysicalDeviceShaderCorePropertiesAMD&                                     getShaderCorePropertiesAMD                                      (void) const;
 const vk::VkPhysicalDeviceShaderCoreProperties2AMD&                                    getShaderCoreProperties2AMD                                     (void) const;
 const vk::VkPhysicalDeviceShaderIntegerDotProductProperties&           getShaderIntegerDotProductProperties            (void) const;
+const vk::VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT&         getShaderModuleIdentifierPropertiesEXT          (void) const;
 const vk::VkPhysicalDeviceShadingRateImagePropertiesNV&                                getShadingRateImageProperties                           (void) const;
 const vk::VkPhysicalDeviceSubgroupProperties&                                          getSubgroupProperties                                           (void) const;
 const vk::VkPhysicalDeviceSubgroupSizeControlProperties&                       getSubgroupSizeControlProperties                        (void) const;
index f0b5ad5..242be67 100644 (file)
@@ -44,6 +44,7 @@ const vk::VkPhysicalDeviceSampleLocationsPropertiesEXT&                               Context::getSampleLoc
 const vk::VkPhysicalDeviceShaderCorePropertiesAMD&                                     Context::getShaderCorePropertiesAMD                                     (void) const { return m_device->getShaderCorePropertiesAMD();                                   }
 const vk::VkPhysicalDeviceShaderCoreProperties2AMD&                                    Context::getShaderCoreProperties2AMD                            (void) const { return m_device->getShaderCoreProperties2AMD();                                  }
 const vk::VkPhysicalDeviceShaderIntegerDotProductProperties&           Context::getShaderIntegerDotProductProperties           (void) const { return m_device->getShaderIntegerDotProductProperties();                 }
+const vk::VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT&         Context::getShaderModuleIdentifierPropertiesEXT         (void) const { return m_device->getShaderModuleIdentifierPropertiesEXT();               }
 const vk::VkPhysicalDeviceShadingRateImagePropertiesNV&                                Context::getShadingRateImageProperties                          (void) const { return m_device->getShadingRateImageProperties();                                }
 const vk::VkPhysicalDeviceSubgroupProperties&                                          Context::getSubgroupProperties                                          (void) const { return m_device->getSubgroupProperties();                                                }
 const vk::VkPhysicalDeviceSubgroupSizeControlProperties&                       Context::getSubgroupSizeControlProperties                       (void) const { return m_device->getSubgroupSizeControlProperties();                             }
index 0e33779..1310fd8 100644 (file)
@@ -44,6 +44,7 @@ const VkPhysicalDeviceSampleLocationsPropertiesEXT&                           getSampleLocationsPropert
 const VkPhysicalDeviceShaderCorePropertiesAMD&                                 getShaderCorePropertiesAMD                                      (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceShaderCorePropertiesAMD>();                                    }
 const VkPhysicalDeviceShaderCoreProperties2AMD&                                        getShaderCoreProperties2AMD                                     (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceShaderCoreProperties2AMD>();                                   }
 const VkPhysicalDeviceShaderIntegerDotProductProperties&               getShaderIntegerDotProductProperties            (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceShaderIntegerDotProductProperties>();                  }
+const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT&             getShaderModuleIdentifierPropertiesEXT          (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT>();                }
 const VkPhysicalDeviceShadingRateImagePropertiesNV&                            getShadingRateImageProperties                           (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceShadingRateImagePropertiesNV>();                               }
 const VkPhysicalDeviceSubgroupProperties&                                              getSubgroupProperties                                           (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceSubgroupProperties>();                                                 }
 const VkPhysicalDeviceSubgroupSizeControlProperties&                   getSubgroupSizeControlProperties                        (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceSubgroupSizeControlProperties>();                              }
index 6255d75..0e345db 100644 (file)
@@ -335,6 +335,10 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_KHR_ray_tracing_maintenance1")
+       {
+               return;
+       }
        if (extName == "VK_KHR_portability_enumeration")
        {
                return;
@@ -912,6 +916,10 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_image_compression_control")
+       {
+               return;
+       }
        if (extName == "VK_EXT_4444_formats")
        {
                return;
@@ -962,6 +970,10 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_pipeline_properties")
+       {
+               return;
+       }
        if (extName == "VK_EXT_extended_dynamic_state2")
        {
                return;
@@ -1018,6 +1030,18 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_image_compression_control_swapchain")
+       {
+               return;
+       }
+       if (extName == "VK_EXT_subpass_merge_feedback")
+       {
+               return;
+       }
+       if (extName == "VK_EXT_shader_module_identifier")
+       {
+               return;
+       }
        if (extName == "VK_KHR_acceleration_structure")
        {
                return;
@@ -1553,6 +1577,11 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_KHR_ray_tracing_maintenance1")
+       {
+               functions.push_back("vkCmdTraceRaysIndirect2KHR");
+               return;
+       }
        if (extName == "VK_KHR_portability_enumeration")
        {
                return;
@@ -2222,6 +2251,11 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_EXT_image_compression_control")
+       {
+               functions.push_back("vkGetImageSubresourceLayout2EXT");
+               return;
+       }
        if (extName == "VK_EXT_4444_formats")
        {
                return;
@@ -2275,6 +2309,11 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
                functions.push_back("vkGetMemoryRemoteAddressNV");
                return;
        }
+       if (extName == "VK_EXT_pipeline_properties")
+       {
+               functions.push_back("vkGetPipelinePropertiesEXT");
+               return;
+       }
        if (extName == "VK_EXT_extended_dynamic_state2")
        {
                functions.push_back("vkCmdSetPatchControlPointsEXT");
@@ -2342,6 +2381,20 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_EXT_image_compression_control_swapchain")
+       {
+               return;
+       }
+       if (extName == "VK_EXT_subpass_merge_feedback")
+       {
+               return;
+       }
+       if (extName == "VK_EXT_shader_module_identifier")
+       {
+               functions.push_back("vkGetShaderModuleIdentifierEXT");
+               functions.push_back("vkGetShaderModuleCreateInfoIdentifierEXT");
+               return;
+       }
        if (extName == "VK_KHR_acceleration_structure")
        {
                functions.push_back("vkCreateAccelerationStructureKHR");
@@ -2606,6 +2659,7 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        "VK_KHR_pipeline_executable_properties",
        "VK_KHR_synchronization2",
        "VK_KHR_copy_commands2",
+       "VK_KHR_ray_tracing_maintenance1",
        "VK_KHR_maintenance4",
        "VK_EXT_debug_marker",
        "VK_EXT_transform_feedback",
@@ -2639,15 +2693,18 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        "VK_NV_device_generated_commands",
        "VK_EXT_private_data",
        "VK_NV_fragment_shading_rate_enums",
+       "VK_EXT_image_compression_control",
        "VK_EXT_vertex_input_dynamic_state",
        "VK_HUAWEI_subpass_shading",
        "VK_HUAWEI_invocation_mask",
        "VK_NV_external_memory_rdma",
+       "VK_EXT_pipeline_properties",
        "VK_EXT_extended_dynamic_state2",
        "VK_EXT_color_write_enable",
        "VK_EXT_multi_draw",
        "VK_EXT_pageable_device_local_memory",
        "VK_VALVE_descriptor_set_host_mapping",
+       "VK_EXT_shader_module_identifier",
        "VK_KHR_acceleration_structure",
        "VK_KHR_ray_tracing_pipeline",
        "VK_ANDROID_external_memory_android_hardware_buffer",
index b5f286e..343e300 100644 (file)
@@ -323,6 +323,7 @@ typedef VKAPI_ATTR void                                     (VKAPI_CALL* CmdCopyBufferToImage2KHRFunc)
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdCopyImageToBuffer2KHRFunc)                                                                                      (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdBlitImage2KHRFunc)                                                                                                      (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdResolveImage2KHRFunc)                                                                                           (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdTraceRaysIndirect2KHRFunc)                                                                                      (VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetDeviceBufferMemoryRequirementsKHRFunc)                                                          (VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetDeviceImageMemoryRequirementsKHRFunc)                                                           (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetDeviceImageSparseMemoryRequirementsKHRFunc)                                                     (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
@@ -450,6 +451,7 @@ typedef VKAPI_ATTR void                                     (VKAPI_CALL* DestroyPrivateDataSlotEXTFunc)
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* SetPrivateDataEXTFunc)                                                                                                     (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetPrivateDataEXTFunc)                                                                                                     (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetFragmentShadingRateEnumNVFunc)                                                                       (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetImageSubresourceLayout2EXTFunc)                                                                         (VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* AcquireWinrtDisplayNVFunc)                                                                                         (VkPhysicalDevice physicalDevice, VkDisplayKHR display);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetWinrtDisplayNVFunc)                                                                                                     (VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetVertexInputEXTFunc)                                                                                          (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
@@ -457,6 +459,7 @@ typedef VKAPI_ATTR VkResult                         (VKAPI_CALL* GetDeviceSubpassShadingMaxWorkgroupS
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSubpassShadingHUAWEIFunc)                                                                                       (VkCommandBuffer commandBuffer);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdBindInvocationMaskHUAWEIFunc)                                                                           (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetMemoryRemoteAddressNVFunc)                                                                                      (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetPipelinePropertiesEXTFunc)                                                                                      (VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetPatchControlPointsEXTFunc)                                                                           (VkCommandBuffer commandBuffer, uint32_t patchControlPoints);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetRasterizerDiscardEnableEXTFunc)                                                                      (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetDepthBiasEnableEXTFunc)                                                                                      (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
@@ -468,6 +471,8 @@ typedef VKAPI_ATTR void                                     (VKAPI_CALL* CmdDrawMultiIndexedEXTFunc)                                                                                        (
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* SetDeviceMemoryPriorityEXTFunc)                                                                            (VkDevice device, VkDeviceMemory memory, float priority);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetDescriptorSetLayoutHostMappingInfoVALVEFunc)                                            (VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetDescriptorSetHostMappingVALVEFunc)                                                                      (VkDevice device, VkDescriptorSet descriptorSet, void** ppData);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetShaderModuleIdentifierEXTFunc)                                                                          (VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetShaderModuleCreateInfoIdentifierEXTFunc)                                                        (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* CreateAccelerationStructureKHRFunc)                                                                        (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* DestroyAccelerationStructureKHRFunc)                                                                       (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdBuildAccelerationStructuresKHRFunc)                                                                     (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
index 97dfd8e..e649f70 100644 (file)
@@ -1392,6 +1392,11 @@ template<> VkStructureType getStructureType<VkPhysicalDeviceWorkgroupMemoryExpli
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR;
+}
+
 template<> VkStructureType getStructureType<VkDebugReportCallbackCreateInfoEXT> (void)
 {
        return VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
@@ -2307,6 +2312,31 @@ template<> VkStructureType getStructureType<VkCopyCommandTransformInfoQCOM> (voi
        return VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceImageCompressionControlFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkImageCompressionControlEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT;
+}
+
+template<> VkStructureType getStructureType<VkSubresourceLayout2EXT> (void)
+{
+       return VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT;
+}
+
+template<> VkStructureType getStructureType<VkImageSubresource2EXT> (void)
+{
+       return VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT;
+}
+
+template<> VkStructureType getStructureType<VkImageCompressionPropertiesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT;
+}
+
 template<> VkStructureType getStructureType<VkPhysicalDevice4444FormatsFeaturesEXT> (void)
 {
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT;
@@ -2397,6 +2427,16 @@ template<> VkStructureType getStructureType<VkPhysicalDeviceExternalMemoryRDMAFe
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV;
 }
 
+template<> VkStructureType getStructureType<VkPipelinePropertiesIdentifierEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDevicePipelinePropertiesFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT;
+}
+
 template<> VkStructureType getStructureType<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT> (void)
 {
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT;
@@ -2492,6 +2532,51 @@ template<> VkStructureType getStructureType<VkPhysicalDeviceLinearColorAttachmen
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkRenderPassCreationControlEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT;
+}
+
+template<> VkStructureType getStructureType<VkRenderPassCreationFeedbackInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkRenderPassSubpassFeedbackInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPipelineShaderStageModuleIdentifierCreateInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkShaderModuleIdentifierEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT;
+}
+
 template<> VkStructureType getStructureType<VkAccelerationStructureGeometryTrianglesDataKHR> (void)
 {
        return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR;
index be4297d..4ccf640 100644 (file)
@@ -348,6 +348,7 @@ m_vk.getPipelineExecutableStatisticsKHR                                     = (GetPipelineExecutableStatisticsKH
 m_vk.getPipelineExecutableInternalRepresentationsKHR   = (GetPipelineExecutableInternalRepresentationsKHRFunc) GET_PROC_ADDR("vkGetPipelineExecutableInternalRepresentationsKHR");
 m_vk.cmdWriteBufferMarker2AMD                                                  = (CmdWriteBufferMarker2AMDFunc)                                                GET_PROC_ADDR("vkCmdWriteBufferMarker2AMD");
 m_vk.getQueueCheckpointData2NV                                                 = (GetQueueCheckpointData2NVFunc)                                               GET_PROC_ADDR("vkGetQueueCheckpointData2NV");
+m_vk.cmdTraceRaysIndirect2KHR                                                  = (CmdTraceRaysIndirect2KHRFunc)                                                GET_PROC_ADDR("vkCmdTraceRaysIndirect2KHR");
 m_vk.debugMarkerSetObjectTagEXT                                                        = (DebugMarkerSetObjectTagEXTFunc)                                              GET_PROC_ADDR("vkDebugMarkerSetObjectTagEXT");
 m_vk.debugMarkerSetObjectNameEXT                                               = (DebugMarkerSetObjectNameEXTFunc)                                             GET_PROC_ADDR("vkDebugMarkerSetObjectNameEXT");
 m_vk.cmdDebugMarkerBeginEXT                                                            = (CmdDebugMarkerBeginEXTFunc)                                                  GET_PROC_ADDR("vkCmdDebugMarkerBeginEXT");
@@ -438,11 +439,13 @@ m_vk.cmdBindPipelineShaderGroupNV                                         = (CmdBindPipelineShaderGroupNVFunc)
 m_vk.createIndirectCommandsLayoutNV                                            = (CreateIndirectCommandsLayoutNVFunc)                                  GET_PROC_ADDR("vkCreateIndirectCommandsLayoutNV");
 m_vk.destroyIndirectCommandsLayoutNV                                   = (DestroyIndirectCommandsLayoutNVFunc)                                 GET_PROC_ADDR("vkDestroyIndirectCommandsLayoutNV");
 m_vk.cmdSetFragmentShadingRateEnumNV                                   = (CmdSetFragmentShadingRateEnumNVFunc)                                 GET_PROC_ADDR("vkCmdSetFragmentShadingRateEnumNV");
+m_vk.getImageSubresourceLayout2EXT                                             = (GetImageSubresourceLayout2EXTFunc)                                   GET_PROC_ADDR("vkGetImageSubresourceLayout2EXT");
 m_vk.cmdSetVertexInputEXT                                                              = (CmdSetVertexInputEXTFunc)                                                    GET_PROC_ADDR("vkCmdSetVertexInputEXT");
 m_vk.getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI             = (GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIFunc)   GET_PROC_ADDR("vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI");
 m_vk.cmdSubpassShadingHUAWEI                                                   = (CmdSubpassShadingHUAWEIFunc)                                                 GET_PROC_ADDR("vkCmdSubpassShadingHUAWEI");
 m_vk.cmdBindInvocationMaskHUAWEI                                               = (CmdBindInvocationMaskHUAWEIFunc)                                             GET_PROC_ADDR("vkCmdBindInvocationMaskHUAWEI");
 m_vk.getMemoryRemoteAddressNV                                                  = (GetMemoryRemoteAddressNVFunc)                                                GET_PROC_ADDR("vkGetMemoryRemoteAddressNV");
+m_vk.getPipelinePropertiesEXT                                                  = (GetPipelinePropertiesEXTFunc)                                                GET_PROC_ADDR("vkGetPipelinePropertiesEXT");
 m_vk.cmdSetPatchControlPointsEXT                                               = (CmdSetPatchControlPointsEXTFunc)                                             GET_PROC_ADDR("vkCmdSetPatchControlPointsEXT");
 m_vk.cmdSetLogicOpEXT                                                                  = (CmdSetLogicOpEXTFunc)                                                                GET_PROC_ADDR("vkCmdSetLogicOpEXT");
 m_vk.cmdSetColorWriteEnableEXT                                                 = (CmdSetColorWriteEnableEXTFunc)                                               GET_PROC_ADDR("vkCmdSetColorWriteEnableEXT");
@@ -451,6 +454,8 @@ m_vk.cmdDrawMultiIndexedEXT                                                         = (CmdDrawMultiIndexedEXTFunc)                                                  GET_PROC
 m_vk.setDeviceMemoryPriorityEXT                                                        = (SetDeviceMemoryPriorityEXTFunc)                                              GET_PROC_ADDR("vkSetDeviceMemoryPriorityEXT");
 m_vk.getDescriptorSetLayoutHostMappingInfoVALVE                        = (GetDescriptorSetLayoutHostMappingInfoVALVEFunc)              GET_PROC_ADDR("vkGetDescriptorSetLayoutHostMappingInfoVALVE");
 m_vk.getDescriptorSetHostMappingVALVE                                  = (GetDescriptorSetHostMappingVALVEFunc)                                GET_PROC_ADDR("vkGetDescriptorSetHostMappingVALVE");
+m_vk.getShaderModuleIdentifierEXT                                              = (GetShaderModuleIdentifierEXTFunc)                                    GET_PROC_ADDR("vkGetShaderModuleIdentifierEXT");
+m_vk.getShaderModuleCreateInfoIdentifierEXT                            = (GetShaderModuleCreateInfoIdentifierEXTFunc)                  GET_PROC_ADDR("vkGetShaderModuleCreateInfoIdentifierEXT");
 m_vk.createAccelerationStructureKHR                                            = (CreateAccelerationStructureKHRFunc)                                  GET_PROC_ADDR("vkCreateAccelerationStructureKHR");
 m_vk.destroyAccelerationStructureKHR                                   = (DestroyAccelerationStructureKHRFunc)                                 GET_PROC_ADDR("vkDestroyAccelerationStructureKHR");
 m_vk.cmdBuildAccelerationStructuresKHR                                 = (CmdBuildAccelerationStructuresKHRFunc)                               GET_PROC_ADDR("vkCmdBuildAccelerationStructuresKHR");
index 21c7795..b7f3030 100644 (file)
@@ -467,6 +467,16 @@ bool checkMandatoryFeatures(const vkt::Context& context)
                nextPtr  = &physicalDeviceShaderIntegerDotProductFeaturesKHR.pNext;
        }
 
+       vk::VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT physicalDeviceShaderModuleIdentifierFeaturesEXT;
+       deMemset(&physicalDeviceShaderModuleIdentifierFeaturesEXT, 0, sizeof(physicalDeviceShaderModuleIdentifierFeaturesEXT));
+
+       if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_shader_module_identifier")) )
+       {
+               physicalDeviceShaderModuleIdentifierFeaturesEXT.sType = getStructureType<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT>();
+               *nextPtr = &physicalDeviceShaderModuleIdentifierFeaturesEXT;
+               nextPtr  = &physicalDeviceShaderModuleIdentifierFeaturesEXT.pNext;
+       }
+
        vk::VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR physicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
        deMemset(&physicalDeviceShaderSubgroupExtendedTypesFeaturesKHR, 0, sizeof(physicalDeviceShaderSubgroupExtendedTypesFeaturesKHR));
 
@@ -1067,6 +1077,15 @@ bool checkMandatoryFeatures(const vkt::Context& context)
                }
        }
 
+       if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_shader_module_identifier")) )
+       {
+               if ( physicalDeviceShaderModuleIdentifierFeaturesEXT.shaderModuleIdentifier == VK_FALSE )
+               {
+                       log << tcu::TestLog::Message << "Mandatory feature shaderModuleIdentifier not supported" << tcu::TestLog::EndMessage;
+                       result = false;
+               }
+       }
+
        if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_subgroup_size_control")) )
        {
                if ( physicalDeviceSubgroupSizeControlFeaturesEXT.subgroupSizeControl == VK_FALSE )
index e364a5b..a78f675 100644 (file)
@@ -2029,6 +2029,12 @@ VKAPI_ATTR void VKAPI_CALL getQueueCheckpointData2NV (VkQueue queue, uint32_t* p
        DE_UNREF(pCheckpointData);
 }
 
+VKAPI_ATTR void VKAPI_CALL cmdTraceRaysIndirect2KHR (VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(indirectDeviceAddress);
+}
+
 VKAPI_ATTR void VKAPI_CALL debugReportMessageEXT (VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage)
 {
        DE_UNREF(instance);
@@ -2756,6 +2762,14 @@ VKAPI_ATTR void VKAPI_CALL cmdSetFragmentShadingRateEnumNV (VkCommandBuffer comm
        DE_UNREF(combinerOps);
 }
 
+VKAPI_ATTR void VKAPI_CALL getImageSubresourceLayout2EXT (VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout)
+{
+       DE_UNREF(device);
+       DE_UNREF(image);
+       DE_UNREF(pSubresource);
+       DE_UNREF(pLayout);
+}
+
 VKAPI_ATTR VkResult VKAPI_CALL acquireWinrtDisplayNV (VkPhysicalDevice physicalDevice, VkDisplayKHR display)
 {
        DE_UNREF(physicalDevice);
@@ -2808,6 +2822,14 @@ VKAPI_ATTR VkResult VKAPI_CALL getMemoryRemoteAddressNV (VkDevice device, const
        return VK_SUCCESS;
 }
 
+VKAPI_ATTR VkResult VKAPI_CALL getPipelinePropertiesEXT (VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties)
+{
+       DE_UNREF(device);
+       DE_UNREF(pPipelineInfo);
+       DE_UNREF(pPipelineProperties);
+       return VK_SUCCESS;
+}
+
 VKAPI_ATTR void VKAPI_CALL cmdSetPatchControlPointsEXT (VkCommandBuffer commandBuffer, uint32_t patchControlPoints)
 {
        DE_UNREF(commandBuffer);
@@ -2869,6 +2891,20 @@ VKAPI_ATTR void VKAPI_CALL getDescriptorSetHostMappingVALVE (VkDevice device, Vk
        DE_UNREF(ppData);
 }
 
+VKAPI_ATTR void VKAPI_CALL getShaderModuleIdentifierEXT (VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier)
+{
+       DE_UNREF(device);
+       DE_UNREF(shaderModule);
+       DE_UNREF(pIdentifier);
+}
+
+VKAPI_ATTR void VKAPI_CALL getShaderModuleCreateInfoIdentifierEXT (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier)
+{
+       DE_UNREF(device);
+       DE_UNREF(pCreateInfo);
+       DE_UNREF(pIdentifier);
+}
+
 VKAPI_ATTR void VKAPI_CALL cmdBuildAccelerationStructuresKHR (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos)
 {
        DE_UNREF(commandBuffer);
@@ -3676,6 +3712,7 @@ static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] =
        VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer2KHR,                                                  cmdCopyImageToBuffer2),
        VK_NULL_FUNC_ENTRY(vkCmdBlitImage2KHR,                                                                  cmdBlitImage2),
        VK_NULL_FUNC_ENTRY(vkCmdResolveImage2KHR,                                                               cmdResolveImage2),
+       VK_NULL_FUNC_ENTRY(vkCmdTraceRaysIndirect2KHR,                                                  cmdTraceRaysIndirect2KHR),
        VK_NULL_FUNC_ENTRY(vkGetDeviceBufferMemoryRequirementsKHR,                              getDeviceBufferMemoryRequirements),
        VK_NULL_FUNC_ENTRY(vkGetDeviceImageMemoryRequirementsKHR,                               getDeviceImageMemoryRequirements),
        VK_NULL_FUNC_ENTRY(vkGetDeviceImageSparseMemoryRequirementsKHR,                 getDeviceImageSparseMemoryRequirements),
@@ -3786,11 +3823,13 @@ static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] =
        VK_NULL_FUNC_ENTRY(vkSetPrivateDataEXT,                                                                 setPrivateData),
        VK_NULL_FUNC_ENTRY(vkGetPrivateDataEXT,                                                                 getPrivateData),
        VK_NULL_FUNC_ENTRY(vkCmdSetFragmentShadingRateEnumNV,                                   cmdSetFragmentShadingRateEnumNV),
+       VK_NULL_FUNC_ENTRY(vkGetImageSubresourceLayout2EXT,                                             getImageSubresourceLayout2EXT),
        VK_NULL_FUNC_ENTRY(vkCmdSetVertexInputEXT,                                                              cmdSetVertexInputEXT),
        VK_NULL_FUNC_ENTRY(vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,             getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI),
        VK_NULL_FUNC_ENTRY(vkCmdSubpassShadingHUAWEI,                                                   cmdSubpassShadingHUAWEI),
        VK_NULL_FUNC_ENTRY(vkCmdBindInvocationMaskHUAWEI,                                               cmdBindInvocationMaskHUAWEI),
        VK_NULL_FUNC_ENTRY(vkGetMemoryRemoteAddressNV,                                                  getMemoryRemoteAddressNV),
+       VK_NULL_FUNC_ENTRY(vkGetPipelinePropertiesEXT,                                                  getPipelinePropertiesEXT),
        VK_NULL_FUNC_ENTRY(vkCmdSetPatchControlPointsEXT,                                               cmdSetPatchControlPointsEXT),
        VK_NULL_FUNC_ENTRY(vkCmdSetRasterizerDiscardEnableEXT,                                  cmdSetRasterizerDiscardEnable),
        VK_NULL_FUNC_ENTRY(vkCmdSetDepthBiasEnableEXT,                                                  cmdSetDepthBiasEnable),
@@ -3802,6 +3841,8 @@ static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] =
        VK_NULL_FUNC_ENTRY(vkSetDeviceMemoryPriorityEXT,                                                setDeviceMemoryPriorityEXT),
        VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutHostMappingInfoVALVE,                getDescriptorSetLayoutHostMappingInfoVALVE),
        VK_NULL_FUNC_ENTRY(vkGetDescriptorSetHostMappingVALVE,                                  getDescriptorSetHostMappingVALVE),
+       VK_NULL_FUNC_ENTRY(vkGetShaderModuleIdentifierEXT,                                              getShaderModuleIdentifierEXT),
+       VK_NULL_FUNC_ENTRY(vkGetShaderModuleCreateInfoIdentifierEXT,                    getShaderModuleCreateInfoIdentifierEXT),
        VK_NULL_FUNC_ENTRY(vkCreateAccelerationStructureKHR,                                    createAccelerationStructureKHR),
        VK_NULL_FUNC_ENTRY(vkDestroyAccelerationStructureKHR,                                   destroyAccelerationStructureKHR),
        VK_NULL_FUNC_ENTRY(vkCmdBuildAccelerationStructuresKHR,                                 cmdBuildAccelerationStructuresKHR),
index ec0a082..47c1bb2 100644 (file)
@@ -41,7 +41,8 @@ Move<VkPipeline> makeComputePipeline (const DeviceInterface&                                  vk,
                                                                          const VkPipelineCreateFlags                           pipelineFlags,
                                                                          const VkShaderModule                                          shaderModule,
                                                                          const VkPipelineShaderStageCreateFlags        shaderFlags,
-                                                                         const VkSpecializationInfo*                           specializationInfo)
+                                                                         const VkSpecializationInfo*                           specializationInfo,
+                                                                         const VkPipelineCache                                         pipelineCache)
 {
        const VkPipelineShaderStageCreateInfo pipelineShaderStageParams =
        {
@@ -63,7 +64,7 @@ Move<VkPipeline> makeComputePipeline (const DeviceInterface&                                  vk,
                DE_NULL,                                                                                        // VkPipeline                                           basePipelineHandle;
                0,                                                                                                      // deInt32                                                      basePipelineIndex;
        };
-       return createComputePipeline(vk, device, DE_NULL , &pipelineCreateInfo);
+       return createComputePipeline(vk, device, pipelineCache, &pipelineCreateInfo);
 }
 
 Move<VkPipeline> makeComputePipeline (const DeviceInterface&   vk,
index 895949d..2aa0c3e 100644 (file)
@@ -35,7 +35,8 @@ Move<VkPipeline> makeComputePipeline (const DeviceInterface&                                  vk,
                                                                          const VkPipelineCreateFlags                           pipelineFlags,
                                                                          const VkShaderModule                                          shaderModule,
                                                                          const VkPipelineShaderStageCreateFlags        shaderFlags,
-                                                                         const VkSpecializationInfo*                           specializationInfo = DE_NULL);
+                                                                         const VkSpecializationInfo*                           specializationInfo = DE_NULL,
+                                                                         const VkPipelineCache                                         pipelineCache = DE_NULL);
 
 Move<VkPipeline> makeComputePipeline (const DeviceInterface&   vk,
                                                                          VkDevice                                      device,
index e25303b..944f536 100644 (file)
@@ -29,6 +29,8 @@
 #include "tcuVectorType.hpp"
 #include "vkPipelineConstructionUtil.hpp"
 
+#include <memory>
+
 namespace vk
 {
 
@@ -122,6 +124,10 @@ static const VkPipelineColorBlendStateCreateInfo defaultColorBlendState
        { 0.0f, 0.0f, 0.0f, 0.0f }                                                                              // float                                                                                blendConstants[4]
 };
 
+
+namespace
+{
+
 VkGraphicsPipelineLibraryCreateInfoEXT makeGraphicsPipelineLibraryCreateInfo(const VkGraphicsPipelineLibraryFlagsEXT flags)
 {
        return
@@ -132,6 +138,25 @@ VkGraphicsPipelineLibraryCreateInfoEXT makeGraphicsPipelineLibraryCreateInfo(con
        };
 }
 
+Move<VkPipeline> makeGraphicsPipeline (const DeviceInterface&                          vk,
+                                                                          VkDevice                                                             device,
+                                                                          VkPipelineCache                                              pipelineCache,
+                                                                          const VkGraphicsPipelineCreateInfo*  pCreateInfo,
+                                                                          const VkAllocationCallbacks*                 pAllocator = nullptr)
+{
+       VkPipeline      object                                  = 0;
+       const auto      retcode                                 = vk.createGraphicsPipelines(device, pipelineCache, 1u, pCreateInfo, pAllocator, &object);
+       const bool      allowCompileRequired    = ((pCreateInfo->flags & VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT) != 0u);
+
+       if (allowCompileRequired && retcode == VK_PIPELINE_COMPILE_REQUIRED)
+               throw PipelineCompileRequiredError("createGraphicsPipelines returned VK_PIPELINE_COMPILE_REQUIRED");
+
+       VK_CHECK(retcode);
+       return Move<VkPipeline>(check<VkPipeline>(object), Deleter<VkPipeline>(vk, device, pAllocator));
+}
+
+} // anonymous
+
 void checkPipelineLibraryRequirements (const InstanceInterface&                vki,
                                                                           VkPhysicalDevice                             physicalDevice,
                                                                           PipelineConstructionType             pipelineConstructionType)
@@ -190,6 +215,10 @@ void addToChain(void** structThatStartsChain, StructNext* structToAddAtTheEnd)
        DE_ASSERT(false);
 }
 
+namespace {
+       using PipelineShaderStageModuleIdPtr = std::unique_ptr<VkPipelineShaderStageModuleIdentifierCreateInfoEXT>;
+}
+
 // Structure storing *CreateInfo structures that do not need to exist in memory after pipeline was constructed.
 struct GraphicsPipelineWrapper::InternalData
 {
@@ -201,6 +230,7 @@ struct GraphicsPipelineWrapper::InternalData
        // attribute used for making sure pipeline is configured in correct order
        VkGraphicsPipelineLibraryFlagsEXT                                       setupStates;
 
+       std::vector<PipelineShaderStageModuleIdPtr>                     pipelineShaderIdentifiers;
        std::vector<VkPipelineShaderStageCreateInfo>            pipelineShaderStages;
        VkPipelineInputAssemblyStateCreateInfo                          inputAssemblyState;
        VkPipelineRasterizationStateCreateInfo                          defaultRasterizationState;
@@ -215,6 +245,7 @@ struct GraphicsPipelineWrapper::InternalData
        deBool                                                                                          useDefaultDepthStencilState;
        deBool                                                                                          useDefaultColorBlendState;
        deBool                                                                                          useDefaultMultisampleState;
+       bool                                                                                            failOnCompileWhenLinking;
 
        VkGraphicsPipelineCreateInfo                                            monolithicPipelineCreateInfo;
 
@@ -274,6 +305,7 @@ struct GraphicsPipelineWrapper::InternalData
                , useDefaultDepthStencilState   (DE_FALSE)
                , useDefaultColorBlendState             (DE_FALSE)
                , useDefaultMultisampleState    (DE_FALSE)
+               , failOnCompileWhenLinking              (false)
        {
                monolithicPipelineCreateInfo = initVulkanStructure();
        }
@@ -483,6 +515,89 @@ GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupPreRasterizationShaderSta
                                                                                                                                                                   const VkPipelineCache                                                        partPipelineCache,
                                                                                                                                                                   VkPipelineCreationFeedbackCreateInfoEXT*                     partCreationFeedback)
 {
+       return setupPreRasterizationShaderState2(viewports,
+                                                                                        scissors,
+                                                                                        layout,
+                                                                                        renderPass,
+                                                                                        subpass,
+                                                                                        vertexShaderModule,
+                                                                                        rasterizationState,
+                                                                                        tessellationControlShaderModule,
+                                                                                        tessellationEvalShaderModule,
+                                                                                        geometryShaderModule,
+                                                                                        // Reuse the same specialization info for all stages.
+                                                                                        specializationInfo,
+                                                                                        specializationInfo,
+                                                                                        specializationInfo,
+                                                                                        specializationInfo,
+                                                                                        rendering,
+                                                                                        partPipelineCache,
+                                                                                        partCreationFeedback);
+}
+
+GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupPreRasterizationShaderState2(const std::vector<VkViewport>&                                     viewports,
+                                                                                                                                                                       const std::vector<VkRect2D>&                                    scissors,
+                                                                                                                                                                       const VkPipelineLayout                                                  layout,
+                                                                                                                                                                       const VkRenderPass                                                              renderPass,
+                                                                                                                                                                       const deUint32                                                                  subpass,
+                                                                                                                                                                       const VkShaderModule                                                    vertexShaderModule,
+                                                                                                                                                                       const VkPipelineRasterizationStateCreateInfo*   rasterizationState,
+                                                                                                                                                                       const VkShaderModule                                                    tessellationControlShaderModule,
+                                                                                                                                                                       const VkShaderModule                                                    tessellationEvalShaderModule,
+                                                                                                                                                                       const VkShaderModule                                                    geometryShaderModule,
+                                                                                                                                                                       const VkSpecializationInfo*                                             vertSpecializationInfo,
+                                                                                                                                                                       const VkSpecializationInfo*                                             tescSpecializationInfo,
+                                                                                                                                                                       const VkSpecializationInfo*                                             teseSpecializationInfo,
+                                                                                                                                                                       const VkSpecializationInfo*                                             geomSpecializationInfo,
+                                                                                                                                                                       VkPipelineRenderingCreateInfoKHR*                               rendering,
+                                                                                                                                                                       const VkPipelineCache                                                   partPipelineCache,
+                                                                                                                                                                       VkPipelineCreationFeedbackCreateInfoEXT*                partCreationFeedback)
+{
+       return setupPreRasterizationShaderState3(viewports,
+                                                                                        scissors,
+                                                                                        layout,
+                                                                                        renderPass,
+                                                                                        subpass,
+                                                                                        vertexShaderModule,
+                                                                                        nullptr,
+                                                                                        rasterizationState,
+                                                                                        tessellationControlShaderModule,
+                                                                                        nullptr,
+                                                                                        tessellationEvalShaderModule,
+                                                                                        nullptr,
+                                                                                        geometryShaderModule,
+                                                                                        nullptr,
+                                                                                        vertSpecializationInfo,
+                                                                                        tescSpecializationInfo,
+                                                                                        teseSpecializationInfo,
+                                                                                        geomSpecializationInfo,
+                                                                                        rendering,
+                                                                                        partPipelineCache,
+                                                                                        partCreationFeedback);
+}
+
+GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupPreRasterizationShaderState3(const std::vector<VkViewport>&                                                             viewports,
+                                                                                                                                                                       const std::vector<VkRect2D>&                                                            scissors,
+                                                                                                                                                                       const VkPipelineLayout                                                                          layout,
+                                                                                                                                                                       const VkRenderPass                                                                                      renderPass,
+                                                                                                                                                                       const deUint32                                                                                          subpass,
+                                                                                                                                                                       const VkShaderModule                                                                            vertexShaderModule,
+                                                                                                                                                                       const VkPipelineShaderStageModuleIdentifierCreateInfoEXT*       vertShaderModuleId,
+                                                                                                                                                                       const VkPipelineRasterizationStateCreateInfo*                           rasterizationState,
+                                                                                                                                                                       const VkShaderModule                                                                            tessellationControlShaderModule,
+                                                                                                                                                                       const VkPipelineShaderStageModuleIdentifierCreateInfoEXT*       tescShaderModuleId,
+                                                                                                                                                                       const VkShaderModule                                                                            tessellationEvalShaderModule,
+                                                                                                                                                                       const VkPipelineShaderStageModuleIdentifierCreateInfoEXT*       teseShaderModuleId,
+                                                                                                                                                                       const VkShaderModule                                                                            geometryShaderModule,
+                                                                                                                                                                       const VkPipelineShaderStageModuleIdentifierCreateInfoEXT*       geomShaderModuleId,
+                                                                                                                                                                       const VkSpecializationInfo*                                                                     vertSpecializationInfo,
+                                                                                                                                                                       const VkSpecializationInfo*                                                                     tescSpecializationInfo,
+                                                                                                                                                                       const VkSpecializationInfo*                                                                     teseSpecializationInfo,
+                                                                                                                                                                       const VkSpecializationInfo*                                                                     geomSpecializationInfo,
+                                                                                                                                                                       VkPipelineRenderingCreateInfoKHR*                                                       rendering,
+                                                                                                                                                                       const VkPipelineCache                                                                           partPipelineCache,
+                                                                                                                                                                       VkPipelineCreationFeedbackCreateInfoEXT*                                        partCreationFeedback)
+{
        // make sure pipeline was not already build
        DE_ASSERT(m_pipelineFinal.get() == DE_NULL);
 
@@ -494,15 +609,17 @@ GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupPreRasterizationShaderSta
 
        m_internalData->pRenderingState = rendering;
 
-       const bool hasTesc = (tessellationControlShaderModule != DE_NULL);
-       const bool hasTese = (tessellationEvalShaderModule != DE_NULL);
-       const bool hasGeom = (geometryShaderModule != DE_NULL);
+       const bool hasTesc = (tessellationControlShaderModule != DE_NULL || tescShaderModuleId);
+       const bool hasTese = (tessellationEvalShaderModule != DE_NULL || teseShaderModuleId);
+       const bool hasGeom = (geometryShaderModule != DE_NULL || geomShaderModuleId);
 
        const auto pRasterizationState = rasterizationState ? rasterizationState
                                                                                                                : (m_internalData->useDefaultRasterizationState ? &m_internalData->defaultRasterizationState : DE_NULL);
        const auto pTessellationState   = (hasTesc || hasTese) ? &m_internalData->tessellationState : DE_NULL;
        const auto pViewportState               = m_internalData->useViewportState ? &m_internalData->viewportState : DE_NULL;
 
+       VkPipelineCreateFlags shaderModuleIdFlags = 0u;
+
        // reserve space for all stages including fragment - this is needed when we create monolithic pipeline
        m_internalData->pipelineShaderStages = std::vector<VkPipelineShaderStageCreateInfo>(2u + hasTesc + hasTese + hasGeom,
        {
@@ -512,26 +629,70 @@ GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupPreRasterizationShaderSta
                VK_SHADER_STAGE_VERTEX_BIT,                                                             // VkShaderStageFlagBits                                stage
                vertexShaderModule,                                                                             // VkShaderModule                                               module
                "main",                                                                                                 // const char*                                                  pName
-               specializationInfo                                                                              // const VkSpecializationInfo*                  pSpecializationInfo
+               vertSpecializationInfo                                                                  // const VkSpecializationInfo*                  pSpecializationInfo
        });
 
+       if (vertShaderModuleId)
+       {
+               m_internalData->pipelineShaderIdentifiers.emplace_back(new VkPipelineShaderStageModuleIdentifierCreateInfoEXT(*vertShaderModuleId));
+               m_internalData->pipelineShaderStages[0].pNext = m_internalData->pipelineShaderIdentifiers.back().get();
+
+               if (vertexShaderModule == DE_NULL)
+                       shaderModuleIdFlags |= VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT;
+       }
+
        std::vector<VkPipelineShaderStageCreateInfo>::iterator currStage = m_internalData->pipelineShaderStages.begin() + 1;
+
        if (hasTesc)
        {
-               currStage->stage        = VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT;
-               currStage->module       = tessellationControlShaderModule;
+               currStage->stage                                = VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT;
+               currStage->module                               = tessellationControlShaderModule;
+               currStage->pSpecializationInfo  = tescSpecializationInfo;
+
+               if (tescShaderModuleId)
+               {
+                       m_internalData->pipelineShaderIdentifiers.emplace_back(new VkPipelineShaderStageModuleIdentifierCreateInfoEXT(*tescShaderModuleId));
+                       currStage->pNext = m_internalData->pipelineShaderIdentifiers.back().get();
+
+                       if (tessellationControlShaderModule == DE_NULL)
+                               shaderModuleIdFlags |= VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT;
+               }
+
                ++currStage;
        }
+
        if (hasTese)
        {
-               currStage->stage        = VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT;
-               currStage->module       = tessellationEvalShaderModule;
+               currStage->stage                                = VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT;
+               currStage->module                               = tessellationEvalShaderModule;
+               currStage->pSpecializationInfo  = teseSpecializationInfo;
+
+               if (teseShaderModuleId)
+               {
+                       m_internalData->pipelineShaderIdentifiers.emplace_back(new VkPipelineShaderStageModuleIdentifierCreateInfoEXT(*teseShaderModuleId));
+                       currStage->pNext = m_internalData->pipelineShaderIdentifiers.back().get();
+
+                       if (tessellationEvalShaderModule == DE_NULL)
+                               shaderModuleIdFlags |= VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT;
+               }
+
                ++currStage;
        }
+
        if (hasGeom)
        {
-               currStage->stage        = VK_SHADER_STAGE_GEOMETRY_BIT;
-               currStage->module       = geometryShaderModule;
+               currStage->stage                                = VK_SHADER_STAGE_GEOMETRY_BIT;
+               currStage->module                               = geometryShaderModule;
+               currStage->pSpecializationInfo  = geomSpecializationInfo;
+
+               if (geomShaderModuleId)
+               {
+                       m_internalData->pipelineShaderIdentifiers.emplace_back(new VkPipelineShaderStageModuleIdentifierCreateInfoEXT(*geomShaderModuleId));
+                       currStage->pNext = m_internalData->pipelineShaderIdentifiers.back().get();
+
+                       if (geometryShaderModule == DE_NULL)
+                               shaderModuleIdFlags |= VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT;
+               }
        }
 
        if (pViewportState)
@@ -561,6 +722,7 @@ GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupPreRasterizationShaderSta
                m_internalData->monolithicPipelineCreateInfo.stageCount                         = 1u + hasTesc + hasTese + hasGeom;
                m_internalData->monolithicPipelineCreateInfo.pStages                            = m_internalData->pipelineShaderStages.data();
                m_internalData->monolithicPipelineCreateInfo.pTessellationState         = pTessellationState;
+               m_internalData->monolithicPipelineCreateInfo.flags                                      |= shaderModuleIdFlags;
        }
        else
        {
@@ -571,7 +733,7 @@ GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupPreRasterizationShaderSta
 
                VkGraphicsPipelineCreateInfo pipelinePartCreateInfo = initVulkanStructure();
                pipelinePartCreateInfo.pNext                            = firstStructInChain;
-               pipelinePartCreateInfo.flags                            = m_internalData->pipelineFlags | VK_PIPELINE_CREATE_LIBRARY_BIT_KHR;
+               pipelinePartCreateInfo.flags                            = m_internalData->pipelineFlags | VK_PIPELINE_CREATE_LIBRARY_BIT_KHR | shaderModuleIdFlags;
                pipelinePartCreateInfo.layout                           = layout;
                pipelinePartCreateInfo.renderPass                       = renderPass;
                pipelinePartCreateInfo.subpass                          = subpass;
@@ -585,22 +747,50 @@ GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupPreRasterizationShaderSta
                if (m_internalData->pipelineConstructionType == PIPELINE_CONSTRUCTION_TYPE_LINK_TIME_OPTIMIZED_LIBRARY)
                        pipelinePartCreateInfo.flags |= VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT;
 
-               m_pipelineParts[1] = createGraphicsPipeline(m_internalData->vk, m_internalData->device, partPipelineCache, &pipelinePartCreateInfo);
+               if ((shaderModuleIdFlags & VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT) != 0)
+                       m_internalData->failOnCompileWhenLinking = true;
+
+               m_pipelineParts[1] = makeGraphicsPipeline(m_internalData->vk, m_internalData->device, partPipelineCache, &pipelinePartCreateInfo);
        }
 
        return *this;
 }
 
-GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupFragmentShaderState(const VkPipelineLayout                                                              layout,
-                                                                                                                                                  const VkRenderPass                                                                   renderPass,
-                                                                                                                                                  const deUint32                                                                               subpass,
-                                                                                                                                                  const VkShaderModule                                                                 fragmentShaderModule,
-                                                                                                                                                  const VkPipelineDepthStencilStateCreateInfo*                 depthStencilState,
-                                                                                                                                                  const VkPipelineMultisampleStateCreateInfo*                  multisampleState,
-                                                                                                                                                  VkPipelineFragmentShadingRateStateCreateInfoKHR*             fragmentShadingRateState,
-                                                                                                                                                  const VkSpecializationInfo*                                                  specializationInfo,
-                                                                                                                                                  const VkPipelineCache                                                                partPipelineCache,
-                                                                                                                                                  VkPipelineCreationFeedbackCreateInfoEXT*                             partCreationFeedback)
+GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupFragmentShaderState(const VkPipelineLayout                                                      layout,
+                                                                                                                                                  const VkRenderPass                                                           renderPass,
+                                                                                                                                                  const deUint32                                                                       subpass,
+                                                                                                                                                  const VkShaderModule                                                         fragmentShaderModule,
+                                                                                                                                                  const VkPipelineDepthStencilStateCreateInfo*         depthStencilState,
+                                                                                                                                                  const VkPipelineMultisampleStateCreateInfo*          multisampleState,
+                                                                                                                                                  VkPipelineFragmentShadingRateStateCreateInfoKHR*     fragmentShadingRateState,
+                                                                                                                                                  const VkSpecializationInfo*                                          specializationInfo,
+                                                                                                                                                  const VkPipelineCache                                                        partPipelineCache,
+                                                                                                                                                  VkPipelineCreationFeedbackCreateInfoEXT*                     partCreationFeedback)
+{
+       return setupFragmentShaderState2(layout,
+                                                                        renderPass,
+                                                                        subpass,
+                                                                        fragmentShaderModule,
+                                                                        nullptr,
+                                                                        depthStencilState,
+                                                                        multisampleState,
+                                                                        fragmentShadingRateState,
+                                                                        specializationInfo,
+                                                                        partPipelineCache,
+                                                                        partCreationFeedback);
+}
+
+GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupFragmentShaderState2(const VkPipelineLayout                                                                             layout,
+                                                                                                                                                       const VkRenderPass                                                                                      renderPass,
+                                                                                                                                                       const deUint32                                                                                          subpass,
+                                                                                                                                                       const VkShaderModule                                                                            fragmentShaderModule,
+                                                                                                                                                       const VkPipelineShaderStageModuleIdentifierCreateInfoEXT*       fragmentShaderModuleId,
+                                                                                                                                                       const VkPipelineDepthStencilStateCreateInfo*                            depthStencilState,
+                                                                                                                                                       const VkPipelineMultisampleStateCreateInfo*                                     multisampleState,
+                                                                                                                                                       VkPipelineFragmentShadingRateStateCreateInfoKHR*                        fragmentShadingRateState,
+                                                                                                                                                       const VkSpecializationInfo*                                                                     specializationInfo,
+                                                                                                                                                       const VkPipelineCache                                                                           partPipelineCache,
+                                                                                                                                                       VkPipelineCreationFeedbackCreateInfoEXT*                                        partCreationFeedback)
 {
        // make sure pipeline was not already build
        DE_ASSERT(m_pipelineFinal.get() == DE_NULL);
@@ -616,7 +806,9 @@ GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupFragmentShaderState(const
                                                                                                                : (m_internalData->useDefaultDepthStencilState ? &defaultDepthStencilState : DE_NULL);
        const auto pMultisampleState    = multisampleState ? multisampleState
                                                                                                                : (m_internalData->useDefaultMultisampleState ? &defaultMultisampleState : DE_NULL);
-       const bool hasFrag                              = (fragmentShaderModule != DE_NULL);
+       const bool hasFrag                              = (fragmentShaderModule != DE_NULL || fragmentShaderModuleId);
+
+       VkPipelineCreateFlags shaderModuleIdFlags = 0u;
 
        deUint32 stageIndex = 1;
        if (hasFrag)
@@ -629,6 +821,16 @@ GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupFragmentShaderState(const
                                m_internalData->pipelineShaderStages[stageIndex].stage                                  = VK_SHADER_STAGE_FRAGMENT_BIT;
                                m_internalData->pipelineShaderStages[stageIndex].module                                 = fragmentShaderModule;
                                m_internalData->pipelineShaderStages[stageIndex].pSpecializationInfo    = specializationInfo;
+
+                               if (fragmentShaderModuleId)
+                               {
+                                       m_internalData->pipelineShaderIdentifiers.emplace_back(new VkPipelineShaderStageModuleIdentifierCreateInfoEXT(*fragmentShaderModuleId));
+                                       m_internalData->pipelineShaderStages[stageIndex].pNext = m_internalData->pipelineShaderIdentifiers.back().get();
+
+                                       if (fragmentShaderModule == DE_NULL)
+                                               shaderModuleIdFlags |= VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT;
+                               }
+
                                break;
                        }
                }
@@ -638,7 +840,8 @@ GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupFragmentShaderState(const
        {
                m_internalData->monolithicPipelineCreateInfo.pDepthStencilState = pDepthStencilState;
                m_internalData->monolithicPipelineCreateInfo.pMultisampleState  = pMultisampleState;
-               m_internalData->monolithicPipelineCreateInfo.stageCount                 += !!fragmentShaderModule;
+               m_internalData->monolithicPipelineCreateInfo.stageCount                 += (hasFrag ? 1u : 0u);
+               m_internalData->monolithicPipelineCreateInfo.flags                              |= shaderModuleIdFlags;
        }
        else
        {
@@ -650,7 +853,7 @@ GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupFragmentShaderState(const
 
                VkGraphicsPipelineCreateInfo pipelinePartCreateInfo = initVulkanStructure();
                pipelinePartCreateInfo.pNext                            = firstStructInChain;
-               pipelinePartCreateInfo.flags                            = m_internalData->pipelineFlags | VK_PIPELINE_CREATE_LIBRARY_BIT_KHR;
+               pipelinePartCreateInfo.flags                            = m_internalData->pipelineFlags | VK_PIPELINE_CREATE_LIBRARY_BIT_KHR | shaderModuleIdFlags;
                pipelinePartCreateInfo.layout                           = layout;
                pipelinePartCreateInfo.renderPass                       = renderPass;
                pipelinePartCreateInfo.subpass                          = subpass;
@@ -663,7 +866,10 @@ GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupFragmentShaderState(const
                if (m_internalData->pipelineConstructionType == PIPELINE_CONSTRUCTION_TYPE_LINK_TIME_OPTIMIZED_LIBRARY)
                        pipelinePartCreateInfo.flags |= VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT;
 
-               m_pipelineParts[2] = createGraphicsPipeline(m_internalData->vk, m_internalData->device, partPipelineCache, &pipelinePartCreateInfo);
+               if ((shaderModuleIdFlags & VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT) != 0)
+                       m_internalData->failOnCompileWhenLinking = true;
+
+               m_pipelineParts[2] = makeGraphicsPipeline(m_internalData->vk, m_internalData->device, partPipelineCache, &pipelinePartCreateInfo);
        }
 
        return *this;
@@ -697,7 +903,7 @@ GraphicsPipelineWrapper& GraphicsPipelineWrapper::setupFragmentOutputState(const
        if (m_internalData->pipelineConstructionType == PIPELINE_CONSTRUCTION_TYPE_MONOLITHIC)
        {
                m_internalData->monolithicPipelineCreateInfo.pNext                              = firstStructInChain;
-               m_internalData->monolithicPipelineCreateInfo.flags                              = m_internalData->pipelineFlags;
+               m_internalData->monolithicPipelineCreateInfo.flags                              |= m_internalData->pipelineFlags;
                m_internalData->monolithicPipelineCreateInfo.pColorBlendState   = pColorBlendState;
                m_internalData->monolithicPipelineCreateInfo.pMultisampleState  = pMultisampleState;
        }
@@ -762,6 +968,9 @@ void GraphicsPipelineWrapper::buildPipeline(const VkPipelineCache                                           pipelineC
 
                if (m_internalData->pipelineConstructionType == PIPELINE_CONSTRUCTION_TYPE_LINK_TIME_OPTIMIZED_LIBRARY)
                        linkedCreateInfo.flags |= VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT;
+
+               if (m_internalData->failOnCompileWhenLinking)
+                       linkedCreateInfo.flags |= VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT;
        }
        else
        {
@@ -773,7 +982,7 @@ void GraphicsPipelineWrapper::buildPipeline(const VkPipelineCache                                           pipelineC
        pointerToCreateInfo->basePipelineHandle = basePipelineHandle;
        pointerToCreateInfo->basePipelineIndex  = basePipelineIndex;
 
-       m_pipelineFinal = createGraphicsPipeline(m_internalData->vk, m_internalData->device, pipelineCache, pointerToCreateInfo);
+       m_pipelineFinal = makeGraphicsPipeline(m_internalData->vk, m_internalData->device, pipelineCache, pointerToCreateInfo);
 
        // pipeline was created - we can free CreateInfo structures
        m_internalData.clear();
index e3b34db..2db9bc6 100644 (file)
@@ -29,6 +29,7 @@
 #include "tcuDefs.hpp"
 #include "deSharedPtr.hpp"
 #include <vector>
+#include <stdexcept>
 
 namespace vk
 {
@@ -44,6 +45,15 @@ void checkPipelineLibraryRequirements (const InstanceInterface&              vki,
                                                                           VkPhysicalDevice                             physicalDevice,
                                                                           PipelineConstructionType             pipelineConstructionType);
 
+// This exception may be raised in one of the intermediate steps when using shader module IDs instead of normal module objects.
+class PipelineCompileRequiredError : public std::runtime_error
+{
+public:
+       PipelineCompileRequiredError (const std::string& msg)
+               : std::runtime_error(msg)
+               {}
+};
+
 // Class that can build monolithic pipeline or fully separated pipeline libraries
 // depending on PipelineType specified in the constructor.
 // Rarely needed configuration was extracted to setDefault*/disable* functions while common
@@ -127,6 +137,47 @@ public:
                                                                                                                                         const VkPipelineCache                                                          partPipelineCache = DE_NULL,
                                                                                                                                         VkPipelineCreationFeedbackCreateInfoEXT*                       partCreationFeedback = DE_NULL);
 
+       GraphicsPipelineWrapper&        setupPreRasterizationShaderState2       (const std::vector<VkViewport>&                                         viewports,
+                                                                                                                                        const std::vector<VkRect2D>&                                           scissors,
+                                                                                                                                        const VkPipelineLayout                                                         layout,
+                                                                                                                                        const VkRenderPass                                                                     renderPass,
+                                                                                                                                        const deUint32                                                                         subpass,
+                                                                                                                                        const VkShaderModule                                                           vertexShaderModule,
+                                                                                                                                        const VkPipelineRasterizationStateCreateInfo*          rasterizationState = nullptr,
+                                                                                                                                        const VkShaderModule                                                           tessellationControlShaderModulnullptre = DE_NULL,
+                                                                                                                                        const VkShaderModule                                                           tessellationEvalShaderModule = DE_NULL,
+                                                                                                                                        const VkShaderModule                                                           geometryShaderModule = DE_NULL,
+                                                                                                                                        const VkSpecializationInfo*                                            vertSpecializationInfo = nullptr,
+                                                                                                                                        const VkSpecializationInfo*                                            tescSpecializationInfo = nullptr,
+                                                                                                                                        const VkSpecializationInfo*                                            teseSpecializationInfo = nullptr,
+                                                                                                                                        const VkSpecializationInfo*                                            geomSpecializationInfo = nullptr,
+                                                                                                                                        VkPipelineRenderingCreateInfoKHR*                                      rendering = nullptr,
+                                                                                                                                        const VkPipelineCache                                                          partPipelineCache = DE_NULL,
+                                                                                                                                        VkPipelineCreationFeedbackCreateInfoEXT*                       partCreationFeedback = nullptr);
+
+       // Note: VkPipelineShaderStageModuleIdentifierCreateInfoEXT::pIdentifier will not be copied. They need to continue to exist outside this wrapper.
+       GraphicsPipelineWrapper&        setupPreRasterizationShaderState3       (const std::vector<VkViewport>&                                                         viewports,
+                                                                                                                                        const std::vector<VkRect2D>&                                                           scissors,
+                                                                                                                                        const VkPipelineLayout                                                                         layout,
+                                                                                                                                        const VkRenderPass                                                                                     renderPass,
+                                                                                                                                        const deUint32                                                                                         subpass,
+                                                                                                                                        const VkShaderModule                                                                           vertexShaderModule,
+                                                                                                                                        const VkPipelineShaderStageModuleIdentifierCreateInfoEXT*      vertShaderModuleId = nullptr,
+                                                                                                                                        const VkPipelineRasterizationStateCreateInfo*                          rasterizationState = nullptr,
+                                                                                                                                        const VkShaderModule                                                                           tessellationControlShaderModule = DE_NULL,
+                                                                                                                                        const VkPipelineShaderStageModuleIdentifierCreateInfoEXT*      tescShaderModuleId = nullptr,
+                                                                                                                                        const VkShaderModule                                                                           tessellationEvalShaderModule = DE_NULL,
+                                                                                                                                        const VkPipelineShaderStageModuleIdentifierCreateInfoEXT*      teseShaderModuleId = nullptr,
+                                                                                                                                        const VkShaderModule                                                                           geometryShaderModule = DE_NULL,
+                                                                                                                                        const VkPipelineShaderStageModuleIdentifierCreateInfoEXT*      geomShaderModuleId = nullptr,
+                                                                                                                                        const VkSpecializationInfo*                                                            vertSpecializationInfo = nullptr,
+                                                                                                                                        const VkSpecializationInfo*                                                            tescSpecializationInfo = nullptr,
+                                                                                                                                        const VkSpecializationInfo*                                                            teseSpecializationInfo = nullptr,
+                                                                                                                                        const VkSpecializationInfo*                                                            geomSpecializationInfo = nullptr,
+                                                                                                                                        VkPipelineRenderingCreateInfoKHR*                                                      rendering = nullptr,
+                                                                                                                                        const VkPipelineCache                                                                          partPipelineCache = DE_NULL,
+                                                                                                                                        VkPipelineCreationFeedbackCreateInfoEXT*                                       partCreationFeedback = nullptr);
+
        // Setup fragment shader state.
        GraphicsPipelineWrapper&        setupFragmentShaderState                        (const VkPipelineLayout                                                         layout,
                                                                                                                                         const VkRenderPass                                                                     renderPass,
@@ -139,6 +190,19 @@ public:
                                                                                                                                         const VkPipelineCache                                                          partPipelineCache = DE_NULL,
                                                                                                                                         VkPipelineCreationFeedbackCreateInfoEXT*                       partCreationFeedback = DE_NULL);
 
+       // Note: VkPipelineShaderStageModuleIdentifierCreateInfoEXT::pIdentifier will not be copied. They need to continue to exist outside this wrapper.
+       GraphicsPipelineWrapper&        setupFragmentShaderState2                       (const VkPipelineLayout                                                                         layout,
+                                                                                                                                        const VkRenderPass                                                                                     renderPass,
+                                                                                                                                        const deUint32                                                                                         subpass,
+                                                                                                                                        const VkShaderModule                                                                           fragmentShaderModule,
+                                                                                                                                        const VkPipelineShaderStageModuleIdentifierCreateInfoEXT*      fragmentShaderModuleId = nullptr,
+                                                                                                                                        const VkPipelineDepthStencilStateCreateInfo*                           depthStencilState = nullptr,
+                                                                                                                                        const VkPipelineMultisampleStateCreateInfo*                            multisampleState = nullptr,
+                                                                                                                                        VkPipelineFragmentShadingRateStateCreateInfoKHR*                       fragmentShadingRateState = nullptr,
+                                                                                                                                        const VkSpecializationInfo*                                                            specializationInfo = nullptr,
+                                                                                                                                        const VkPipelineCache                                                                          partPipelineCache = DE_NULL,
+                                                                                                                                        VkPipelineCreationFeedbackCreateInfoEXT*                                       partCreationFeedback = nullptr);
+
        // Setup fragment output state.
        GraphicsPipelineWrapper&        setupFragmentOutputState                        (const VkRenderPass                                                                     renderPass,
                                                                                                                                         const deUint32                                                                         subpass = 0u,
index 06e132f..42a54de 100644 (file)
@@ -30,6 +30,7 @@
 #include "vkCmdUtil.hpp"
 
 #include "deStringUtil.hpp"
+#include "deSTLUtil.hpp"
 
 #include <vector>
 #include <string>
@@ -830,7 +831,6 @@ void updateVertexBuffer (const DeviceInterface&                                                                             vk,
 {
        const Allocation&                               geometryAlloc           = vertexBuffer->getAllocation();
        deUint8*                                                bufferStart                     = static_cast<deUint8*>(geometryAlloc.getHostPtr());
-       const VkDeviceSize                              bufferSize                      = getVertexBufferSize(geometriesData);
        VkDeviceSize                                    bufferOffset            = geometriesOffset;
 
        for (size_t geometryNdx = 0; geometryNdx < geometriesData.size(); ++geometryNdx)
@@ -843,7 +843,10 @@ void updateVertexBuffer (const DeviceInterface&                                                                            vk,
                bufferOffset += deAlignSize(geometryPtrSize,8);
        }
 
-       flushMappedMemoryRange(vk, device, geometryAlloc.getMemory(), geometryAlloc.getOffset()+geometriesOffset, bufferSize);
+       // Flush the whole allocation. We could flush only the interesting range, but we'd need to be sure both the offset and size
+       // align to VkPhysicalDeviceLimits::nonCoherentAtomSize, which we are not considering. Also note most code uses Coherent memory
+       // for the vertex and index buffers, so flushing is actually not needed.
+       flushAlloc(vk, device, geometryAlloc);
 }
 
 VkDeviceSize getIndexBufferSize (const std::vector<de::SharedPtr<RaytracedGeometryBase>>&      geometriesData)
@@ -886,7 +889,6 @@ void updateIndexBuffer (const DeviceInterface&                                                                              vk,
 {
        const Allocation&                               indexAlloc                      = indexBuffer->getAllocation();
        deUint8*                                                bufferStart                     = static_cast<deUint8*>(indexAlloc.getHostPtr());
-       const VkDeviceSize                              bufferSize                      = getIndexBufferSize(geometriesData);
        VkDeviceSize                                    bufferOffset            = geometriesOffset;
 
        for (size_t geometryNdx = 0; geometryNdx < geometriesData.size(); ++geometryNdx)
@@ -902,7 +904,10 @@ void updateIndexBuffer (const DeviceInterface&                                                                             vk,
                }
        }
 
-       flushMappedMemoryRange(vk, device, indexAlloc.getMemory(), indexAlloc.getOffset()+geometriesOffset, bufferSize);
+       // Flush the whole allocation. We could flush only the interesting range, but we'd need to be sure both the offset and size
+       // align to VkPhysicalDeviceLimits::nonCoherentAtomSize, which we are not considering. Also note most code uses Coherent memory
+       // for the vertex and index buffers, so flushing is actually not needed.
+       flushAlloc(vk, device, indexAlloc);
 }
 
 class BottomLevelAccelerationStructureKHR : public BottomLevelAccelerationStructure
@@ -3060,7 +3065,7 @@ void RayTracingPipeline::addShader (VkShaderStageFlagBits                                 shaderStage,
 }
 
 void RayTracingPipeline::addShader (VkShaderStageFlagBits                                      shaderStage,
-                                                                       VkShaderModule                              shaderModule,
+                                                                       VkShaderModule                                                  shaderModule,
                                                                        deUint32                                                                group,
                                                                        const VkSpecializationInfo*                             specializationInfoPtr,
                                                                        const VkPipelineShaderStageCreateFlags  pipelineShaderStageCreateFlags,
@@ -3148,26 +3153,21 @@ void RayTracingPipeline::addLibrary (de::SharedPtr<de::MovePtr<RayTracingPipelin
        m_pipelineLibraries.push_back(pipelineLibrary);
 }
 
-Move<VkPipeline> RayTracingPipeline::createPipelineKHR (const DeviceInterface&                                                         vk,
-                                                                                                               const VkDevice                                                                          device,
-                                                                                                               const VkPipelineLayout                                                          pipelineLayout,
-                                                                                                               const std::vector<de::SharedPtr<Move<VkPipeline>>>&     pipelineLibraries)
+Move<VkPipeline> RayTracingPipeline::createPipelineKHR (const DeviceInterface&                 vk,
+                                                                                                               const VkDevice                                  device,
+                                                                                                               const VkPipelineLayout                  pipelineLayout,
+                                                                                                               const std::vector<VkPipeline>&  pipelineLibraries,
+                                                                                                               const VkPipelineCache                   pipelineCache)
 {
        for (size_t groupNdx = 0; groupNdx < m_shadersGroupCreateInfos.size(); ++groupNdx)
                DE_ASSERT(m_shadersGroupCreateInfos[groupNdx].sType == VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR);
 
-       DE_ASSERT(m_shaderCreateInfos.size() > 0);
-       DE_ASSERT(m_shadersGroupCreateInfos.size() > 0);
-
-       std::vector<VkPipeline>                                                         vkPipelineLibraries;
-       for (auto it = begin(pipelineLibraries), eit = end(pipelineLibraries); it != eit; ++it)
-               vkPipelineLibraries.push_back( it->get()->get() );
        VkPipelineLibraryCreateInfoKHR                          librariesCreateInfo     =
        {
-               VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR,             //  VkStructureType     sType;
-               DE_NULL,                                                                                                //  const void*         pNext;
-               deUint32(vkPipelineLibraries.size()),                                   //  deUint32            libraryCount;
-               dataOrNullPtr(vkPipelineLibraries)                                              //  VkPipeline*         pLibraries;
+               VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR,     //  VkStructureType     sType;
+               DE_NULL,                                                                                        //  const void*         pNext;
+               de::sizeU32(pipelineLibraries),                                         //  deUint32            libraryCount;
+               de::dataOrNull(pipelineLibraries)                                       //  VkPipeline*         pLibraries;
        };
        const VkRayTracingPipelineInterfaceCreateInfoKHR        pipelineInterfaceCreateInfo             =
        {
@@ -3178,7 +3178,7 @@ Move<VkPipeline> RayTracingPipeline::createPipelineKHR (const DeviceInterface&
        };
        const bool                                                                                      addPipelineInterfaceCreateInfo  = m_maxPayloadSize != 0 || m_maxAttributeSize != 0;
        const VkRayTracingPipelineInterfaceCreateInfoKHR*       pipelineInterfaceCreateInfoPtr  = addPipelineInterfaceCreateInfo ? &pipelineInterfaceCreateInfo : DE_NULL;
-       const VkPipelineLibraryCreateInfoKHR*                           librariesCreateInfoPtr                  = (vkPipelineLibraries.empty() ? nullptr : &librariesCreateInfo);
+       const VkPipelineLibraryCreateInfoKHR*                           librariesCreateInfoPtr                  = (pipelineLibraries.empty() ? nullptr : &librariesCreateInfo);
 
        Move<VkDeferredOperationKHR>                                            deferredOperation;
        if (m_deferredOperation)
@@ -3198,10 +3198,10 @@ Move<VkPipeline> RayTracingPipeline::createPipelineKHR (const DeviceInterface&
                VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR, //  VkStructureType                                                             sType;
                DE_NULL,                                                                                                //  const void*                                                                 pNext;
                m_pipelineCreateFlags,                                                                  //  VkPipelineCreateFlags                                               flags;
-               (deUint32)m_shaderCreateInfos.size(),                                   //  deUint32                                                                    stageCount;
-               m_shaderCreateInfos.data(),                                                             //  const VkPipelineShaderStageCreateInfo*              pStages;
-               (deUint32)m_shadersGroupCreateInfos.size(),                             //  deUint32                                                                    groupCount;
-               m_shadersGroupCreateInfos.data(),                                               //  const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
+               de::sizeU32(m_shaderCreateInfos),                                               //  deUint32                                                                    stageCount;
+               de::dataOrNull(m_shaderCreateInfos),                                    //  const VkPipelineShaderStageCreateInfo*              pStages;
+               de::sizeU32(m_shadersGroupCreateInfos),                                 //  deUint32                                                                    groupCount;
+               de::dataOrNull(m_shadersGroupCreateInfos),                              //  const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
                m_maxRecursionDepth,                                                                    //  deUint32                                                                    maxRecursionDepth;
                librariesCreateInfoPtr,                                                                 //  VkPipelineLibraryCreateInfoKHR*                             pLibraryInfo;
                pipelineInterfaceCreateInfoPtr,                                                 //  VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
@@ -3211,15 +3211,18 @@ Move<VkPipeline> RayTracingPipeline::createPipelineKHR (const DeviceInterface&
                0,                                                                                                              //  deInt32                                                                             basePipelineIndex;
        };
        VkPipeline                                                                                      object                                                  = DE_NULL;
-       VkResult                                                                                        result                                                  = vk.createRayTracingPipelinesKHR(device, deferredOperation.get(), DE_NULL, 1u, &pipelineCreateInfo, DE_NULL, &object);
+       VkResult                                                                                        result                                                  = vk.createRayTracingPipelinesKHR(device, deferredOperation.get(), pipelineCache, 1u, &pipelineCreateInfo, DE_NULL, &object);
+       const bool                                                                                      allowCompileRequired                    = ((m_pipelineCreateFlags & VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT) != 0);
 
        if (m_deferredOperation)
        {
-               DE_ASSERT(result == VK_OPERATION_DEFERRED_KHR || result == VK_OPERATION_NOT_DEFERRED_KHR || result == VK_SUCCESS);
-
+               DE_ASSERT(result == VK_OPERATION_DEFERRED_KHR || result == VK_OPERATION_NOT_DEFERRED_KHR || result == VK_SUCCESS || (allowCompileRequired && result == VK_PIPELINE_COMPILE_REQUIRED));
                finishDeferredOperation(vk, device, deferredOperation.get(), m_workerThreadCount, result == VK_OPERATION_NOT_DEFERRED_KHR);
        }
 
+       if (allowCompileRequired && result == VK_PIPELINE_COMPILE_REQUIRED)
+               throw CompileRequiredError("createRayTracingPipelinesKHR returned VK_PIPELINE_COMPILE_REQUIRED");
+
        Move<VkPipeline> pipeline (check<VkPipeline>(object), Deleter<VkPipeline>(vk, device, DE_NULL));
        return pipeline;
 }
@@ -3230,7 +3233,21 @@ Move<VkPipeline> RayTracingPipeline::createPipeline (const DeviceInterface&
                                                                                                         const VkPipelineLayout                                                                 pipelineLayout,
                                                                                                         const std::vector<de::SharedPtr<Move<VkPipeline>>>&    pipelineLibraries)
 {
-       return createPipelineKHR(vk, device, pipelineLayout, pipelineLibraries);
+       std::vector<VkPipeline> rawPipelines;
+       rawPipelines.reserve(pipelineLibraries.size());
+       for (const auto& lib : pipelineLibraries)
+               rawPipelines.push_back(lib.get()->get());
+
+       return createPipelineKHR(vk, device, pipelineLayout, rawPipelines);
+}
+
+Move<VkPipeline> RayTracingPipeline::createPipeline (const DeviceInterface&                    vk,
+                                                                                                        const VkDevice                                 device,
+                                                                                                        const VkPipelineLayout                 pipelineLayout,
+                                                                                                        const std::vector<VkPipeline>& pipelineLibraries,
+                                                                                                        const VkPipelineCache                  pipelineCache)
+{
+       return createPipelineKHR(vk, device, pipelineLayout, pipelineLibraries, pipelineCache);
 }
 
 std::vector<de::SharedPtr<Move<VkPipeline>>> RayTracingPipeline::createPipelineWithLibraries (const DeviceInterface&                   vk,
index 1988ce1..9aae6ae 100644 (file)
@@ -35,6 +35,7 @@
 
 #include <vector>
 #include <limits>
+#include <stdexcept>
 
 namespace vk
 {
@@ -59,18 +60,6 @@ inline de::SharedPtr<de::MovePtr<T> > makeVkSharedPtr(de::MovePtr<T> movePtr)
        return de::SharedPtr<de::MovePtr<T> >(new de::MovePtr<T>(movePtr));
 }
 
-template<typename T>
-inline const T* dataOrNullPtr(const std::vector<T>& v)
-{
-       return (v.empty() ? DE_NULL : v.data());
-}
-
-template<typename T>
-inline T* dataOrNullPtr(std::vector<T>& v)
-{
-       return (v.empty() ? DE_NULL : v.data());
-}
-
 inline std::string updateRayTracingGLSL (const std::string& str)
 {
        return str;
@@ -841,6 +830,14 @@ bool queryAccelerationStructureSize (const DeviceInterface&                                                        vk,
 class RayTracingPipeline
 {
 public:
+       class CompileRequiredError : public std::runtime_error
+       {
+       public:
+               CompileRequiredError (const std::string& error)
+                       : std::runtime_error(error)
+                       {}
+       };
+
                                                                                                                                RayTracingPipeline                      ();
                                                                                                                                ~RayTracingPipeline                     ();
 
@@ -867,6 +864,11 @@ public:
                                                                                                                                                                                         const VkDevice                                                                                 device,
                                                                                                                                                                                         const VkPipelineLayout                                                                 pipelineLayout,
                                                                                                                                                                                         const std::vector<de::SharedPtr<Move<VkPipeline>>>&    pipelineLibraries                       = std::vector<de::SharedPtr<Move<VkPipeline>>>());
+       Move<VkPipeline>                                                                                        createPipeline                          (const DeviceInterface&                                                                 vk,
+                                                                                                                                                                                        const VkDevice                                                                                 device,
+                                                                                                                                                                                        const VkPipelineLayout                                                                 pipelineLayout,
+                                                                                                                                                                                        const std::vector<VkPipeline>&                                                 pipelineLibraries,
+                                                                                                                                                                                        const VkPipelineCache                                                                  pipelineCache);
        std::vector<de::SharedPtr<Move<VkPipeline>>>                            createPipelineWithLibraries     (const DeviceInterface&                                                                 vk,
                                                                                                                                                                                         const VkDevice                                                                                 device,
                                                                                                                                                                                         const VkPipelineLayout                                                                 pipelineLayout);
@@ -895,10 +897,11 @@ public:
 
 
 protected:
-       Move<VkPipeline>                                                                                        createPipelineKHR                       (const DeviceInterface&                                                                 vk,
-                                                                                                                                                                                        const VkDevice                                                                                 device,
-                                                                                                                                                                                        const VkPipelineLayout                                                                 pipelineLayout,
-                                                                                                                                                                                        const std::vector<de::SharedPtr<Move<VkPipeline>>>&    pipelineLibraries);
+       Move<VkPipeline>                                                                                        createPipelineKHR                       (const DeviceInterface&                 vk,
+                                                                                                                                                                                        const VkDevice                                 device,
+                                                                                                                                                                                        const VkPipelineLayout                 pipelineLayout,
+                                                                                                                                                                                        const std::vector<VkPipeline>& pipelineLibraries,
+                                                                                                                                                                                        const VkPipelineCache                  pipelineCache = DE_NULL);
 
        std::vector<de::SharedPtr<Move<VkShaderModule> > >                      m_shadersModules;
        std::vector<de::SharedPtr<de::MovePtr<RayTracingPipeline>>>     m_pipelineLibraries;
index 92243c6..543b636 100644 (file)
@@ -96,6 +96,7 @@ const char*   getDeviceMemoryReportEventTypeEXTName                                   (VkDeviceMemoryReportEvent
 const char*    getFragmentShadingRateTypeNVName                                                (VkFragmentShadingRateTypeNV value);
 const char*    getFragmentShadingRateNVName                                                    (VkFragmentShadingRateNV value);
 const char*    getAccelerationStructureMotionInstanceTypeNVName                (VkAccelerationStructureMotionInstanceTypeNV value);
+const char*    getSubpassMergeStatusEXTName                                                    (VkSubpassMergeStatusEXT value);
 const char*    getBuildAccelerationStructureModeKHRName                                (VkBuildAccelerationStructureModeKHR value);
 const char*    getAccelerationStructureBuildTypeKHRName                                (VkAccelerationStructureBuildTypeKHR value);
 const char*    getAccelerationStructureCompatibilityKHRName                    (VkAccelerationStructureCompatibilityKHR value);
@@ -216,6 +217,7 @@ inline tcu::Format::Enum<VkDeviceMemoryReportEventTypeEXT>                                  getDeviceMemoryRe
 inline tcu::Format::Enum<VkFragmentShadingRateTypeNV>                                          getFragmentShadingRateTypeNVStr                                         (VkFragmentShadingRateTypeNV value)                                             { return tcu::Format::Enum<VkFragmentShadingRateTypeNV>(getFragmentShadingRateTypeNVName, value);                                                                                       }
 inline tcu::Format::Enum<VkFragmentShadingRateNV>                                                      getFragmentShadingRateNVStr                                                     (VkFragmentShadingRateNV value)                                                 { return tcu::Format::Enum<VkFragmentShadingRateNV>(getFragmentShadingRateNVName, value);                                                                                                       }
 inline tcu::Format::Enum<VkAccelerationStructureMotionInstanceTypeNV>          getAccelerationStructureMotionInstanceTypeNVStr         (VkAccelerationStructureMotionInstanceTypeNV value)             { return tcu::Format::Enum<VkAccelerationStructureMotionInstanceTypeNV>(getAccelerationStructureMotionInstanceTypeNVName, value);                       }
+inline tcu::Format::Enum<VkSubpassMergeStatusEXT>                                                      getSubpassMergeStatusEXTStr                                                     (VkSubpassMergeStatusEXT value)                                                 { return tcu::Format::Enum<VkSubpassMergeStatusEXT>(getSubpassMergeStatusEXTName, value);                                                                                                       }
 inline tcu::Format::Enum<VkBuildAccelerationStructureModeKHR>                          getBuildAccelerationStructureModeKHRStr                         (VkBuildAccelerationStructureModeKHR value)                             { return tcu::Format::Enum<VkBuildAccelerationStructureModeKHR>(getBuildAccelerationStructureModeKHRName, value);                                                       }
 inline tcu::Format::Enum<VkAccelerationStructureBuildTypeKHR>                          getAccelerationStructureBuildTypeKHRStr                         (VkAccelerationStructureBuildTypeKHR value)                             { return tcu::Format::Enum<VkAccelerationStructureBuildTypeKHR>(getAccelerationStructureBuildTypeKHRName, value);                                                       }
 inline tcu::Format::Enum<VkAccelerationStructureCompatibilityKHR>                      getAccelerationStructureCompatibilityKHRStr                     (VkAccelerationStructureCompatibilityKHR value)                 { return tcu::Format::Enum<VkAccelerationStructureCompatibilityKHR>(getAccelerationStructureCompatibilityKHRName, value);                                       }
@@ -336,6 +338,7 @@ inline std::ostream&        operator<<      (std::ostream& s, VkDeviceMemoryReportEventTypeE
 inline std::ostream&   operator<<      (std::ostream& s, VkFragmentShadingRateTypeNV value)                                            { return s << getFragmentShadingRateTypeNVStr(value);                                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkFragmentShadingRateNV value)                                                        { return s << getFragmentShadingRateNVStr(value);                                                       }
 inline std::ostream&   operator<<      (std::ostream& s, VkAccelerationStructureMotionInstanceTypeNV value)            { return s << getAccelerationStructureMotionInstanceTypeNVStr(value);           }
+inline std::ostream&   operator<<      (std::ostream& s, VkSubpassMergeStatusEXT value)                                                        { return s << getSubpassMergeStatusEXTStr(value);                                                       }
 inline std::ostream&   operator<<      (std::ostream& s, VkBuildAccelerationStructureModeKHR value)                            { return s << getBuildAccelerationStructureModeKHRStr(value);                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkAccelerationStructureBuildTypeKHR value)                            { return s << getAccelerationStructureBuildTypeKHRStr(value);                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkAccelerationStructureCompatibilityKHR value)                        { return s << getAccelerationStructureCompatibilityKHRStr(value);                       }
@@ -447,6 +450,8 @@ tcu::Format::Bitfield<32>   getIndirectStateFlagsNVStr                                                                      (VkIndirectStateFla
 tcu::Format::Bitfield<32>      getIndirectCommandsLayoutUsageFlagsNVStr                                        (VkIndirectCommandsLayoutUsageFlagsNV value);
 tcu::Format::Bitfield<32>      getDeviceDiagnosticsConfigFlagsNVStr                                            (VkDeviceDiagnosticsConfigFlagsNV value);
 tcu::Format::Bitfield<32>      getGraphicsPipelineLibraryFlagsEXTStr                                           (VkGraphicsPipelineLibraryFlagsEXT value);
+tcu::Format::Bitfield<32>      getImageCompressionFlagsEXTStr                                                          (VkImageCompressionFlagsEXT value);
+tcu::Format::Bitfield<32>      getImageCompressionFixedRateFlagsEXTStr                                         (VkImageCompressionFixedRateFlagsEXT value);
 tcu::Format::Bitfield<32>      getAccelerationStructureCreateFlagsKHRStr                                       (VkAccelerationStructureCreateFlagsKHR value);
 tcu::Format::Bitfield<32>      getVideoCodecOperationFlagsKHRStr                                                       (VkVideoCodecOperationFlagsKHR value);
 tcu::Format::Bitfield<32>      getVideoChromaSubsamplingFlagsKHRStr                                            (VkVideoChromaSubsamplingFlagsKHR value);
@@ -880,6 +885,8 @@ std::ostream&       operator<<      (std::ostream& s, const VkQueueFamilyCheckpointProperti
 std::ostream&  operator<<      (std::ostream& s, const VkCheckpointData2NV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR& value);
+std::ostream&  operator<<      (std::ostream& s, const VkTraceRaysIndirectCommand2KHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDebugReportCallbackCreateInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineRasterizationStateRasterizationOrderAMD& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDebugMarkerObjectNameInfoEXT& value);
@@ -1099,6 +1106,11 @@ std::ostream&    operator<<      (std::ostream& s, const VkPhysicalDeviceYcbcr2Plane444F
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkCopyCommandTransformInfoQCOM& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceImageCompressionControlFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkImageCompressionControlEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkSubresourceLayout2EXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkImageSubresource2EXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkImageCompressionPropertiesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDevice4444FormatsFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT& value);
@@ -1118,6 +1130,8 @@ std::ostream&     operator<<      (std::ostream& s, const VkPhysicalDeviceSubpassShadingP
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI& value);
 std::ostream&  operator<<      (std::ostream& s, const VkMemoryGetRemoteAddressInfoNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPipelinePropertiesIdentifierEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDevicePipelinePropertiesFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceColorWriteEnableFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineColorWriteCreateInfoEXT& value);
@@ -1139,6 +1153,15 @@ std::ostream&    operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentDensity
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSubpassFragmentDensityMapOffsetEndInfoQCOM& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceLinearColorAttachmentFeaturesNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkRenderPassCreationControlEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkRenderPassCreationFeedbackInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkRenderPassSubpassFeedbackInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPipelineShaderStageModuleIdentifierCreateInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkShaderModuleIdentifierEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDeviceOrHostAddressKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkAccelerationStructureBuildRangeInfoKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkAccelerationStructureGeometryTrianglesDataKHR& value);
index dc649ba..5cdfee0 100644 (file)
@@ -117,6 +117,7 @@ const char* getResultName (VkResult value)
                case VK_THREAD_DONE_KHR:                                                                        return "VK_THREAD_DONE_KHR";
                case VK_OPERATION_DEFERRED_KHR:                                                         return "VK_OPERATION_DEFERRED_KHR";
                case VK_OPERATION_NOT_DEFERRED_KHR:                                                     return "VK_OPERATION_NOT_DEFERRED_KHR";
+               case VK_ERROR_COMPRESSION_EXHAUSTED_EXT:                                        return "VK_ERROR_COMPRESSION_EXHAUSTED_EXT";
                case VK_RESULT_MAX_ENUM:                                                                        return "VK_RESULT_MAX_ENUM";
                default:                                                                                                        return DE_NULL;
        }
@@ -707,6 +708,11 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT:                           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT";
                case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM:                                                                        return "VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR:           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT:                          return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT:                                                                           return "VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT";
+               case VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT:                                                                                        return "VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT";
+               case VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT:                                                                                         return "VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT";
+               case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT:                                                                        return "VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT:                                                       return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM:      return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT:                                           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT";
@@ -741,11 +747,14 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI:                                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI";
                case VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV:                                                                       return "VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV:                                        return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV";
+               case VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT:                                                                      return "VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT:                                        return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT:                           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX:                                                                          return "VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT:                                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT:                                                            return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT:                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR:                          return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:                                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT:                                                                      return "VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT:                                                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT";
@@ -761,6 +770,15 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM:                     return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM";
                case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM:                                       return "VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV:                                     return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT:        return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT:                                     return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT:                                                                        return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT";
+               case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT:                                                          return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT";
+               case VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT:                                                           return "VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT:                           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT:                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT";
+               case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT:                         return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT";
+               case VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT:                                                                            return "VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT";
                case VK_STRUCTURE_TYPE_MAX_ENUM:                                                                                                                        return "VK_STRUCTURE_TYPE_MAX_ENUM";
                default:                                                                                                                                                                        return DE_NULL;
        }
@@ -1204,20 +1222,22 @@ const char* getQueryTypeName (VkQueryType value)
 {
        switch (value)
        {
-               case VK_QUERY_TYPE_OCCLUSION:                                                                           return "VK_QUERY_TYPE_OCCLUSION";
-               case VK_QUERY_TYPE_PIPELINE_STATISTICS:                                                         return "VK_QUERY_TYPE_PIPELINE_STATISTICS";
-               case VK_QUERY_TYPE_TIMESTAMP:                                                                           return "VK_QUERY_TYPE_TIMESTAMP";
-               case VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR:                                                      return "VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR";
-               case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT:                                       return "VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT";
-               case VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR:                                                       return "VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR";
-               case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR:           return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR";
-               case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR:       return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR";
-               case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV:            return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV";
-               case VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL:                                                     return "VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL";
-               case VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR:                     return "VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR";
-               case VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT:                                            return "VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT";
-               case VK_QUERY_TYPE_MAX_ENUM:                                                                            return "VK_QUERY_TYPE_MAX_ENUM";
-               default:                                                                                                                        return DE_NULL;
+               case VK_QUERY_TYPE_OCCLUSION:                                                                                                           return "VK_QUERY_TYPE_OCCLUSION";
+               case VK_QUERY_TYPE_PIPELINE_STATISTICS:                                                                                         return "VK_QUERY_TYPE_PIPELINE_STATISTICS";
+               case VK_QUERY_TYPE_TIMESTAMP:                                                                                                           return "VK_QUERY_TYPE_TIMESTAMP";
+               case VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR:                                                                                      return "VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR";
+               case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT:                                                                       return "VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT";
+               case VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR:                                                                                       return "VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR";
+               case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR:                                           return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR";
+               case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR:                                       return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR";
+               case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV:                                            return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV";
+               case VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL:                                                                                     return "VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL";
+               case VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR:                                                     return "VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR";
+               case VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT:                                                                            return "VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT";
+               case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR:      return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR";
+               case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR:                                                                     return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR";
+               case VK_QUERY_TYPE_MAX_ENUM:                                                                                                            return "VK_QUERY_TYPE_MAX_ENUM";
+               default:                                                                                                                                                        return DE_NULL;
        }
 }
 
@@ -2464,6 +2484,29 @@ const char* getAccelerationStructureMotionInstanceTypeNVName (VkAccelerationStru
        }
 }
 
+const char* getSubpassMergeStatusEXTName (VkSubpassMergeStatusEXT value)
+{
+       switch (value)
+       {
+               case VK_SUBPASS_MERGE_STATUS_MERGED_EXT:                                                                        return "VK_SUBPASS_MERGE_STATUS_MERGED_EXT";
+               case VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT:                                                            return "VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT:                                       return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT:                           return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT:                                     return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT:                                           return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT:                                       return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT:      return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT:                       return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT:                       return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT:                        return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT:           return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT:                                     return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT:                                        return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT";
+               case VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT:                                                                      return "VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT";
+               default:                                                                                                                                        return DE_NULL;
+       }
+}
+
 const char* getBuildAccelerationStructureModeKHRName (VkBuildAccelerationStructureModeKHR value)
 {
        switch (value)
@@ -4154,6 +4197,53 @@ tcu::Format::Bitfield<32> getGraphicsPipelineLibraryFlagsEXTStr (VkGraphicsPipel
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
+tcu::Format::Bitfield<32> getImageCompressionFlagsEXTStr (VkImageCompressionFlagsEXT value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_DEFAULT_EXT,                          "VK_IMAGE_COMPRESSION_DEFAULT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT,       "VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT,      "VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_DISABLED_EXT,                         "VK_IMAGE_COMPRESSION_DISABLED_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT,       "VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
+tcu::Format::Bitfield<32> getImageCompressionFixedRateFlagsEXTStr (VkImageCompressionFixedRateFlagsEXT value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT,                                  "VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT,    "VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
 tcu::Format::Bitfield<32> getAccelerationStructureCreateFlagsKHRStr (VkAccelerationStructureCreateFlagsKHR value)
 {
        static const tcu::Format::BitDesc s_desc[] =
@@ -4323,7 +4413,8 @@ tcu::Format::Bitfield<32> getVideoEncodeH264CapabilityFlagsEXTStr (VkVideoEncode
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_BIT_EXT,                              "VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_ENABLED_BIT_EXT,              "VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_ENABLED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_DISABLED_BIT_EXT,             "VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_DISABLED_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT,                             "VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT,   "VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT,                                             "VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT"),
@@ -4346,6 +4437,7 @@ tcu::Format::Bitfield<32> getVideoEncodeH264CapabilityFlagsEXTStr (VkVideoEncode
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT,                                    "VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT,                               "VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT,                              "VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT,                                "VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT,                                    "VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
@@ -9434,6 +9526,38 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceWorkgroupMemory
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR& value)
+{
+       s << "VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\trayTracingMaintenance1 = " << value.rayTracingMaintenance1 << '\n';
+       s << "\trayTracingPipelineTraceRaysIndirect2 = " << value.rayTracingPipelineTraceRaysIndirect2 << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkTraceRaysIndirectCommand2KHR& value)
+{
+       s << "VkTraceRaysIndirectCommand2KHR = {\n";
+       s << "\traygenShaderRecordAddress = " << value.raygenShaderRecordAddress << '\n';
+       s << "\traygenShaderRecordSize = " << value.raygenShaderRecordSize << '\n';
+       s << "\tmissShaderBindingTableAddress = " << value.missShaderBindingTableAddress << '\n';
+       s << "\tmissShaderBindingTableSize = " << value.missShaderBindingTableSize << '\n';
+       s << "\tmissShaderBindingTableStride = " << value.missShaderBindingTableStride << '\n';
+       s << "\thitShaderBindingTableAddress = " << value.hitShaderBindingTableAddress << '\n';
+       s << "\thitShaderBindingTableSize = " << value.hitShaderBindingTableSize << '\n';
+       s << "\thitShaderBindingTableStride = " << value.hitShaderBindingTableStride << '\n';
+       s << "\tcallableShaderBindingTableAddress = " << value.callableShaderBindingTableAddress << '\n';
+       s << "\tcallableShaderBindingTableSize = " << value.callableShaderBindingTableSize << '\n';
+       s << "\tcallableShaderBindingTableStride = " << value.callableShaderBindingTableStride << '\n';
+       s << "\twidth = " << value.width << '\n';
+       s << "\theight = " << value.height << '\n';
+       s << "\tdepth = " << value.depth << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkDebugReportCallbackCreateInfoEXT& value)
 {
        s << "VkDebugReportCallbackCreateInfoEXT = {\n";
@@ -11995,6 +12119,59 @@ std::ostream& operator<< (std::ostream& s, const VkCopyCommandTransformInfoQCOM&
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageCompressionControlFeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceImageCompressionControlFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\timageCompressionControl = " << value.imageCompressionControl << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkImageCompressionControlEXT& value)
+{
+       s << "VkImageCompressionControlEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tflags = " << getImageCompressionFlagsEXTStr(value.flags) << '\n';
+       s << "\tcompressionControlPlaneCount = " << value.compressionControlPlaneCount << '\n';
+       s << "\tpFixedRateFlags = " << value.pFixedRateFlags << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkSubresourceLayout2EXT& value)
+{
+       s << "VkSubresourceLayout2EXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsubresourceLayout = " << value.subresourceLayout << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkImageSubresource2EXT& value)
+{
+       s << "VkImageSubresource2EXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\timageSubresource = " << value.imageSubresource << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkImageCompressionPropertiesEXT& value)
+{
+       s << "VkImageCompressionPropertiesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\timageCompressionFlags = " << getImageCompressionFlagsEXTStr(value.imageCompressionFlags) << '\n';
+       s << "\timageCompressionFixedRateFlags = " << getImageCompressionFixedRateFlagsEXTStr(value.imageCompressionFixedRateFlags) << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkPhysicalDevice4444FormatsFeaturesEXT& value)
 {
        s << "VkPhysicalDevice4444FormatsFeaturesEXT = {\n";
@@ -12202,6 +12379,26 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalMemoryR
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPipelinePropertiesIdentifierEXT& value)
+{
+       s << "VkPipelinePropertiesIdentifierEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tpipelineIdentifier = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.pipelineIdentifier)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.pipelineIdentifier))) << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePipelinePropertiesFeaturesEXT& value)
+{
+       s << "VkPhysicalDevicePipelinePropertiesFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tpipelinePropertiesIdentifier = " << value.pipelinePropertiesIdentifier << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& value)
 {
        s << "VkPhysicalDeviceExtendedDynamicState2FeaturesEXT = {\n";
@@ -12422,6 +12619,100 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLinearColorAtta
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\timageCompressionControlSwapchain = " << value.imageCompressionControlSwapchain << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsubpassMergeFeedback = " << value.subpassMergeFeedback << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkRenderPassCreationControlEXT& value)
+{
+       s << "VkRenderPassCreationControlEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tdisallowMerging = " << value.disallowMerging << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkRenderPassCreationFeedbackInfoEXT& value)
+{
+       s << "VkRenderPassCreationFeedbackInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tpostMergeSubpassCount = " << value.postMergeSubpassCount << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkRenderPassSubpassFeedbackInfoEXT& value)
+{
+       s << "VkRenderPassSubpassFeedbackInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsubpassMergeStatus = " << value.subpassMergeStatus << '\n';
+       s << "\tdescription = " << (const char*)value.description << '\n';
+       s << "\tpostMergeIndex = " << value.postMergeIndex << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tshaderModuleIdentifier = " << value.shaderModuleIdentifier << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT& value)
+{
+       s << "VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tshaderModuleIdentifierAlgorithmUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.shaderModuleIdentifierAlgorithmUUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.shaderModuleIdentifierAlgorithmUUID))) << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPipelineShaderStageModuleIdentifierCreateInfoEXT& value)
+{
+       s << "VkPipelineShaderStageModuleIdentifierCreateInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tidentifierSize = " << value.identifierSize << '\n';
+       s << "\tpIdentifier = " << value.pIdentifier << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkShaderModuleIdentifierEXT& value)
+{
+       s << "VkShaderModuleIdentifierEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tidentifierSize = " << value.identifierSize << '\n';
+       s << "\tidentifier = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.identifier)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.identifier))) << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkDeviceOrHostAddressKHR& value)
 {
        s << "VkDeviceOrHostAddressKHR = {\n";
@@ -13856,7 +14147,6 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265SequenceParameterSe
        s << "\tbit_depth_luma_minus8 = " << value.bit_depth_luma_minus8 << '\n';
        s << "\tbit_depth_chroma_minus8 = " << value.bit_depth_chroma_minus8 << '\n';
        s << "\tlog2_max_pic_order_cnt_lsb_minus4 = " << value.log2_max_pic_order_cnt_lsb_minus4 << '\n';
-       s << "\tsps_max_dec_pic_buffering_minus1 = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.sps_max_dec_pic_buffering_minus1)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.sps_max_dec_pic_buffering_minus1))) << '\n';
        s << "\tlog2_min_luma_coding_block_size_minus3 = " << value.log2_min_luma_coding_block_size_minus3 << '\n';
        s << "\tlog2_diff_max_min_luma_coding_block_size = " << value.log2_diff_max_min_luma_coding_block_size << '\n';
        s << "\tlog2_min_luma_transform_block_size_minus2 = " << value.log2_min_luma_transform_block_size_minus2 << '\n';
index ffe0d4b..c7c5583 100644 (file)
@@ -3596,6 +3596,32 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
        VkBool32                workgroupMemoryExplicitLayout16BitAccess;
 };
 
+struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                rayTracingMaintenance1;
+       VkBool32                rayTracingPipelineTraceRaysIndirect2;
+};
+
+struct VkTraceRaysIndirectCommand2KHR
+{
+       VkDeviceAddress raygenShaderRecordAddress;
+       VkDeviceSize    raygenShaderRecordSize;
+       VkDeviceAddress missShaderBindingTableAddress;
+       VkDeviceSize    missShaderBindingTableSize;
+       VkDeviceSize    missShaderBindingTableStride;
+       VkDeviceAddress hitShaderBindingTableAddress;
+       VkDeviceSize    hitShaderBindingTableSize;
+       VkDeviceSize    hitShaderBindingTableStride;
+       VkDeviceAddress callableShaderBindingTableAddress;
+       VkDeviceSize    callableShaderBindingTableSize;
+       VkDeviceSize    callableShaderBindingTableStride;
+       uint32_t                width;
+       uint32_t                height;
+       uint32_t                depth;
+};
+
 struct VkDebugReportCallbackCreateInfoEXT
 {
        VkStructureType                                 sType;
@@ -5500,6 +5526,44 @@ struct VkCopyCommandTransformInfoQCOM
        VkSurfaceTransformFlagBitsKHR   transform;
 };
 
+struct VkPhysicalDeviceImageCompressionControlFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                imageCompressionControl;
+};
+
+struct VkImageCompressionControlEXT
+{
+       VkStructureType                                                 sType;
+       const void*                                                             pNext;
+       VkImageCompressionFlagsEXT                              flags;
+       uint32_t                                                                compressionControlPlaneCount;
+       VkImageCompressionFixedRateFlagsEXT*    pFixedRateFlags;
+};
+
+struct VkSubresourceLayout2EXT
+{
+       VkStructureType         sType;
+       void*                           pNext;
+       VkSubresourceLayout     subresourceLayout;
+};
+
+struct VkImageSubresource2EXT
+{
+       VkStructureType         sType;
+       void*                           pNext;
+       VkImageSubresource      imageSubresource;
+};
+
+struct VkImageCompressionPropertiesEXT
+{
+       VkStructureType                                         sType;
+       void*                                                           pNext;
+       VkImageCompressionFlagsEXT                      imageCompressionFlags;
+       VkImageCompressionFixedRateFlagsEXT     imageCompressionFixedRateFlags;
+};
+
 struct VkPhysicalDevice4444FormatsFeaturesEXT
 {
        VkStructureType sType;
@@ -5650,6 +5714,20 @@ struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV
        VkBool32                externalMemoryRDMA;
 };
 
+struct VkPipelinePropertiesIdentifierEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       uint8_t                 pipelineIdentifier[VK_UUID_SIZE];
+};
+
+struct VkPhysicalDevicePipelinePropertiesFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                pipelinePropertiesIdentifier;
+};
+
 struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
 {
        VkStructureType sType;
@@ -5807,6 +5885,73 @@ struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV
        VkBool32                linearColorAttachment;
 };
 
+struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                imageCompressionControlSwapchain;
+};
+
+struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                subpassMergeFeedback;
+};
+
+struct VkRenderPassCreationControlEXT
+{
+       VkStructureType sType;
+       const void*             pNext;
+       VkBool32                disallowMerging;
+};
+
+struct VkRenderPassCreationFeedbackInfoEXT
+{
+       VkStructureType sType;
+       const void*             pNext;
+       uint32_t                postMergeSubpassCount;
+};
+
+struct VkRenderPassSubpassFeedbackInfoEXT
+{
+       VkStructureType                 sType;
+       const void*                             pNext;
+       VkSubpassMergeStatusEXT subpassMergeStatus;
+       char                                    description[VK_MAX_DESCRIPTION_SIZE];
+       uint32_t                                postMergeIndex;
+};
+
+struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                shaderModuleIdentifier;
+};
+
+struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       uint8_t                 shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE];
+};
+
+struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT
+{
+       VkStructureType sType;
+       const void*             pNext;
+       uint32_t                identifierSize;
+       const uint8_t*  pIdentifier;
+};
+
+struct VkShaderModuleIdentifierEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       uint32_t                identifierSize;
+       uint8_t                 identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT];
+};
+
 union VkDeviceOrHostAddressKHR
 {
        VkDeviceAddress deviceAddress;
@@ -6931,7 +7076,6 @@ struct StdVideoH265SequenceParameterSet
        uint8_t                                                                         bit_depth_luma_minus8;
        uint8_t                                                                         bit_depth_chroma_minus8;
        uint8_t                                                                         log2_max_pic_order_cnt_lsb_minus4;
-       uint8_t                                                                         sps_max_dec_pic_buffering_minus1[STD_VIDEO_H265_SPS_MAX_SUB_LAYERS];
        uint8_t                                                                         log2_min_luma_coding_block_size_minus3;
        uint8_t                                                                         log2_diff_max_min_luma_coding_block_size;
        uint8_t                                                                         log2_min_luma_transform_block_size_minus2;
@@ -8215,6 +8359,8 @@ typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPri
 
 typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT;
 
+typedef VkPipelineInfoKHR VkPipelineInfoEXT;
+
 typedef VkTransformMatrixKHR VkTransformMatrixNV;
 
 typedef VkAabbPositionsKHR VkAabbPositionsNV;
index 43b0858..b2841d1 100644 (file)
@@ -441,6 +441,26 @@ inline VkPresentRegionKHR makePresentRegionKHR (uint32_t rectangleCount, const V
        return res;
 }
 
+inline VkTraceRaysIndirectCommand2KHR makeTraceRaysIndirectCommand2KHR (VkDeviceAddress raygenShaderRecordAddress, VkDeviceSize raygenShaderRecordSize, VkDeviceAddress missShaderBindingTableAddress, VkDeviceSize missShaderBindingTableSize, VkDeviceSize missShaderBindingTableStride, VkDeviceAddress hitShaderBindingTableAddress, VkDeviceSize hitShaderBindingTableSize, VkDeviceSize hitShaderBindingTableStride, VkDeviceAddress callableShaderBindingTableAddress, VkDeviceSize callableShaderBindingTableSize, VkDeviceSize callableShaderBindingTableStride, uint32_t width, uint32_t height, uint32_t depth)
+{
+       VkTraceRaysIndirectCommand2KHR res;
+       res.raygenShaderRecordAddress                   = raygenShaderRecordAddress;
+       res.raygenShaderRecordSize                              = raygenShaderRecordSize;
+       res.missShaderBindingTableAddress               = missShaderBindingTableAddress;
+       res.missShaderBindingTableSize                  = missShaderBindingTableSize;
+       res.missShaderBindingTableStride                = missShaderBindingTableStride;
+       res.hitShaderBindingTableAddress                = hitShaderBindingTableAddress;
+       res.hitShaderBindingTableSize                   = hitShaderBindingTableSize;
+       res.hitShaderBindingTableStride                 = hitShaderBindingTableStride;
+       res.callableShaderBindingTableAddress   = callableShaderBindingTableAddress;
+       res.callableShaderBindingTableSize              = callableShaderBindingTableSize;
+       res.callableShaderBindingTableStride    = callableShaderBindingTableStride;
+       res.width                                                               = width;
+       res.height                                                              = height;
+       res.depth                                                               = depth;
+       return res;
+}
+
 inline VkShaderResourceUsageAMD makeShaderResourceUsageAMD (uint32_t numUsedVgprs, uint32_t numUsedSgprs, uint32_t ldsSizePerLocalWorkGroup, size_t ldsUsageSizeInBytes, size_t scratchMemUsageInBytes)
 {
        VkShaderResourceUsageAMD res;
index 7c69878..afdb575 100644 (file)
@@ -220,6 +220,7 @@ virtual VkResult                    getPipelineExecutableStatisticsKHR                              (VkDevice device, const
 virtual VkResult                       getPipelineExecutableInternalRepresentationsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) const = 0;
 virtual void                           cmdWriteBufferMarker2AMD                                                (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const = 0;
 virtual void                           getQueueCheckpointData2NV                                               (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData) const = 0;
+virtual void                           cmdTraceRaysIndirect2KHR                                                (VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress) const = 0;
 virtual VkResult                       debugMarkerSetObjectTagEXT                                              (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const = 0;
 virtual VkResult                       debugMarkerSetObjectNameEXT                                             (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const = 0;
 virtual void                           cmdDebugMarkerBeginEXT                                                  (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0;
@@ -310,11 +311,13 @@ virtual void                              cmdBindPipelineShaderGroupNV                                    (VkCommandBuffer commandBuffer,
 virtual VkResult                       createIndirectCommandsLayoutNV                                  (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout) const = 0;
 virtual void                           destroyIndirectCommandsLayoutNV                                 (VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const = 0;
 virtual void                           cmdSetFragmentShadingRateEnumNV                                 (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const = 0;
+virtual void                           getImageSubresourceLayout2EXT                                   (VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout) const = 0;
 virtual void                           cmdSetVertexInputEXT                                                    (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const = 0;
 virtual VkResult                       getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI   (VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize) const = 0;
 virtual void                           cmdSubpassShadingHUAWEI                                                 (VkCommandBuffer commandBuffer) const = 0;
 virtual void                           cmdBindInvocationMaskHUAWEI                                             (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const = 0;
 virtual VkResult                       getMemoryRemoteAddressNV                                                (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) const = 0;
+virtual VkResult                       getPipelinePropertiesEXT                                                (VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties) const = 0;
 virtual void                           cmdSetPatchControlPointsEXT                                             (VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const = 0;
 virtual void                           cmdSetLogicOpEXT                                                                (VkCommandBuffer commandBuffer, VkLogicOp logicOp) const = 0;
 virtual void                           cmdSetColorWriteEnableEXT                                               (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) const = 0;
@@ -323,6 +326,8 @@ virtual void                                cmdDrawMultiIndexedEXT                                                  (VkCommandBuffer commandBuffer, uin
 virtual void                           setDeviceMemoryPriorityEXT                                              (VkDevice device, VkDeviceMemory memory, float priority) const = 0;
 virtual void                           getDescriptorSetLayoutHostMappingInfoVALVE              (VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping) const = 0;
 virtual void                           getDescriptorSetHostMappingVALVE                                (VkDevice device, VkDescriptorSet descriptorSet, void** ppData) const = 0;
+virtual void                           getShaderModuleIdentifierEXT                                    (VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier) const = 0;
+virtual void                           getShaderModuleCreateInfoIdentifierEXT                  (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier) const = 0;
 virtual VkResult                       createAccelerationStructureKHR                                  (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const = 0;
 virtual void                           destroyAccelerationStructureKHR                                 (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const = 0;
 virtual void                           cmdBuildAccelerationStructuresKHR                               (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const = 0;
index f7f456d..180d94f 100644 (file)
@@ -503,7 +503,6 @@ extern "C" {
 #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64
 #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3
 #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128
-#define STD_VIDEO_H265_SPS_MAX_SUB_LAYERS 8
 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19
 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21
 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6
@@ -726,7 +725,6 @@ typedef struct StdVideoH265SequenceParameterSet {
     deUint8                                       bit_depth_luma_minus8;
     deUint8                                       bit_depth_chroma_minus8;
     deUint8                                       log2_max_pic_order_cnt_lsb_minus4;
-    deUint8                                       sps_max_dec_pic_buffering_minus1[STD_VIDEO_H265_SPS_MAX_SUB_LAYERS];
     deUint8                                       log2_min_luma_coding_block_size_minus3;
     deUint8                                       log2_diff_max_min_luma_coding_block_size;
     deUint8                                       log2_min_luma_transform_block_size_minus2;
@@ -954,10 +952,10 @@ extern "C" {
 
 #define vulkan_video_codec_h265std_decode 1
 // Vulkan 0.9 provisional Vulkan video H.265 decode std specification version number
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_6 VK_MAKE_VIDEO_STD_VERSION(0, 9, 6) // Patch version should always be set to 0
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_7 VK_MAKE_VIDEO_STD_VERSION(0, 9, 7) // Patch version should always be set to 0
 
 #define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_6
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_7
 #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode"
 typedef struct StdVideoDecodeH265PictureInfoFlags {
     deUint32    IrapPicFlag : 1;
@@ -1071,7 +1069,7 @@ extern "C" {
 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
 
 // Version of this file
-#define VK_HEADER_VERSION 211
+#define VK_HEADER_VERSION 213
 
 // Complete version of this file
 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
@@ -1174,6 +1172,7 @@ typedef enum VkResult {
     VK_THREAD_DONE_KHR = 1000268001,
     VK_OPERATION_DEFERRED_KHR = 1000268002,
     VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
+    VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000,
     VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
     VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
     VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
@@ -1887,6 +1886,11 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
     VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000,
+    VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001,
+    VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = 1000338002,
+    VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = 1000338003,
+    VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = 1000342000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
@@ -1921,11 +1925,14 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
     VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
+    VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
     VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
     VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
     VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
@@ -1941,6 +1948,15 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
     VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000,
+    VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001,
+    VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT = 1000458002,
+    VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT = 1000458003,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001,
+    VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002,
+    VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
     VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
@@ -2103,6 +2119,7 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
     VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
     VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
+    VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
     VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
@@ -2595,6 +2612,8 @@ typedef enum VkQueryType {
     VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
 #endif
     VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000,
+    VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000,
+    VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001,
     VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
 } VkQueryType;
 
@@ -7355,6 +7374,7 @@ static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
+static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL;
 
 typedef VkFlags64 VkAccessFlags2;
 
@@ -7429,6 +7449,7 @@ static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV =
 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
+static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL;
 
 
 typedef enum VkSubmitFlagBits {
@@ -10483,6 +10504,42 @@ typedef VkFormatProperties3 VkFormatProperties3KHR;
 
 
 
+#define VK_KHR_ray_tracing_maintenance1 1
+#define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1
+#define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1"
+typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           rayTracingMaintenance1;
+    VkBool32           rayTracingPipelineTraceRaysIndirect2;
+} VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR;
+
+typedef struct VkTraceRaysIndirectCommand2KHR {
+    VkDeviceAddress    raygenShaderRecordAddress;
+    VkDeviceSize       raygenShaderRecordSize;
+    VkDeviceAddress    missShaderBindingTableAddress;
+    VkDeviceSize       missShaderBindingTableSize;
+    VkDeviceSize       missShaderBindingTableStride;
+    VkDeviceAddress    hitShaderBindingTableAddress;
+    VkDeviceSize       hitShaderBindingTableSize;
+    VkDeviceSize       hitShaderBindingTableStride;
+    VkDeviceAddress    callableShaderBindingTableAddress;
+    VkDeviceSize       callableShaderBindingTableSize;
+    VkDeviceSize       callableShaderBindingTableStride;
+    deUint32           width;
+    deUint32           height;
+    deUint32           depth;
+} VkTraceRaysIndirectCommand2KHR;
+
+typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR(
+    VkCommandBuffer                             commandBuffer,
+    VkDeviceAddress                             indirectDeviceAddress);
+#endif
+
+
 #define VK_KHR_portability_enumeration 1
 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
@@ -14452,6 +14509,92 @@ typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessF
 
 
 
+#define VK_EXT_image_compression_control 1
+#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1
+#define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control"
+
+typedef enum VkImageCompressionFlagBitsEXT {
+    VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002,
+    VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004,
+    VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkImageCompressionFlagBitsEXT;
+typedef VkFlags VkImageCompressionFlagsEXT;
+
+typedef enum VkImageCompressionFixedRateFlagBitsEXT {
+    VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkImageCompressionFixedRateFlagBitsEXT;
+typedef VkFlags VkImageCompressionFixedRateFlagsEXT;
+typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           imageCompressionControl;
+} VkPhysicalDeviceImageCompressionControlFeaturesEXT;
+
+typedef struct VkImageCompressionControlEXT {
+    VkStructureType                         sType;
+    const void*                             pNext;
+    VkImageCompressionFlagsEXT              flags;
+    deUint32                                compressionControlPlaneCount;
+    VkImageCompressionFixedRateFlagsEXT*    pFixedRateFlags;
+} VkImageCompressionControlEXT;
+
+typedef struct VkSubresourceLayout2EXT {
+    VkStructureType        sType;
+    void*                  pNext;
+    VkSubresourceLayout    subresourceLayout;
+} VkSubresourceLayout2EXT;
+
+typedef struct VkImageSubresource2EXT {
+    VkStructureType       sType;
+    void*                 pNext;
+    VkImageSubresource    imageSubresource;
+} VkImageSubresource2EXT;
+
+typedef struct VkImageCompressionPropertiesEXT {
+    VkStructureType                        sType;
+    void*                                  pNext;
+    VkImageCompressionFlagsEXT             imageCompressionFlags;
+    VkImageCompressionFixedRateFlagsEXT    imageCompressionFixedRateFlags;
+} VkImageCompressionPropertiesEXT;
+
+typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT(
+    VkDevice                                    device,
+    VkImage                                     image,
+    const VkImageSubresource2EXT*               pSubresource,
+    VkSubresourceLayout2EXT*                    pLayout);
+#endif
+
+
 #define VK_EXT_4444_formats 1
 #define VK_EXT_4444_FORMATS_SPEC_VERSION  1
 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
@@ -14695,6 +14838,33 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
 #endif
 
 
+#define VK_EXT_pipeline_properties 1
+#define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1
+#define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties"
+typedef VkPipelineInfoKHR VkPipelineInfoEXT;
+
+typedef struct VkPipelinePropertiesIdentifierEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    deUint8            pipelineIdentifier[VK_UUID_SIZE];
+} VkPipelinePropertiesIdentifierEXT;
+
+typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           pipelinePropertiesIdentifier;
+} VkPhysicalDevicePipelinePropertiesFeaturesEXT;
+
+typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT(
+    VkDevice                                    device,
+    const VkPipelineInfoEXT*                    pPipelineInfo,
+    VkBaseOutStructure*                         pPipelineProperties);
+#endif
+
+
 #define VK_EXT_extended_dynamic_state2 1
 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
@@ -14984,6 +15154,112 @@ typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV {
 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query"
 
 
+#define VK_EXT_image_compression_control_swapchain 1
+#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1
+#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain"
+typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           imageCompressionControlSwapchain;
+} VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT;
+
+
+
+#define VK_EXT_subpass_merge_feedback 1
+#define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 1
+#define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback"
+
+typedef enum VkSubpassMergeStatusEXT {
+    VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0,
+    VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13,
+    VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkSubpassMergeStatusEXT;
+typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           subpassMergeFeedback;
+} VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT;
+
+typedef struct VkRenderPassCreationControlEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkBool32           disallowMerging;
+} VkRenderPassCreationControlEXT;
+
+typedef struct VkRenderPassCreationFeedbackInfoEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    deUint32           postMergeSubpassCount;
+} VkRenderPassCreationFeedbackInfoEXT;
+
+typedef struct VkRenderPassSubpassFeedbackInfoEXT {
+    VkStructureType            sType;
+    const void*                pNext;
+    VkSubpassMergeStatusEXT    subpassMergeStatus;
+    char                       description[VK_MAX_DESCRIPTION_SIZE];
+    deUint32                   postMergeIndex;
+} VkRenderPassSubpassFeedbackInfoEXT;
+
+
+
+#define VK_EXT_shader_module_identifier 1
+#define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U
+#define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1
+#define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier"
+typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           shaderModuleIdentifier;
+} VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT;
+
+typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    deUint8            shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE];
+} VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT;
+
+typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    deUint32           identifierSize;
+    const deUint8*     pIdentifier;
+} VkPipelineShaderStageModuleIdentifierCreateInfoEXT;
+
+typedef struct VkShaderModuleIdentifierEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    deUint32           identifierSize;
+    deUint8            identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT];
+} VkShaderModuleIdentifierEXT;
+
+typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier);
+typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT(
+    VkDevice                                    device,
+    VkShaderModule                              shaderModule,
+    VkShaderModuleIdentifierEXT*                pIdentifier);
+
+VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT(
+    VkDevice                                    device,
+    const VkShaderModuleCreateInfo*             pCreateInfo,
+    VkShaderModuleIdentifierEXT*                pIdentifier);
+#endif
+
+
 #define VK_KHR_acceleration_structure 1
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
index 31d04ff..a463d8c 100644 (file)
@@ -116,6 +116,8 @@ set(DEQP_VK_PIPELINE_SRCS
        vktPipelineNoPositionTests.hpp
        vktPipelineLibraryTests.cpp
        vktPipelineLibraryTests.hpp
+       vktPipelineShaderModuleIdentifierTests.cpp
+       vktPipelineShaderModuleIdentifierTests.hpp
        )
 
 set(DEQP_VK_PIPELINE_LIBS
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineShaderModuleIdentifierTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineShaderModuleIdentifierTests.cpp
new file mode 100644 (file)
index 0000000..a6c4351
--- /dev/null
@@ -0,0 +1,3756 @@
+/*------------------------------------------------------------------------
+ * Vulkan Conformance Tests
+ * ------------------------
+ *
+ * Copyright (c) 2022 The Khronos Group Inc.
+ * Copyright (c) 2022 Valve Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *//*!
+ * \file
+ * \brief VK_EXT_shader_module_identifier tests
+ *//*--------------------------------------------------------------------*/
+#include "vktPipelineShaderModuleIdentifierTests.hpp"
+#include "vktTestCase.hpp"
+#include "vktTestCaseUtil.hpp"
+#include "vktCustomInstancesDevices.hpp"
+
+#include "vkQueryUtil.hpp"
+#include "vkMemUtil.hpp"
+#include "vkBuilderUtil.hpp"
+#include "vkBufferWithMemory.hpp"
+#include "vkImageWithMemory.hpp"
+#include "vkObjUtil.hpp"
+#include "vkTypeUtil.hpp"
+#include "vkRayTracingUtil.hpp"
+#include "vkCmdUtil.hpp"
+#include "vkImageUtil.hpp"
+#include "vkPipelineConstructionUtil.hpp"
+#include "vkBarrierUtil.hpp"
+
+#include "tcuMaybe.hpp"
+#include "tcuCommandLine.hpp"
+#include "tcuFormatUtil.hpp"
+#include "tcuImageCompare.hpp"
+#include "tcuTestLog.hpp"
+
+#include "deUniquePtr.hpp"
+#include "deRandom.hpp"
+
+#include <vector>
+#include <utility>
+#include <string>
+#include <sstream>
+#include <algorithm>
+#include <iterator>
+#include <memory>
+#include <set>
+#include <limits>
+
+namespace vkt
+{
+namespace pipeline
+{
+
+namespace
+{
+
+using GroupPtr = de::MovePtr<tcu::TestCaseGroup>;
+using StringVec        = std::vector<std::string>;
+using namespace vk;
+
+using ShaderModuleId   = std::vector<uint8_t>;
+using ShaderModuleIdPtr        = std::unique_ptr<ShaderModuleId>;
+using ShaderStageIdPtr = std::unique_ptr<VkPipelineShaderStageModuleIdentifierCreateInfoEXT>;
+
+// Helper function to create a shader module identifier from a VkShaderModuleIdentifierEXT structure.
+ShaderModuleId makeShaderModuleId (const VkShaderModuleIdentifierEXT& idExt)
+{
+       if (idExt.identifierSize == 0u || idExt.identifierSize > VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT)
+               TCU_FAIL("Invalid identifierSize returned");
+
+       ShaderModuleId identifier(idExt.identifier, idExt.identifier + idExt.identifierSize);
+       return identifier;
+}
+
+// Helper function to obtain the shader module identifier for a VkShaderModule as a return value.
+ShaderModuleId getShaderModuleIdentifier (const DeviceInterface& vkd, const VkDevice device, const VkShaderModule module)
+{
+       VkShaderModuleIdentifierEXT idExt = initVulkanStructure();
+       vkd.getShaderModuleIdentifierEXT(device, module, &idExt);
+       return makeShaderModuleId(idExt);
+}
+
+// Helper function to obtain the shader module identifier from a VkShaderModuleCreateInfo structure as a return value.
+ShaderModuleId getShaderModuleIdentifier (const DeviceInterface& vkd, const VkDevice device, const VkShaderModuleCreateInfo& createInfo)
+{
+       VkShaderModuleIdentifierEXT idExt = initVulkanStructure();
+       vkd.getShaderModuleCreateInfoIdentifierEXT(device, &createInfo, &idExt);
+       return makeShaderModuleId(idExt);
+}
+
+// Helper function to create a VkShaderModuleCreateInfo structure.
+VkShaderModuleCreateInfo makeShaderModuleCreateInfo (size_t codeSize, const uint32_t* pCode, const VkShaderModuleCreateFlags createFlags = 0u, const void* pNext = nullptr)
+{
+       const VkShaderModuleCreateInfo moduleCreateInfo =
+       {
+               VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO,    //      VkStructureType                         sType;
+               pNext,                                                                                  //      const void*                                     pNext;
+               createFlags,                                                                    //      VkShaderModuleCreateFlags       flags;
+               codeSize,                                                                               //      size_t                                          codeSize;
+               pCode,                                                                                  //      const uint32_t*                         pCode;
+       };
+       return moduleCreateInfo;
+}
+
+// On the actual pipeline in use, will we use module IDs or other data?
+enum class UseModuleCase
+{
+       ID = 0,
+       ZERO_LEN_ID,
+       ZERO_LEN_ID_NULL_PTR,
+       ZERO_LEN_ID_GARBAGE_PTR,
+       ALL_ZEROS,
+       ALL_ONES,
+       PSEUDORANDOM_ID,
+};
+
+bool isZeroLen (UseModuleCase usage)
+{
+       bool zeroLen = false;
+
+       switch (usage)
+       {
+       case UseModuleCase::ZERO_LEN_ID:
+       case UseModuleCase::ZERO_LEN_ID_NULL_PTR:
+       case UseModuleCase::ZERO_LEN_ID_GARBAGE_PTR:
+               zeroLen = true;
+               break;
+       default:
+               break;
+       }
+
+       return zeroLen;
+}
+
+bool expectCacheMiss (UseModuleCase usage)
+{
+       bool miss = false;
+
+       switch (usage)
+       {
+       case UseModuleCase::ALL_ZEROS:
+       case UseModuleCase::ALL_ONES:
+       case UseModuleCase::PSEUDORANDOM_ID:
+               miss = true;
+               break;
+       default:
+               break;
+       }
+
+       return miss;
+}
+
+// Modify a shader module id according to the type of use.
+void maybeMangleShaderModuleId (ShaderModuleId& moduleId, UseModuleCase moduleUse, de::Random& rnd)
+{
+       if (moduleUse == UseModuleCase::ALL_ZEROS || moduleUse == UseModuleCase::ALL_ONES)
+       {
+               deMemset(moduleId.data(), ((moduleUse == UseModuleCase::ALL_ZEROS) ? 0 : 0xFF), de::dataSize(moduleId));
+       }
+       else if (moduleUse == UseModuleCase::PSEUDORANDOM_ID)
+       {
+               for (auto& byte : moduleId)
+                       byte = rnd.getUint8();
+       }
+}
+
+// Helper function to create a VkPipelineShaderStageModuleIdentifierCreateInfoEXT structure.
+ShaderStageIdPtr makeShaderStageModuleIdentifierCreateInfo (const ShaderModuleId& moduleId, UseModuleCase moduleUse, de::Random* rnd = nullptr)
+{
+       ShaderStageIdPtr createInfo(new VkPipelineShaderStageModuleIdentifierCreateInfoEXT(initVulkanStructure()));
+
+       createInfo->identifierSize = (isZeroLen(moduleUse) ? 0u : de::sizeU32(moduleId));
+
+       switch (moduleUse)
+       {
+       case UseModuleCase::ID:
+       case UseModuleCase::ZERO_LEN_ID:
+       case UseModuleCase::ALL_ZEROS: // For this one and below, the module id will have been modified outside.
+       case UseModuleCase::ALL_ONES:
+       case UseModuleCase::PSEUDORANDOM_ID:
+               createInfo->pIdentifier = de::dataOrNull(moduleId);
+               break;
+       case UseModuleCase::ZERO_LEN_ID_NULL_PTR:
+               break; // Already null as part of initVulkanStructure().
+       case UseModuleCase::ZERO_LEN_ID_GARBAGE_PTR:
+               {
+                       DE_ASSERT(rnd);
+
+                       // Fill pointer with random bytes.
+                       auto pIdentifierPtr = reinterpret_cast<uint8_t*>(&(createInfo->pIdentifier));
+
+                       for (size_t i = 0; i < sizeof(createInfo->pIdentifier); ++i)
+                               pIdentifierPtr[i] = rnd->getUint8();
+               }
+               break;
+       default:
+               DE_ASSERT(false);
+               break;
+       }
+
+       return createInfo;
+}
+
+VkShaderModule retUsedModule (VkShaderModule module, UseModuleCase moduleUse)
+{
+       return (isZeroLen(moduleUse) ? module : DE_NULL);
+}
+
+enum class PipelineType
+{
+       COMPUTE = 0,
+       GRAPHICS,
+       RAY_TRACING,
+};
+
+enum class GraphicsShaderType
+{
+       VERTEX = 0,
+       TESS_CONTROL,
+       TESS_EVAL,
+       GEOMETRY,
+       FRAG,
+};
+
+enum class RayTracingShaderType
+{
+       RAY_GEN = 0,
+       CLOSEST_HIT,
+       ANY_HIT,
+       INTERSECTION,
+       MISS,
+       CALLABLE,
+};
+
+using GraphicsShaderVec        = std::vector<GraphicsShaderType>;
+using RTShaderVec              = std::vector<RayTracingShaderType>;
+
+std::ostream& operator<<(std::ostream& out, GraphicsShaderType type)
+{
+       switch (type)
+       {
+       case GraphicsShaderType::VERTEX:                        out << "vert";          break;
+       case GraphicsShaderType::TESS_CONTROL:          out << "tesc";          break;
+       case GraphicsShaderType::TESS_EVAL:                     out << "tese";          break;
+       case GraphicsShaderType::GEOMETRY:                      out << "geom";          break;
+       case GraphicsShaderType::FRAG:                          out << "frag";          break;
+       default:
+               DE_ASSERT(false);
+               break;
+       }
+       return out;
+}
+
+std::ostream& operator<<(std::ostream& out, RayTracingShaderType type)
+{
+       switch (type)
+       {
+       case RayTracingShaderType::RAY_GEN:                     out << "rgen";          break;
+       case RayTracingShaderType::CLOSEST_HIT:         out << "chit";          break;
+       case RayTracingShaderType::ANY_HIT:                     out << "ahit";          break;
+       case RayTracingShaderType::INTERSECTION:        out << "isec";          break;
+       case RayTracingShaderType::MISS:                        out << "miss";          break;
+       case RayTracingShaderType::CALLABLE:            out << "call";          break;
+       default:
+               DE_ASSERT(false);
+               break;
+       }
+       return out;
+}
+
+template <class T>
+std::string toString(const std::vector<T>& vec)
+{
+       std::ostringstream out;
+       for (size_t i = 0; i < vec.size(); ++i)
+               out << ((i == 0) ? "" : "_") << vec.at(i);
+       return out.str();
+}
+
+// Pipeline executable properties helpers.
+struct PipelineExecutableStat
+{
+       PipelineExecutableStat (std::string name_, std::string description_, VkPipelineExecutableStatisticFormatKHR format_, VkPipelineExecutableStatisticValueKHR value_)
+               : name                  (std::move(name_))
+               , description   (std::move(description_))
+               , format                (format_)
+               , value                 (value_)
+               {}
+
+       const std::string                                                               name;
+       const std::string                                                               description;
+       const VkPipelineExecutableStatisticFormatKHR    format;
+       const VkPipelineExecutableStatisticValueKHR             value;
+};
+
+struct PipelineExecutableInternalRepresentation
+{
+       PipelineExecutableInternalRepresentation (std::string name_, std::string description_, bool isText_, const std::vector<uint8_t>& data)
+               : name                  (std::move(name_))
+               , description   (std::move(description_))
+               , m_isText              (isText_)
+               , m_text                ()
+               , m_bytes               ()
+       {
+               if (m_isText)
+                       m_text = std::string(reinterpret_cast<const char*>(data.data()));
+               else
+                       m_bytes = data;
+       }
+
+       const std::string name;
+       const std::string description;
+
+       bool                                            isText          (void) const { return m_isText; }
+       const std::string&                      getText         (void) const { DE_ASSERT(isText()); return m_text; }
+       const std::vector<uint8_t>&     getBytes        (void) const { DE_ASSERT(!isText()); return m_bytes; }
+
+protected:
+       const bool                              m_isText;
+       std::string                             m_text;
+       std::vector<uint8_t>    m_bytes;
+};
+
+struct PipelineExecutableProperty
+{
+       PipelineExecutableProperty (VkShaderStageFlags stageFlags_, std::string name_, std::string description_, uint32_t subgroupSize_)
+               : stageFlags    (stageFlags_)
+               , name                  (std::move(name_))
+               , description   (std::move(description_))
+               , subgroupSize  (subgroupSize_)
+               , m_stats               ()
+               , m_irs                 ()
+               {}
+
+       const VkShaderStageFlags        stageFlags;
+       const std::string                       name;
+       const std::string                       description;
+       const uint32_t                          subgroupSize;
+
+       void addStat    (const PipelineExecutableStat& stat)                                    { m_stats.emplace_back(stat); }
+       void addIR              (const PipelineExecutableInternalRepresentation& ir)    { m_irs.emplace_back(ir); }
+
+       const std::vector<PipelineExecutableStat>&                                              getStats        (void) const { return m_stats; }
+       const std::vector<PipelineExecutableInternalRepresentation>&    getIRs          (void) const { return m_irs; }
+
+protected:
+       std::vector<PipelineExecutableStat>                                             m_stats;
+       std::vector<PipelineExecutableInternalRepresentation>   m_irs;
+};
+
+// This will NOT compare stats and IRs, only flags, name, description and subgroup sizes.
+bool operator== (const PipelineExecutableProperty& a, const PipelineExecutableProperty& b)
+{
+       return (a.stageFlags == b.stageFlags && a.name == b.name && a.description == b.description && a.subgroupSize == b.subgroupSize);
+}
+
+// For sorting if used as a map key or in a set. Based on the property name.
+bool operator< (const PipelineExecutableProperty& a, const PipelineExecutableProperty& b)
+{
+       return (a.name < b.name);
+}
+
+std::ostream& operator<< (std::ostream& out, const PipelineExecutableProperty& prop)
+{
+       out << "PipelineExecutableProperty("
+               << "stageFlags=\"" << prop.stageFlags << "\", "
+               << "name=\"" << prop.name << "\", "
+               << "description=\"" << prop.description << "\", "
+               << "subgroupSize=\"" << prop.subgroupSize << "\")";
+       return out;
+}
+
+// What to capture from a pipeline.
+enum class CapturedPropertiesBits
+{
+       NONE    = 0,
+       STATS   = 1,
+       IRS             = 2,
+};
+using CapturedPropertiesFlags = uint32_t;
+
+VkPipelineCreateFlags getPipelineCreateFlags (CapturedPropertiesFlags capturedProperties)
+{
+       VkPipelineCreateFlags createFlags = 0u;
+
+       if (capturedProperties & static_cast<int>(CapturedPropertiesBits::STATS))
+               createFlags |= VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR;
+
+       if (capturedProperties & static_cast<int>(CapturedPropertiesBits::IRS))
+               createFlags |= VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR;
+
+       return createFlags;
+}
+
+VkPipelineInfoKHR makePipelineInfo (VkPipeline pipeline)
+{
+       VkPipelineInfoKHR pipelineInfo = initVulkanStructure();
+       pipelineInfo.pipeline = pipeline;
+       return pipelineInfo;
+}
+
+VkPipelineExecutableInfoKHR makePipelineExecutableInfo (VkPipeline pipeline, size_t executableIndex)
+{
+       VkPipelineExecutableInfoKHR info = initVulkanStructure();
+       info.pipeline                   = pipeline;
+       info.executableIndex    = static_cast<uint32_t>(executableIndex);
+       return info;
+}
+
+using PipelineExecutablePropertyVec = std::vector<PipelineExecutableProperty>;
+
+std::ostream& operator<< (std::ostream& out, const PipelineExecutablePropertyVec& vec)
+{
+       bool first = true;
+       out << "[";
+       for (const auto& prop : vec)
+       {
+               out << (first ? "" : ", ") << prop;
+               first = false;
+       }
+       out << "]";
+       return out;
+}
+
+PipelineExecutablePropertyVec getPipelineExecutableProperties (const DeviceInterface& vkd, VkDevice device, VkPipeline pipeline, CapturedPropertiesFlags captureFlags)
+{
+       PipelineExecutablePropertyVec   properties;
+       const auto                                              pipelineInfo    = makePipelineInfo(pipeline);
+       uint32_t                                                executableCount = 0u;
+
+       std::vector<VkPipelineExecutablePropertiesKHR> propertiesKHR;
+       VK_CHECK(vkd.getPipelineExecutablePropertiesKHR(device, &pipelineInfo, &executableCount, nullptr));
+
+       // No properties?
+       if (executableCount == 0u)
+               return properties;
+
+       propertiesKHR.resize(executableCount, initVulkanStructure());
+       VK_CHECK(vkd.getPipelineExecutablePropertiesKHR(device, &pipelineInfo, &executableCount, propertiesKHR.data()));
+
+       // Make a property with every result structure.
+       properties.reserve(propertiesKHR.size());
+       for (const auto& prop : propertiesKHR)
+               properties.emplace_back(prop.stages, prop.name, prop.description, prop.subgroupSize);
+
+       // Query stats if requested.
+       if (captureFlags & static_cast<int>(CapturedPropertiesBits::STATS))
+       {
+               for (size_t exeIdx = 0; exeIdx < properties.size(); ++exeIdx)
+               {
+                       uint32_t                                                                                statCount               = 0u;
+                       std::vector<VkPipelineExecutableStatisticKHR>   statsKHR;
+                       const auto                                                                              executableInfo  = makePipelineExecutableInfo(pipeline, exeIdx);
+
+                       VK_CHECK(vkd.getPipelineExecutableStatisticsKHR(device, &executableInfo, &statCount, nullptr));
+
+                       if (statCount == 0u)
+                               continue;
+
+                       statsKHR.resize(statCount, initVulkanStructure());
+                       VK_CHECK(vkd.getPipelineExecutableStatisticsKHR(device, &executableInfo, &statCount, statsKHR.data()));
+
+                       for (const auto& stat : statsKHR)
+                               properties[exeIdx].addStat(PipelineExecutableStat(stat.name, stat.description, stat.format, stat.value));
+               }
+       }
+
+       // Query IRs if requested.
+       if (captureFlags & static_cast<int>(CapturedPropertiesBits::IRS))
+       {
+               for (size_t exeIdx = 0; exeIdx < properties.size(); ++exeIdx)
+               {
+                       uint32_t                                                                                                        irsCount                = 0u;
+                       std::vector<VkPipelineExecutableInternalRepresentationKHR>      irsKHR;
+                       std::vector<std::vector<uint8_t>>                                                       irsData;
+                       const auto                                                                                                      executableInfo  = makePipelineExecutableInfo(pipeline, exeIdx);
+
+                       // Get count.
+                       VK_CHECK(vkd.getPipelineExecutableInternalRepresentationsKHR(device, &executableInfo, &irsCount, nullptr));
+
+                       if (irsCount == 0u)
+                               continue;
+
+                       // Get data sizes.
+                       irsData.resize(irsCount);
+                       irsKHR.resize(irsCount, initVulkanStructure());
+                       VK_CHECK(vkd.getPipelineExecutableInternalRepresentationsKHR(device, &executableInfo, &irsCount, irsKHR.data()));
+
+                       // Get data.
+                       for (size_t irIdx = 0; irIdx < irsKHR.size(); ++irIdx)
+                       {
+                               auto& dataBuffer        = irsData[irIdx];
+                               auto& irKHR                     = irsKHR[irIdx];
+
+                               dataBuffer.resize(irKHR.dataSize);
+                               irKHR.pData = dataBuffer.data();
+                       }
+                       VK_CHECK(vkd.getPipelineExecutableInternalRepresentationsKHR(device, &executableInfo, &irsCount, irsKHR.data()));
+
+                       // Append IRs to property.
+                       for (size_t irIdx = 0; irIdx < irsKHR.size(); ++irIdx)
+                       {
+                               const auto& ir = irsKHR[irIdx];
+                               properties[exeIdx].addIR(PipelineExecutableInternalRepresentation(ir.name, ir.description, ir.isText, irsData[irIdx]));
+                       }
+               }
+       }
+
+       return properties;
+}
+
+struct BaseParams
+{
+       const PipelineType                      pipelineType;
+       GraphicsShaderVec                       graphicsShaders;
+       RTShaderVec                                     rtShaders;
+       const uint8_t                           pipelineCount;
+       const tcu::Maybe<uint8_t>       pipelineToRun;
+       const bool                                      useSpecializationConstants;
+       const bool                                      useCache;
+
+       BaseParams (PipelineType                                pipelineType_,
+                               GraphicsShaderVec                       graphicsShaders_,
+                               RTShaderVec                                     rtShaders_,
+                               uint8_t                                         pipelineCount_,
+                               const tcu::Maybe<uint8_t>&      pipelineToRun_,
+                               bool                                            useSCs_,
+                               bool                                            useCache_)
+               : pipelineType                                  (pipelineType_)
+               , graphicsShaders                               (std::move(graphicsShaders_))
+               , rtShaders                                             (std::move(rtShaders_))
+               , pipelineCount                                 (pipelineCount_)
+               , pipelineToRun                                 (pipelineToRun_)
+               , useSpecializationConstants    (useSCs_)
+               , useCache                                              (useCache_)
+       {
+               if (pipelineType != PipelineType::GRAPHICS)
+                       DE_ASSERT(graphicsShaders.empty());
+               else if (pipelineType != PipelineType::RAY_TRACING)
+                       DE_ASSERT(rtShaders.empty());
+
+               if (static_cast<bool>(pipelineToRun))
+                       DE_ASSERT(pipelineToRun.get() < pipelineCount);
+
+               // We'll use one descriptor set per pipeline, so we only want a few pipelines.
+               DE_ASSERT(static_cast<uint32_t>(pipelineCount) <= 4u);
+       }
+
+       // Make the class polymorphic, needed below.
+       virtual ~BaseParams () {}
+
+       size_t stageCountPerPipeline (void) const
+       {
+               size_t stageCount = 0;
+
+               switch (pipelineType)
+               {
+               case PipelineType::COMPUTE:                     stageCount = 1u;                                                break;
+               case PipelineType::GRAPHICS:            stageCount = graphicsShaders.size();    break;
+               case PipelineType::RAY_TRACING:         stageCount = rtShaders.size();                  break;
+               default:
+                       DE_ASSERT(false);
+                       break;
+               }
+
+               return stageCount;
+       }
+
+protected:
+       bool hasGraphicsStage (GraphicsShaderType stage) const
+       {
+               if (pipelineType != PipelineType::GRAPHICS)
+                       return false;
+               return de::contains(begin(graphicsShaders), end(graphicsShaders), stage);
+       }
+
+       bool hasRTStage (RayTracingShaderType stage) const
+       {
+               if (pipelineType != PipelineType::RAY_TRACING)
+                       return false;
+               return de::contains(begin(rtShaders), end(rtShaders), stage);
+       }
+
+public:
+       bool hasGeom (void) const
+       {
+               return hasGraphicsStage(GraphicsShaderType::GEOMETRY);
+       }
+
+       bool hasTess (void) const
+       {
+               return (hasGraphicsStage(GraphicsShaderType::TESS_CONTROL) || hasGraphicsStage(GraphicsShaderType::TESS_EVAL));
+       }
+
+       bool hasVertexPipelineStage (void) const
+       {
+               return (hasGraphicsStage(GraphicsShaderType::VERTEX) || hasTess() || hasGeom());
+       }
+
+       bool hasFrag (void) const
+       {
+               return hasGraphicsStage(GraphicsShaderType::FRAG);
+       }
+
+       bool hasRayTracing (void) const
+       {
+               return (pipelineType == PipelineType::RAY_TRACING);
+       }
+
+       bool hasHit (void) const
+       {
+               return (hasRTStage(RayTracingShaderType::ANY_HIT) || hasRTStage(RayTracingShaderType::CLOSEST_HIT) || hasRTStage(RayTracingShaderType::INTERSECTION));
+       }
+
+       bool hasISec (void) const
+       {
+               return hasRTStage(RayTracingShaderType::INTERSECTION);
+       }
+
+       bool hasMiss (void) const
+       {
+               return hasRTStage(RayTracingShaderType::MISS);
+       }
+
+       VkPipelineStageFlags getPipelineStageFlags (void) const
+       {
+               if (pipelineType == PipelineType::COMPUTE)
+                       return VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
+
+               if (pipelineType == PipelineType::RAY_TRACING)
+                       return VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR;
+
+               if (pipelineType == PipelineType::GRAPHICS)
+               {
+                       VkPipelineStageFlags stageFlags = 0u;
+
+                       for (const auto& stage : graphicsShaders)
+                       {
+                               switch (stage)
+                               {
+                               case GraphicsShaderType::VERTEX:                stageFlags |= VK_PIPELINE_STAGE_VERTEX_SHADER_BIT;                                      break;
+                               case GraphicsShaderType::TESS_CONTROL:  stageFlags |= VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT;        break;
+                               case GraphicsShaderType::TESS_EVAL:             stageFlags |= VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT;     break;
+                               case GraphicsShaderType::GEOMETRY:              stageFlags |= VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT;                            break;
+                               case GraphicsShaderType::FRAG:                  stageFlags |= VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT;                            break;
+                               default:
+                                       DE_ASSERT(false);
+                                       break;
+                               }
+                       }
+
+                       return stageFlags;
+               }
+
+               DE_ASSERT(false);
+               return 0u;
+       }
+
+       VkShaderStageFlags getShaderStageFlags (void) const
+       {
+               if (pipelineType == PipelineType::COMPUTE)
+                       return VK_SHADER_STAGE_COMPUTE_BIT;
+
+               if (pipelineType == PipelineType::RAY_TRACING)
+               {
+                       VkShaderStageFlags stageFlags = 0u;
+
+                       for (const auto& stage : rtShaders)
+                       {
+                               switch (stage)
+                               {
+                               case RayTracingShaderType::RAY_GEN:                     stageFlags |= VK_SHADER_STAGE_RAYGEN_BIT_KHR;           break;
+                               case RayTracingShaderType::CLOSEST_HIT:         stageFlags |= VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR;      break;
+                               case RayTracingShaderType::ANY_HIT:                     stageFlags |= VK_SHADER_STAGE_ANY_HIT_BIT_KHR;          break;
+                               case RayTracingShaderType::INTERSECTION:        stageFlags |= VK_SHADER_STAGE_INTERSECTION_BIT_KHR;     break;
+                               case RayTracingShaderType::MISS:                        stageFlags |= VK_SHADER_STAGE_MISS_BIT_KHR;                     break;
+                               case RayTracingShaderType::CALLABLE:            stageFlags |= VK_SHADER_STAGE_CALLABLE_BIT_KHR;         break;
+                               default:
+                                       DE_ASSERT(false);
+                                       break;
+                               }
+                       }
+
+                       return stageFlags;
+               }
+
+               if (pipelineType == PipelineType::GRAPHICS)
+               {
+                       VkShaderStageFlags stageFlags = 0u;
+
+                       for (const auto& stage : graphicsShaders)
+                       {
+                               switch (stage)
+                               {
+                               case GraphicsShaderType::VERTEX:                stageFlags |= VK_SHADER_STAGE_VERTEX_BIT;                                       break;
+                               case GraphicsShaderType::TESS_CONTROL:  stageFlags |= VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT;         break;
+                               case GraphicsShaderType::TESS_EVAL:             stageFlags |= VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT;      break;
+                               case GraphicsShaderType::GEOMETRY:              stageFlags |= VK_SHADER_STAGE_GEOMETRY_BIT;                                     break;
+                               case GraphicsShaderType::FRAG:                  stageFlags |= VK_SHADER_STAGE_FRAGMENT_BIT;                                     break;
+                               default:
+                                       DE_ASSERT(false);
+                                       break;
+                               }
+                       }
+
+                       return stageFlags;
+               }
+
+               DE_ASSERT(false);
+               return 0u;
+       }
+};
+
+using BaseParamsPtr = std::unique_ptr<BaseParams>;
+
+void checkShaderModuleIdentifierSupport (Context& context)
+{
+       context.requireDeviceFunctionality("VK_EXT_shader_module_identifier");
+}
+
+void getTwoShaderIdentifierProperties  (Context& context,
+                                                                                VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT* properties1,
+                                                                                VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT* properties2)
+{
+       *properties1 = initVulkanStructure();
+       *properties2 = initVulkanStructure();
+
+       const auto&                                     vki                             = context.getInstanceInterface();
+       const auto                                      physicalDevice  = context.getPhysicalDevice();
+       VkPhysicalDeviceProperties2     main                    = initVulkanStructure(properties1);
+
+       vki.getPhysicalDeviceProperties2(physicalDevice, &main);
+       main.pNext = properties2;
+       vki.getPhysicalDeviceProperties2(physicalDevice, &main);
+}
+
+tcu::TestStatus constantAlgorithmUUIDCase (Context& context)
+{
+       VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT properties1, properties2;
+       getTwoShaderIdentifierProperties(context, &properties1, &properties2);
+
+       const auto uuidSize = static_cast<size_t>(VK_UUID_SIZE);
+
+       if (deMemCmp(properties1.shaderModuleIdentifierAlgorithmUUID, properties2.shaderModuleIdentifierAlgorithmUUID, uuidSize) != 0)
+               return tcu::TestStatus::fail("shaderModuleIdentifierAlgorithmUUID not constant accross calls");
+
+       uint8_t nullUUID[uuidSize];
+       deMemset(nullUUID, 0, uuidSize);
+
+       if (deMemCmp(properties1.shaderModuleIdentifierAlgorithmUUID, nullUUID, uuidSize) == 0)
+               return tcu::TestStatus(QP_TEST_RESULT_QUALITY_WARNING, "shaderModuleIdentifierAlgorithmUUID is all zeros");
+
+       return tcu::TestStatus::pass("Pass");
+}
+
+std::vector<uint32_t> generateShaderConstants (PipelineType pipelineType, uint8_t pipelineCount, size_t stageCount)
+{
+       std::vector<uint32_t> shaderConstants;
+
+       for (uint8_t pipelineIdx = 0; pipelineIdx < pipelineCount; ++pipelineIdx)
+               for (size_t stageIdx = 0; stageIdx < stageCount; ++stageIdx)
+                       shaderConstants.push_back(0xEB000000u
+                               | ((static_cast<uint32_t>(pipelineType) & 0xFFu)  << 16)
+                               | ((static_cast<uint32_t>(pipelineIdx)  & 0xFFu)  <<  8)
+                               | ((static_cast<uint32_t>(stageIdx)     & 0xFFu)       )
+                       );
+
+       return shaderConstants;
+}
+
+size_t getShaderIdx (uint8_t pipelineIdx, size_t stageIdx, size_t stageCount)
+{
+       const auto pIdx = static_cast<size_t>(pipelineIdx);
+       return (pIdx * stageCount + stageIdx);
+}
+
+void generateSources (SourceCollections& programCollection, const BaseParams* params_)
+{
+       const auto&     params                  = *params_;
+       const auto      stageCount              = params.stageCountPerPipeline();
+       const auto      constantValues  = generateShaderConstants(params.pipelineType, params.pipelineCount, stageCount);
+
+       StringVec constantDecls;        // Per pipeline and stage.
+       StringVec pipelineAdds;         // Per pipeline.
+       StringVec stageStores;          // Per stage.
+
+       std::string ssboDecl;           // Universal.
+       std::string uboDecls;           // Universal.
+       std::string outValueDecl        = "    uint outValue = stageConstant;\n";       // Universal.
+
+       // Each stage in each pipeline will have one specific constant value.
+       {
+               for (uint8_t pipelineIdx = 0; pipelineIdx < params.pipelineCount; ++pipelineIdx)
+                       for (size_t stageIdx = 0; stageIdx < stageCount; ++stageIdx)
+                       {
+                               constantDecls.push_back(params.useSpecializationConstants
+                                       ? "layout (constant_id=0) const uint stageConstant = 0u;\n"
+                                       : "const uint stageConstant = " + std::to_string(constantValues.at(getShaderIdx(pipelineIdx, stageIdx, stageCount))) + "u;\n");
+                       }
+       }
+
+       // Each pipeline will have slightly different code by adding more values to the constant in each shader.
+       // The values will come from UBOs and, in practice, will contain zeros.
+       {
+               pipelineAdds.reserve(params.pipelineCount);
+
+               for (uint8_t pipelineIdx = 0; pipelineIdx < params.pipelineCount; ++pipelineIdx)
+               {
+                       std::string     additions;
+                       const auto      addCount        = static_cast<size_t>(pipelineIdx + 1);
+
+                       for (size_t addIdx = 0; addIdx < addCount; ++addIdx)
+                       {
+                               const auto uboId = addIdx + 1;
+                               additions += "    outValue += ubo_" + std::to_string(uboId) + ".value;\n";
+                       }
+
+                       pipelineAdds.push_back(additions);
+               }
+       }
+
+       // Each stage will write the output value to an SSBO position.
+       {
+               stageStores.reserve(stageCount);
+
+               for (size_t stageIdx = 0; stageIdx < stageCount; ++stageIdx)
+               {
+                       const auto stageStore = "    ssbo.values[" + std::to_string(stageIdx) + "] = outValue;\n";
+                       stageStores.push_back(stageStore);
+               }
+       }
+
+       // The SSBO declaration is constant.
+       ssboDecl = "layout (set=0, binding=0, std430) buffer SSBOBlock { uint values[]; } ssbo;\n";
+
+       // The UBO declarations are constant. We need one UBO per pipeline, but all pipelines declare them all.
+       {
+               for (uint8_t pipelineIdx = 0; pipelineIdx < params.pipelineCount; ++pipelineIdx)
+               {
+                       const auto uboId = pipelineIdx + 1;
+                       const auto idStr = std::to_string(uboId);
+                       uboDecls += "layout (set=0, binding=" + idStr + ") uniform UBOBlock" + idStr + " { uint value; } ubo_" + idStr + ";\n";
+               }
+       }
+
+       if (params.pipelineType == PipelineType::COMPUTE)
+       {
+               const std::string localSize     = (params.useSpecializationConstants
+                                                                       ? "layout (local_size_x_id=1, local_size_y_id=2, local_size_z_id=3) in;\n"
+                                                                       : "layout (local_size_x=1, local_size_y=1, local_size_z=1) in;\n");
+
+               for (uint8_t pipelineIdx = 0; pipelineIdx < params.pipelineCount; ++pipelineIdx)
+               {
+                       const auto                      plIdxSz         = static_cast<size_t>(pipelineIdx);
+                       const std::string       shaderName      = "comp_" + std::to_string(plIdxSz);
+                       const auto                      shaderIdx       = getShaderIdx(pipelineIdx, 0, stageCount);
+
+                       std::ostringstream comp;
+                       comp
+                               << "#version 450\n"
+                               << localSize
+                               << ssboDecl
+                               << uboDecls
+                               << constantDecls.at(shaderIdx)
+                               << "void main (void) {\n"
+                               << outValueDecl
+                               << pipelineAdds.at(plIdxSz)
+                               << "    if (gl_LocalInvocationIndex == 0u) {\n"
+                               << stageStores.at(0)
+                               << "    }\n"
+                               << "}\n"
+                               ;
+                       programCollection.glslSources.add(shaderName) << glu::ComputeSource(comp.str());
+               }
+       }
+       else if (params.pipelineType == PipelineType::GRAPHICS)
+       {
+               bool hasVertex                  = false;
+               bool hasTessControl             = false;
+               bool hasTessEval                = false;
+               bool hasGeom                    = false;
+               bool hasFrag                    = false;
+
+               // Assign a unique index to each active shader type.
+               size_t vertShaderIdx    = 0u;
+               size_t tescShaderIdx    = 0u;
+               size_t teseShaderIdx    = 0u;
+               size_t geomShaderIdx    = 0u;
+               size_t fragShaderIdx    = 0u;
+               size_t curShaderIdx             = 0u;
+
+               const std::set<GraphicsShaderType> uniqueStages (begin(params.graphicsShaders), end(params.graphicsShaders));
+
+               for (const auto& stage : uniqueStages)
+               {
+                       switch (stage)
+                       {
+                       case GraphicsShaderType::VERTEX:                hasVertex               = true; vertShaderIdx = curShaderIdx++; break;
+                       case GraphicsShaderType::TESS_CONTROL:  hasTessControl  = true; tescShaderIdx = curShaderIdx++; break;
+                       case GraphicsShaderType::TESS_EVAL:             hasTessEval             = true; teseShaderIdx = curShaderIdx++; break;
+                       case GraphicsShaderType::GEOMETRY:              hasGeom                 = true; geomShaderIdx = curShaderIdx++; break;
+                       case GraphicsShaderType::FRAG:                  hasFrag                 = true; fragShaderIdx = curShaderIdx++; break;
+                       default:                                                                DE_ASSERT(false);                                                                               break;
+                       }
+               }
+
+               const bool hasTess = (hasTessControl || hasTessEval);
+
+               for (uint8_t pipelineIdx = 0; pipelineIdx < params.pipelineCount; ++pipelineIdx)
+               {
+                       const auto plIdxSz = static_cast<size_t>(pipelineIdx);
+
+                       if (hasVertex)
+                       {
+                               const std::string       shaderName      = "vert_" + std::to_string(plIdxSz);
+                               const auto                      shaderIdx       = getShaderIdx(pipelineIdx, vertShaderIdx, stageCount);
+
+                               std::ostringstream vert;
+                               vert
+                                       << "#version 450\n"
+                                       << "out gl_PerVertex\n"
+                                       << "{\n"
+                                       << "    vec4 gl_Position;\n"
+                                       << (hasTess ? "" : "    float gl_PointSize;\n")
+                                       << "};\n"
+                                       ;
+
+                               if (hasTess)
+                               {
+                                       vert
+                                               << "vec2 vertexPositions[3] = vec2[](\n"
+                                               << "    vec2( 0.0, -0.5),\n"
+                                               << "    vec2( 0.5,  0.5),\n"
+                                               << "    vec2(-0.5,  0.5)\n"
+                                               << ");\n"
+                                               ;
+                               }
+
+                               vert
+                                       << ssboDecl
+                                       << uboDecls
+                                       << constantDecls.at(shaderIdx)
+                                       << "void main (void) {\n"
+                                       << outValueDecl
+                                       << pipelineAdds.at(plIdxSz)
+                                       << stageStores.at(vertShaderIdx)
+                                       ;
+
+                               if (hasTess)
+                               {
+                                       vert << "    gl_Position = vec4(vertexPositions[gl_VertexIndex], 0.0, 1.0);\n";
+                               }
+                               else
+                               {
+                                       vert
+                                               << "    gl_Position = vec4(0.0, 0.0, 0.0, 1.0);\n"
+                                               << "    gl_PointSize = 1.0;\n"
+                                               ;
+                               }
+
+                               vert << "}\n";
+
+                               programCollection.glslSources.add(shaderName) << glu::VertexSource(vert.str());
+                       }
+
+                       if (hasFrag)
+                       {
+                               const std::string       shaderName      = "frag_" + std::to_string(plIdxSz);
+                               const auto                      shaderIdx       = getShaderIdx(pipelineIdx, fragShaderIdx, stageCount);
+
+                               std::ostringstream frag;
+                               frag
+                                       << "#version 450\n"
+                                       << "layout (location=0) out vec4 outColor;\n"
+                                       << ssboDecl
+                                       << uboDecls
+                                       << constantDecls.at(shaderIdx)
+                                       << "void main (void) {\n"
+                                       << outValueDecl
+                                       << pipelineAdds.at(plIdxSz)
+                                       << stageStores.at(fragShaderIdx)
+                                       << "    outColor = vec4(0.0, 0.0, 1.0, 1.0);\n"
+                                       << "}\n"
+                                       ;
+                               programCollection.glslSources.add(shaderName) << glu::FragmentSource(frag.str());
+                       }
+
+                       if (hasTessControl)
+                       {
+                               const std::string       shaderName      = "tesc_" + std::to_string(plIdxSz);
+                               const auto                      shaderIdx       = getShaderIdx(pipelineIdx, tescShaderIdx, stageCount);
+
+                               std::ostringstream tesc;
+                               tesc
+                                       << "#version 450\n"
+                                       << "layout (vertices=3) out;\n"
+                                       << "in gl_PerVertex\n"
+                                       << "{\n"
+                                       << "    vec4 gl_Position;\n"
+                                       << "} gl_in[gl_MaxPatchVertices];\n"
+                                       << "out gl_PerVertex\n"
+                                       << "{\n"
+                                       << "    vec4 gl_Position;\n"
+                                       << "} gl_out[];\n"
+                                       << ssboDecl
+                                       << uboDecls
+                                       << constantDecls.at(shaderIdx)
+                                       << "void main (void) {\n"
+                                       << outValueDecl
+                                       << pipelineAdds.at(plIdxSz)
+                                       << stageStores.at(tescShaderIdx)
+                                       << "    gl_TessLevelInner[0] = 1.0;\n"
+                                       << "    gl_TessLevelInner[1] = 1.0;\n"
+                                       << "    gl_TessLevelOuter[0] = 1.0;\n"
+                                       << "    gl_TessLevelOuter[1] = 1.0;\n"
+                                       << "    gl_TessLevelOuter[2] = 1.0;\n"
+                                       << "    gl_TessLevelOuter[3] = 1.0;\n"
+                                       << "    gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;\n"
+                                       << "}\n"
+                                       ;
+                               programCollection.glslSources.add(shaderName) << glu::TessellationControlSource(tesc.str());
+                       }
+
+                       if (hasTessEval)
+                       {
+                               const std::string       shaderName      = "tese_" + std::to_string(plIdxSz);
+                               const auto                      shaderIdx       = getShaderIdx(pipelineIdx, teseShaderIdx, stageCount);
+
+                               std::ostringstream tese;
+                               tese
+                                       << "#version 450\n"
+                                       << "layout (triangles, fractional_odd_spacing, cw) in;\n"
+                                       << "in gl_PerVertex\n"
+                                       << "{\n"
+                                       << "    vec4 gl_Position;\n"
+                                       << "} gl_in[gl_MaxPatchVertices];\n"
+                                       << "out gl_PerVertex\n"
+                                       << "{\n"
+                                       << "    vec4 gl_Position;\n"
+                                       << "};\n"
+                                       << ssboDecl
+                                       << uboDecls
+                                       << constantDecls.at(shaderIdx)
+                                       << "void main (void) {\n"
+                                       << outValueDecl
+                                       << pipelineAdds.at(plIdxSz)
+                                       << stageStores.at(teseShaderIdx)
+                                       << "    gl_Position = (gl_TessCoord.x * gl_in[0].gl_Position) +\n"
+                                       << "                  (gl_TessCoord.y * gl_in[1].gl_Position) +\n"
+                                       << "                  (gl_TessCoord.z * gl_in[2].gl_Position);\n"
+                                       << "}\n"
+                                       ;
+                               programCollection.glslSources.add(shaderName) << glu::TessellationEvaluationSource(tese.str());
+                       }
+
+                       if (hasGeom)
+                       {
+                               const std::string       shaderName      = "geom_" + std::to_string(plIdxSz);
+                               const auto                      shaderIdx       = getShaderIdx(pipelineIdx, geomShaderIdx, stageCount);
+                               const auto                      inputPrim       = (hasTess ? "triangles" : "points");
+                               const auto                      outputPrim      = (hasTess ? "triangle_strip" : "points");
+                               const auto                      vertexCount     = (hasTess ? 3u : 1u);
+
+                               std::ostringstream geom;
+                               geom
+                                       << "#version 450\n"
+                                       << "layout (" << inputPrim << ") in;\n"
+                                       << "layout (" << outputPrim << ", max_vertices=" << vertexCount << ") out;\n"
+                                       << "in gl_PerVertex\n"
+                                       << "{\n"
+                                       << "    vec4 gl_Position;\n"
+                                       << (hasTess ? "" : "    float gl_PointSize;\n")
+                                       << "} gl_in[" << vertexCount << "];\n"
+                                       << "out gl_PerVertex\n"
+                                       << "{\n"
+                                       << "    vec4 gl_Position;\n"
+                                       << (hasTess ? "" : "    float gl_PointSize;\n")
+                                       << "};\n"
+                                       << ssboDecl
+                                       << uboDecls
+                                       << constantDecls.at(shaderIdx)
+                                       << "void main (void) {\n"
+                                       << outValueDecl
+                                       << pipelineAdds.at(plIdxSz)
+                                       << stageStores.at(geomShaderIdx)
+                                       ;
+
+                               for (uint32_t i = 0; i < vertexCount; ++i)
+                               {
+                                       geom
+                                               << "    gl_Position = gl_in[" << i << "].gl_Position;\n"
+                                               << (hasTess ? "" : "    gl_PointSize = gl_in[" + std::to_string(i) + "].gl_PointSize;\n")
+                                               << "    EmitVertex();\n"
+                                               ;
+                               }
+
+                               geom << "}\n";
+
+                               programCollection.glslSources.add(shaderName) << glu::GeometrySource(geom.str());
+                       }
+               }
+       }
+       else if (params.pipelineType == PipelineType::RAY_TRACING)
+       {
+               bool hasRayGen                  = false;
+               bool hasAnyHit                  = false;
+               bool hasClosestHit              = false;
+               bool hasIntersection    = false;
+               bool hasMiss                    = false;
+               bool hasCallable                = false;
+
+               // Assign a unique index to each active shader type.
+               size_t rgenShaderIdx    = 0u;
+               size_t ahitShaderIdx    = 0u;
+               size_t chitShaderIdx    = 0u;
+               size_t isecShaderIdx    = 0u;
+               size_t missShaderIdx    = 0u;
+               size_t callShaderIdx    = 0u;
+               size_t curShaderIdx             = 0u;
+
+               const std::set<RayTracingShaderType> uniqueStages (begin(params.rtShaders), end(params.rtShaders));
+
+               for (const auto& stage : uniqueStages)
+               {
+                       switch (stage)
+                       {
+                       case RayTracingShaderType::RAY_GEN:                     hasRayGen               = true; rgenShaderIdx = curShaderIdx++; break;
+                       case RayTracingShaderType::ANY_HIT:                     hasAnyHit               = true; ahitShaderIdx = curShaderIdx++; break;
+                       case RayTracingShaderType::CLOSEST_HIT:         hasClosestHit   = true; chitShaderIdx = curShaderIdx++; break;
+                       case RayTracingShaderType::INTERSECTION:        hasIntersection = true; isecShaderIdx = curShaderIdx++; break;
+                       case RayTracingShaderType::MISS:                        hasMiss                 = true; missShaderIdx = curShaderIdx++; break;
+                       case RayTracingShaderType::CALLABLE:            hasCallable             = true; callShaderIdx = curShaderIdx++; break;
+                       default:                                                                        DE_ASSERT(false);                                                                               break;
+                       }
+               }
+
+               const vk::ShaderBuildOptions    buildOptions    (programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_4, 0u, true/* allow SPIR-V 1.4 */);
+               const bool                                              needsRayTraced  = (hasAnyHit || hasClosestHit || hasIntersection || hasMiss);
+
+               for (uint8_t pipelineIdx = 0; pipelineIdx < params.pipelineCount; ++pipelineIdx)
+               {
+                       const auto plIdxSz = static_cast<size_t>(pipelineIdx);
+
+                       if (hasRayGen)
+                       {
+                               const std::string       shaderName      = "rgen_" + std::to_string(plIdxSz);
+                               const auto                      shaderIdx       = getShaderIdx(pipelineIdx, rgenShaderIdx, stageCount);
+
+                               std::ostringstream rgen;
+                               rgen
+                                       << "#version 460\n"
+                                       << "#extension GL_EXT_ray_tracing : require\n"
+                                       << (needsRayTraced ? "layout (location=0) rayPayloadEXT vec3 hitValue;\n" : "")
+                                       << (hasCallable ? "layout (location=0) callableDataEXT float unused;\n" : "")
+                                       // Ray tracing pipelines will use a separate set for the acceleration structure.
+                                       << "layout (set=1, binding=0) uniform accelerationStructureEXT topLevelAS;\n"
+                                       << ssboDecl
+                                       << uboDecls
+                                       << constantDecls.at(shaderIdx)
+                                       << "void main (void) {\n"
+                                       << outValueDecl
+                                       << pipelineAdds.at(plIdxSz)
+                                       << "    if (gl_LaunchIDEXT.x == 0u) {\n"
+                                       << stageStores.at(rgenShaderIdx)
+                                       << "    }\n"
+                                       << "    uint  rayFlags = 0;\n"
+                                       << "    uint  cullMask = 0xFF;\n"
+                                       << "    float tmin     = 0.0;\n"
+                                       << "    float tmax     = 10.0;\n"
+                                       // Rays will be traced towards +Z and geometry should be in the [0, 1] range in both X and Y, possibly at Z=5.
+                                       // If a hit and a miss shader are used, a second ray will be traced starting at X=1.5, which should result in a miss.
+                                       << "    vec3  origin   = vec3(float(gl_LaunchIDEXT.x) + 0.5f, 0.5, 0.0);\n"
+                                       << "    vec3  direct   = vec3(0.0, 0.0, 1.0);\n"
+                                       << (needsRayTraced ? "    traceRayEXT(topLevelAS, rayFlags, cullMask, 0, 0, 0, origin, tmin, direct, tmax, 0);\n" : "")
+                                       << (hasCallable ? "    executeCallableEXT(0, 0);\n" : "")
+                                       << "}\n"
+                                       ;
+                               programCollection.glslSources.add(shaderName) << glu::RaygenSource(rgen.str()) << buildOptions;
+                       }
+
+                       if (hasAnyHit)
+                       {
+                               const std::string       shaderName      = "ahit_" + std::to_string(plIdxSz);
+                               const auto                      shaderIdx       = getShaderIdx(pipelineIdx, ahitShaderIdx, stageCount);
+
+                               // VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR should be used.
+                               std::stringstream ahit;
+                               ahit
+                                       << "#version 460\n"
+                                       << "#extension GL_EXT_ray_tracing : require\n"
+                                       << "layout (location=0) rayPayloadInEXT vec3 hitValue;\n"
+                                       << "hitAttributeEXT vec3 attribs;\n"
+                                       << ssboDecl
+                                       << uboDecls
+                                       << constantDecls.at(shaderIdx)
+                                       << "void main()\n"
+                                       << "{\n"
+                                       << outValueDecl
+                                       << pipelineAdds.at(plIdxSz)
+                                       << stageStores.at(ahitShaderIdx)
+                                       << "}\n"
+                                       ;
+
+                               programCollection.glslSources.add(shaderName) << glu::AnyHitSource(ahit.str()) << buildOptions;
+                       }
+
+                       if (hasClosestHit)
+                       {
+                               const std::string       shaderName      = "chit_" + std::to_string(plIdxSz);
+                               const auto                      shaderIdx       = getShaderIdx(pipelineIdx, chitShaderIdx, stageCount);
+
+                               std::stringstream chit;
+                               chit
+                                       << "#version 460\n"
+                                       << "#extension GL_EXT_ray_tracing : require\n"
+                                       << "layout (location=0) rayPayloadInEXT vec3 hitValue;\n"
+                                       << "hitAttributeEXT vec3 attribs;\n"
+                                       << ssboDecl
+                                       << uboDecls
+                                       << constantDecls.at(shaderIdx)
+                                       << "void main()\n"
+                                       << "{\n"
+                                       << outValueDecl
+                                       << pipelineAdds.at(plIdxSz)
+                                       << stageStores.at(chitShaderIdx)
+                                       << "}\n"
+                                       ;
+
+                               programCollection.glslSources.add(shaderName) << glu::ClosestHitSource(chit.str()) << buildOptions;
+                       }
+
+                       if (hasIntersection)
+                       {
+                               const std::string       shaderName      = "isec_" + std::to_string(plIdxSz);
+                               const auto                      shaderIdx       = getShaderIdx(pipelineIdx, isecShaderIdx, stageCount);
+
+                               std::stringstream isec;
+                               isec
+                                       << "#version 460\n"
+                                       << "#extension GL_EXT_ray_tracing : require\n"
+                                       << "hitAttributeEXT vec3 hitAttribute;\n"
+                                       << ssboDecl
+                                       << uboDecls
+                                       << constantDecls.at(shaderIdx)
+                                       << "void main()\n"
+                                       << "{\n"
+                                       << outValueDecl
+                                       << pipelineAdds.at(plIdxSz)
+                                       << stageStores.at(isecShaderIdx)
+                                       << "  hitAttribute = vec3(0.0, 0.0, 0.0);\n"
+                                       << "  reportIntersectionEXT(5.0, 0);\n"
+                                       << "}\n"
+                                       ;
+
+                               programCollection.glslSources.add(shaderName) << glu::IntersectionSource(isec.str()) << buildOptions;
+                       }
+
+                       if (hasMiss)
+                       {
+                               const std::string       shaderName      = "miss_" + std::to_string(plIdxSz);
+                               const auto                      shaderIdx       = getShaderIdx(pipelineIdx, missShaderIdx, stageCount);
+
+                               std::stringstream miss;
+                               miss
+                                       << "#version 460\n"
+                                       << "#extension GL_EXT_ray_tracing : require\n"
+                                       << "layout (location=0) rayPayloadInEXT vec3 hitValue;\n"
+                                       << ssboDecl
+                                       << uboDecls
+                                       << constantDecls.at(shaderIdx)
+                                       << "void main()\n"
+                                       << "{\n"
+                                       << outValueDecl
+                                       << pipelineAdds.at(plIdxSz)
+                                       << stageStores.at(missShaderIdx)
+                                       << "}\n"
+                                       ;
+
+                               programCollection.glslSources.add(shaderName) << glu::MissSource(miss.str()) << buildOptions;
+                       }
+
+                       if (hasCallable)
+                       {
+                               const std::string       shaderName      = "call_" + std::to_string(plIdxSz);
+                               const auto                      shaderIdx       = getShaderIdx(pipelineIdx, callShaderIdx, stageCount);
+
+                               std::stringstream call;
+                               call
+                                       << "#version 460\n"
+                                       << "#extension GL_EXT_ray_tracing : require\n"
+                                       << "layout (location=0) callableDataInEXT float unused;\n"
+                                       << ssboDecl
+                                       << uboDecls
+                                       << constantDecls.at(shaderIdx)
+                                       << "void main()\n"
+                                       << "{\n"
+                                       << outValueDecl
+                                       << pipelineAdds.at(plIdxSz)
+                                       << stageStores.at(callShaderIdx)
+                                       << "}\n"
+                                       ;
+
+                               programCollection.glslSources.add(shaderName) << glu::CallableSource(call.str()) << buildOptions;
+                       }
+               }
+       }
+       else
+               DE_ASSERT(false);
+}
+
+// Virtual base class that uses the functions above to generate sources and check for support.
+class SourcesAndSupportFromParamsBase : public vkt::TestCase
+{
+public:
+                                       SourcesAndSupportFromParamsBase         (tcu::TestContext& testCtx, const std::string& name, const std::string& description, BaseParamsPtr&& params)
+                                               : vkt::TestCase(testCtx, name, description)
+                                               , m_params(std::move(params))
+                                               {}
+       virtual                 ~SourcesAndSupportFromParamsBase        (void) {}
+       void                    initPrograms                                            (vk::SourceCollections& programCollection) const override;
+       void                    checkSupport                                            (Context& context) const override;
+
+protected:
+       const BaseParamsPtr m_params;
+};
+
+void SourcesAndSupportFromParamsBase::initPrograms (vk::SourceCollections &programCollection) const
+{
+       generateSources(programCollection, m_params.get());
+}
+
+void SourcesAndSupportFromParamsBase::checkSupport (Context &context) const
+{
+       checkShaderModuleIdentifierSupport(context);
+
+       if (m_params->hasVertexPipelineStage())
+               context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_VERTEX_PIPELINE_STORES_AND_ATOMICS);
+
+       if (m_params->hasFrag())
+               context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_FRAGMENT_STORES_AND_ATOMICS);
+
+       if (m_params->hasTess())
+               context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_TESSELLATION_SHADER);
+
+       if (m_params->hasGeom())
+               context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_GEOMETRY_SHADER);
+
+       if (m_params->hasRayTracing())
+       {
+               context.requireDeviceFunctionality("VK_KHR_acceleration_structure");
+               context.requireDeviceFunctionality("VK_KHR_ray_tracing_pipeline");
+       }
+}
+
+// Check shader module identifiers are constant across different API calls.
+class ConstantModuleIdentifiersInstance : public vkt::TestInstance
+{
+public:
+       enum class APICall { MODULE = 0, CREATE_INFO, BOTH };
+
+       struct Params : public BaseParams
+       {
+               APICall apiCall;
+               bool    differentDevices;
+
+               Params (PipelineType                            pipelineType_,
+                               GraphicsShaderVec                       graphicsShaders_,
+                               RTShaderVec                                     rtShaders_,
+                               uint8_t                                         pipelineCount_,
+                               const tcu::Maybe<uint8_t>&      pipelineToRun_,
+                               bool                                            useSCs_,
+                               bool                                            useCache_,
+                               APICall                                         apiCall_,
+                               bool                                            differentDevices_)
+                       : BaseParams            (pipelineType_, graphicsShaders_, rtShaders_, pipelineCount_, pipelineToRun_, useSCs_, useCache_)
+                       , apiCall                       (apiCall_)
+                       , differentDevices      (differentDevices_)
+                       {}
+
+               virtual ~Params () {}
+
+               bool needsVkModule (void) const
+               {
+                       return (apiCall != APICall::CREATE_INFO);
+               }
+       };
+
+       using ParamsPtr = std::unique_ptr<Params>;
+
+                                       ConstantModuleIdentifiersInstance       (Context& context, const Params* params)
+                                               : vkt::TestInstance(context)
+                                               , m_params(params)
+                                               {}
+       virtual                 ~ConstantModuleIdentifiersInstance      (void) {}
+       tcu::TestStatus runTest                                                         (const DeviceInterface& vkd1, const VkDevice device1,
+                                                                                                                const DeviceInterface& vkd2, const VkDevice device2);
+       tcu::TestStatus iterate                                                         (void) override;
+
+protected:
+       const Params* m_params;
+};
+
+tcu::TestStatus ConstantModuleIdentifiersInstance::runTest (const DeviceInterface& vkd1, const VkDevice device1,
+                                                                                                                       const DeviceInterface& vkd2, const VkDevice device2)
+{
+       const auto& binaries = m_context.getBinaryCollection();
+       DE_ASSERT(!binaries.empty());
+
+       std::set<ShaderModuleId>        uniqueIds;
+       bool                                            pass            = true;
+       size_t                                          binaryCount     = 0u;
+
+       for (const auto& binary : binaries)
+       {
+               ++binaryCount;
+               binary.setUsed();
+
+               const auto binSize              = binary.getSize();
+               const auto binData              = reinterpret_cast<const uint32_t*>(binary.getBinary());
+               const auto shaderModule = (m_params->needsVkModule() ? createShaderModule(vkd1, device1, binary) : Move<VkShaderModule>());
+
+               // The first one will be a VkShaderModule if needed.
+               const auto id1                  = (m_params->needsVkModule()
+                                                               ? getShaderModuleIdentifier(vkd1, device1, shaderModule.get())
+                                                               : getShaderModuleIdentifier(vkd1, device1, makeShaderModuleCreateInfo(binSize, binData)));
+
+               // The second one will be a VkShaderModule only when comparing shader modules.
+               const auto id2                  = ((m_params->apiCall == APICall::MODULE)
+                                                               ? getShaderModuleIdentifier(vkd2, device2, shaderModule.get())
+                                                               : getShaderModuleIdentifier(vkd2, device2, makeShaderModuleCreateInfo(binSize, binData)));
+
+               if (id1 != id2)
+                       pass = false;
+
+               uniqueIds.insert(id1);
+       }
+
+       if (!pass)
+               return tcu::TestStatus::fail("The same shader module returned different identifiers");
+
+       if (uniqueIds.size() != binaryCount)
+               return tcu::TestStatus::fail("Different modules share the same identifier");
+
+       return tcu::TestStatus::pass("Pass");
+}
+
+// Helper to create a new device supporting shader module identifiers.
+struct DeviceHelper
+{
+       Move<VkDevice>                                          device;
+       std::unique_ptr<DeviceDriver>           vkd;
+       deUint32                                                        queueFamilyIndex;
+       VkQueue                                                         queue;
+       std::unique_ptr<SimpleAllocator>        allocator;
+
+       // Forbid copy and assignment.
+       DeviceHelper (const DeviceHelper&) = delete;
+       DeviceHelper& operator= (const DeviceHelper& other) = delete;
+
+       DeviceHelper (Context& context, bool enableRayTracing = false)
+       {
+               const auto&     vkp                                     = context.getPlatformInterface();
+               const auto&     vki                                     = context.getInstanceInterface();
+               const auto      instance                        = context.getInstance();
+               const auto      physicalDevice          = context.getPhysicalDevice();
+
+               queueFamilyIndex = context.getUniversalQueueFamilyIndex();
+
+               // Get device features (these have to be checked in the test case).
+               VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT               shaderIdFeatures                = initVulkanStructure();
+               VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT cacheControlFeatures    = initVulkanStructure(&shaderIdFeatures);
+
+               VkPhysicalDeviceDescriptorIndexingFeaturesEXT                   descriptorIdxFeatures   = initVulkanStructure(&cacheControlFeatures);
+               VkPhysicalDeviceBufferDeviceAddressFeaturesKHR                  deviceAddressFeatures   = initVulkanStructure(&descriptorIdxFeatures);
+
+               VkPhysicalDeviceFeatures2                                                               deviceFeatures                  = initVulkanStructure(enableRayTracing
+                                                                                                                                                                                                                               ? reinterpret_cast<void*>(&deviceAddressFeatures)
+                                                                                                                                                                                                                               : reinterpret_cast<void*>(&cacheControlFeatures));
+
+               vki.getPhysicalDeviceFeatures2(physicalDevice, &deviceFeatures);
+
+               // Make sure robust buffer access is disabled as in the default device.
+               deviceFeatures.features.robustBufferAccess = VK_FALSE;
+
+               const auto queuePriority = 1.0f;
+               const VkDeviceQueueCreateInfo queueInfo
+               {
+                       VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,                     //      VkStructureType                                 sType;
+                       nullptr,                                                                                        //      const void*                                             pNext;
+                       0u,                                                                                                     //      VkDeviceQueueCreateFlags                flags;
+                       queueFamilyIndex,                                                                       //      deUint32                                                queueFamilyIndex;
+                       1u,                                                                                                     //      deUint32                                                queueCount;
+                       &queuePriority,                                                                         //      const float*                                    pQueuePriorities;
+               };
+
+               // Required extensions. Note: many of these require VK_KHR_get_physical_device_properties2, which is an instance extension.
+               std::vector<const char*> requiredExtensions
+               {
+                       "VK_EXT_pipeline_creation_cache_control",
+                       "VK_EXT_shader_module_identifier",
+               };
+
+               if (enableRayTracing)
+               {
+                       requiredExtensions.push_back("VK_KHR_maintenance3");
+                       requiredExtensions.push_back("VK_EXT_descriptor_indexing");
+                       requiredExtensions.push_back("VK_KHR_buffer_device_address");
+                       requiredExtensions.push_back("VK_KHR_deferred_host_operations");
+                       requiredExtensions.push_back("VK_KHR_acceleration_structure");
+                       requiredExtensions.push_back("VK_KHR_shader_float_controls");
+                       requiredExtensions.push_back("VK_KHR_spirv_1_4");
+                       requiredExtensions.push_back("VK_KHR_ray_tracing_pipeline");
+               }
+
+               const VkDeviceCreateInfo createInfo
+               {
+                       VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,                           //      VkStructureType                                 sType;
+                       deviceFeatures.pNext,                                                           //      const void*                                             pNext;
+                       0u,                                                                                                     //      VkDeviceCreateFlags                             flags;
+                       1u,                                                                                                     //      deUint32                                                queueCreateInfoCount;
+                       &queueInfo,                                                                                     //      const VkDeviceQueueCreateInfo*  pQueueCreateInfos;
+                       0u,                                                                                                     //      deUint32                                                enabledLayerCount;
+                       nullptr,                                                                                        //      const char* const*                              ppEnabledLayerNames;
+                       de::sizeU32(requiredExtensions),                                        //      deUint32                                                enabledExtensionCount;
+                       de::dataOrNull(requiredExtensions),                                     //      const char* const*                              ppEnabledExtensionNames;
+                       &deviceFeatures.features,                                                       //      const VkPhysicalDeviceFeatures* pEnabledFeatures;
+               };
+
+               // Create custom device and related objects
+               device = createCustomDevice(context.getTestContext().getCommandLine().isValidationEnabled(), vkp, instance, vki, physicalDevice, &createInfo);
+               vkd.reset(new DeviceDriver(vkp, instance, device.get()));
+               queue = getDeviceQueue(*vkd, *device, queueFamilyIndex, 0u);
+               allocator.reset(new SimpleAllocator(*vkd, device.get(), getPhysicalDeviceMemoryProperties(vki, physicalDevice)));
+       }
+};
+
+tcu::TestStatus ConstantModuleIdentifiersInstance::iterate (void)
+{
+       // The second device may be the one from the context or a new device for the cases that require different devices.
+       const auto&                                                     vkd             = m_context.getDeviceInterface();
+       const auto                                                      device  = m_context.getDevice();
+       const std::unique_ptr<DeviceHelper>     helper  (m_params->differentDevices ? new DeviceHelper(m_context) : nullptr);
+
+       const auto&             di1             = vkd;
+       const auto              dev1    = device;
+       const auto&             di2             = (m_params->differentDevices ? *helper->vkd : vkd);
+       const auto              dev2    = (m_params->differentDevices ? helper->device.get() : device);
+
+       return runTest(di1, dev1, di2, dev2);
+}
+
+class ConstantModuleIdentifiersCase : public SourcesAndSupportFromParamsBase
+{
+public:
+       using Params    = ConstantModuleIdentifiersInstance::Params;
+       using ParamsPtr = ConstantModuleIdentifiersInstance::ParamsPtr;
+
+                                       ConstantModuleIdentifiersCase   (tcu::TestContext& testCtx, const std::string& name, const std::string& description, ParamsPtr&& params)
+                                               : SourcesAndSupportFromParamsBase(testCtx, name, description, BaseParamsPtr(static_cast<BaseParams*>(params.release())))
+                                               {}
+       virtual                 ~ConstantModuleIdentifiersCase  (void) {}
+       TestInstance*   createInstance                                  (Context& context) const override;
+};
+
+TestInstance* ConstantModuleIdentifiersCase::createInstance (Context &context) const
+{
+       const auto paramsPtr = dynamic_cast<Params*>(m_params.get());
+       DE_ASSERT(paramsPtr);
+
+       return new ConstantModuleIdentifiersInstance(context, paramsPtr);
+}
+
+// Tests that create one or more pipelines using several shaders, obtain the shader ids from one of the pipelines and use them to
+// attempt creation of a new pipeline to be used normally.
+class CreateAndUseIdsInstance : public vkt::TestInstance
+{
+public:
+       using RndGenPtr = std::shared_ptr<de::Random>;
+
+       struct Params : public BaseParams
+       {
+               PipelineConstructionType        constructionType;
+               bool                                            useRTLibraries;         // Use ray tracing libraries? For monolithic builds only.
+               UseModuleCase                           moduleUseCase;
+               CapturedPropertiesFlags         capturedProperties;     // For UseModuleCase::ID only.
+               RndGenPtr                                       rnd;
+
+               Params (PipelineType                            pipelineType_,
+                               GraphicsShaderVec                       graphicsShaders_,
+                               RTShaderVec                                     rtShaders_,
+                               uint8_t                                         pipelineCount_,
+                               const tcu::Maybe<uint8_t>&      pipelineToRun_,
+                               bool                                            useSCs_,
+                               bool                                            useCache_,
+                               PipelineConstructionType        constructionType_,
+                               bool                                            useRTLibraries_,
+                               UseModuleCase                           moduleUseCase_,
+                               CapturedPropertiesFlags         capturedProperties_)
+                       : BaseParams            (pipelineType_, graphicsShaders_, rtShaders_, pipelineCount_, pipelineToRun_, useSCs_, useCache_)
+                       , constructionType      (constructionType_)
+                       , useRTLibraries        (useRTLibraries_)
+                       , moduleUseCase         (moduleUseCase_)
+                       , capturedProperties(capturedProperties_)
+                       , rnd                           ()
+                       {
+                               DE_ASSERT(!useRTLibraries || hasRayTracing());
+                               DE_ASSERT(!useRTLibraries || constructionType == PIPELINE_CONSTRUCTION_TYPE_MONOLITHIC);
+                               DE_ASSERT(capturedProperties == 0u || moduleUseCase == UseModuleCase::ID);
+
+                               // We will only be capturing properties if using one pipeline that will be run later.
+                               DE_ASSERT(capturedProperties == 0u || (pipelineCount == uint8_t{1} && static_cast<bool>(pipelineToRun)));
+                       }
+
+               virtual ~Params () {}
+
+               // Convenience helper method.
+               de::Random& getRndGen (void) const
+               {
+                       return *rnd;
+               }
+
+               // Copy parameters resetting the random number generator with a new seed.
+               BaseParamsPtr copy (uint32_t newSeed)
+               {
+                       std::unique_ptr<Params> clone (new Params(*this));
+                       clone->rnd.reset(new de::Random(newSeed));
+                       return BaseParamsPtr(clone.release());
+               }
+       };
+
+       using ParamsPtr = std::unique_ptr<Params>;
+
+                                               CreateAndUseIdsInstance         (Context& context, const Params* params)
+                                                       : vkt::TestInstance     (context)
+                                                       , m_params                      (params)
+                                                       {}
+       virtual                         ~CreateAndUseIdsInstance        (void) {}
+
+       tcu::TestStatus         iterate                                         (void) override;
+
+protected:
+       const Params* m_params;
+};
+
+class CreateAndUseIdsCase : public SourcesAndSupportFromParamsBase
+{
+public:
+                                       CreateAndUseIdsCase             (tcu::TestContext& testCtx, const std::string& name, const std::string& description, BaseParamsPtr&& params)
+                                               : SourcesAndSupportFromParamsBase       (testCtx, name, description, std::move(params))
+                                               , m_createAndUseIdsParams                       (dynamic_cast<const CreateAndUseIdsInstance::Params*>(m_params.get()))
+                                               {
+                                                       DE_ASSERT(m_createAndUseIdsParams);
+                                               }
+       virtual                 ~CreateAndUseIdsCase    (void) {}
+       void                    checkSupport                    (Context& context) const override;
+       TestInstance*   createInstance                  (Context& context) const override;
+
+protected:
+       const CreateAndUseIdsInstance::Params* m_createAndUseIdsParams;
+};
+
+void CreateAndUseIdsCase::checkSupport (Context &context) const
+{
+       SourcesAndSupportFromParamsBase::checkSupport(context);
+
+       checkPipelineLibraryRequirements(context.getInstanceInterface(), context.getPhysicalDevice(), m_createAndUseIdsParams->constructionType);
+
+       if (m_createAndUseIdsParams->useRTLibraries)
+               context.requireDeviceFunctionality("VK_KHR_pipeline_library");
+
+       if (m_createAndUseIdsParams->capturedProperties != 0u)
+               context.requireDeviceFunctionality("VK_KHR_pipeline_executable_properties");
+}
+
+TestInstance* CreateAndUseIdsCase::createInstance (Context &context) const
+{
+       return new CreateAndUseIdsInstance(context, m_createAndUseIdsParams);
+}
+
+using SpecInfoPtr      = std::unique_ptr<VkSpecializationInfo>;
+using SCMapEntryVec    = std::vector<VkSpecializationMapEntry>;
+
+SpecInfoPtr maybeMakeSpecializationInfo (bool makeIt, const VkSpecializationMapEntry* entry, std::vector<uint32_t>::const_iterator& iter)
+{
+       if (!makeIt)
+               return nullptr;
+
+       DE_ASSERT(entry);
+       SpecInfoPtr info (new VkSpecializationInfo);
+
+       info->mapEntryCount     = 1u;
+       info->pMapEntries       = entry;
+       info->dataSize          = sizeof(uint32_t);
+       info->pData                     = &(*(iter++));
+
+       return info;
+}
+
+VkPipelineRasterizationStateCreateInfo makeRasterizationState (bool rasterizationDisabled)
+{
+       VkPipelineRasterizationStateCreateInfo state = initVulkanStructure();
+       state.rasterizerDiscardEnable = (rasterizationDisabled ? VK_TRUE : VK_FALSE);
+       state.lineWidth = 1.0f;
+       return state;
+}
+
+class PipelineStageInfo
+{
+protected:
+       VkShaderModule          m_module;
+       ShaderModuleId          m_moduleId;
+       ShaderStageIdPtr        m_moduleIdCreateInfo;
+       SpecInfoPtr                     m_specInfo;
+
+public:
+       PipelineStageInfo ()
+               : m_module                              (DE_NULL)
+               , m_moduleId                    ()
+               , m_moduleIdCreateInfo  ()
+               , m_specInfo                    ()
+               {}
+
+       void setModule (const DeviceInterface &vkd, const VkDevice device, const VkShaderModule module, UseModuleCase moduleUse, de::Random& rnd)
+       {
+               m_module                                = module;
+
+               m_moduleId                              = getShaderModuleIdentifier(vkd, device, module);
+               maybeMangleShaderModuleId(m_moduleId, moduleUse, rnd);
+
+               m_moduleIdCreateInfo    = makeShaderStageModuleIdentifierCreateInfo(m_moduleId, moduleUse, &rnd);
+       }
+
+       void setSpecInfo (SpecInfoPtr&& specInfo)
+       {
+               m_specInfo = std::move(specInfo);
+       }
+
+       VkShaderModule getModule (void) const
+       {
+               return m_module;
+       }
+
+       VkShaderModule getUsedModule (UseModuleCase moduleUse)
+       {
+               return retUsedModule(m_module, moduleUse);
+       }
+
+       const VkPipelineShaderStageModuleIdentifierCreateInfoEXT* getModuleIdCreateInfo (void) const
+       {
+               return m_moduleIdCreateInfo.get();
+       }
+
+       const VkSpecializationInfo* getSpecInfo (void) const
+       {
+               return m_specInfo.get();
+       }
+
+       // Forbid copy and assignment. This would break the relationship between moduleId and moduleIdCreateInfo.
+       PipelineStageInfo (const PipelineStageInfo&) = delete;
+       PipelineStageInfo& operator=(const PipelineStageInfo&) = delete;
+};
+
+std::vector<uint32_t> makeComputeSpecConstants (uint32_t stageConstant)
+{
+       return std::vector<uint32_t>{stageConstant, 1u, 1u, 1u};
+}
+
+SCMapEntryVec makeComputeSpecMapEntries (void)
+{
+       const auto              kNumEntries     = 4u; // Matches the vector above.
+       const auto              entrySizeSz     = sizeof(uint32_t);
+       const auto              entrySize       = static_cast<uint32_t>(entrySizeSz);
+       SCMapEntryVec   entries;
+
+       entries.reserve(kNumEntries);
+       for (uint32_t i = 0u; i < kNumEntries; ++i)
+       {
+               const VkSpecializationMapEntry entry =
+               {
+                       i,                                      //      uint32_t        constantID;
+                       (entrySize * i),        //      uint32_t        offset;
+                       entrySizeSz,            //      size_t          size;
+               };
+               entries.push_back(entry);
+       }
+
+       return entries;
+}
+
+SpecInfoPtr makeComputeSpecInfo (const SCMapEntryVec& scEntries, const std::vector<uint32_t>& scData)
+{
+       SpecInfoPtr scInfo (new VkSpecializationInfo);
+
+       scInfo->mapEntryCount   = de::sizeU32(scEntries);
+       scInfo->pMapEntries             = de::dataOrNull(scEntries);
+       scInfo->dataSize                = de::dataSize(scData);
+       scInfo->pData                   = de::dataOrNull(scData);
+
+       return scInfo;
+}
+
+tcu::TestStatus CreateAndUseIdsInstance::iterate (void)
+{
+       const auto&                     vkd                             = m_context.getDeviceInterface();
+       const auto                      device                  = m_context.getDevice();
+       auto&                           alloc                   = m_context.getDefaultAllocator();
+       const auto                      queue                   = m_context.getUniversalQueue();
+       const auto                      queueIndex              = m_context.getUniversalQueueFamilyIndex();
+       const auto&                     vki                             = m_context.getInstanceInterface();
+       const auto                      physicalDevice  = m_context.getPhysicalDevice();
+
+       const auto                      pipelineStages  = m_params->getPipelineStageFlags();
+       const auto                      shaderStages    = m_params->getShaderStageFlags();
+       const auto                      captureFlags    = getPipelineCreateFlags(m_params->capturedProperties);
+       const bool                      needsCapture    = (captureFlags != 0u);
+       const auto                      isGraphics              = (m_params->pipelineType == PipelineType::GRAPHICS);
+       const auto                      isCompute               = (m_params->pipelineType == PipelineType::COMPUTE);
+       const auto                      fbFormat                = VK_FORMAT_R8G8B8A8_UNORM;
+       const auto                      tcuFbFormat             = mapVkFormat(fbFormat);
+       const auto                      pixelSize               = tcu::getPixelSize(tcuFbFormat);
+       const auto                      fbExtent                = makeExtent3D(1u, 1u, 1u);
+       const tcu::IVec3        iExtent                 (static_cast<int>(fbExtent.width), static_cast<int>(fbExtent.height), static_cast<int>(fbExtent.depth));
+       const auto                      isRT                    = m_params->hasRayTracing();
+       const auto                      hasHit                  = m_params->hasHit();
+       const auto                      hasHitAndMiss   = hasHit && m_params->hasMiss();
+       const auto                      stagesCount             = m_params->stageCountPerPipeline();
+       const auto                      pipelineCount32 = static_cast<uint32_t>(m_params->pipelineCount);
+       const auto                      hasTess                 = m_params->hasTess();
+       const auto                      topology                = (hasTess ? VK_PRIMITIVE_TOPOLOGY_PATCH_LIST : VK_PRIMITIVE_TOPOLOGY_POINT_LIST);
+       const auto                      patchCPs                = (hasTess ? 3u : 0u);
+       const auto                      useSCs                  = m_params->useSpecializationConstants;
+       const auto                      shaderConstants = generateShaderConstants(m_params->pipelineType, m_params->pipelineCount, stagesCount);
+       const auto                      runOnePipeline  = static_cast<bool>(m_params->pipelineToRun);
+       const bool                      reqCacheMiss    = expectCacheMiss(m_params->moduleUseCase);
+       const bool                      qualityWarn             = (m_params->useCache && !needsCapture);
+       const tcu::Vec4         clearColor              (0.0f, 0.0f, 0.0f, 0.0f);
+       const tcu::Vec4         blueColor               (0.0f, 0.0f, 1.0f, 1.0f); // Must match fragment shader above.
+
+       // Used when capturing pipeline executable properties.
+       PipelineExecutablePropertyVec classicExeProps;
+       PipelineExecutablePropertyVec identifierExeProps;
+
+       // Command pool and buffer.
+       const auto cmdPool              = makeCommandPool(vkd, device, queueIndex);
+       const auto cmdBufferPtr = allocateCommandBuffer(vkd, device, cmdPool.get(), VK_COMMAND_BUFFER_LEVEL_PRIMARY);
+       const auto cmdBuffer    = cmdBufferPtr.get();
+
+       // Begin command buffer. We may need it below for RT.
+       beginCommandBuffer(vkd, cmdBuffer);
+
+       // Descriptor set layouts. Typically 1 but ray tracing tests use a separate set for the acceleration structure.
+       std::vector<VkDescriptorSetLayout> setLayouts;
+
+       DescriptorSetLayoutBuilder setLayoutBuilder;
+       setLayoutBuilder.addSingleBinding(VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, shaderStages);
+       for (uint8_t i = 0; i < m_params->pipelineCount; ++i)
+               setLayoutBuilder.addSingleBinding(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, shaderStages);
+       const auto mainSetLayout = setLayoutBuilder.build(vkd, device);
+       setLayouts.push_back(mainSetLayout.get());
+
+       const auto auxSetLayout = (isRT
+                                                       ? DescriptorSetLayoutBuilder().addSingleBinding(VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR, shaderStages).build(vkd, device)
+                                                       : Move<VkDescriptorSetLayout>());
+       if (isRT)
+               setLayouts.push_back(auxSetLayout.get());
+
+       // Pipeline layout.
+       const auto pipelineLayout = makePipelineLayout(vkd, device, de::sizeU32(setLayouts), de::dataOrNull(setLayouts));
+
+       // Descriptor pool.
+       DescriptorPoolBuilder poolBuilder;
+       poolBuilder.addType(VK_DESCRIPTOR_TYPE_STORAGE_BUFFER);
+       poolBuilder.addType(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, pipelineCount32);
+       if (isRT)
+               poolBuilder.addType(VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR);
+       const auto descriptorPool = poolBuilder.build(vkd, device, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, de::sizeU32(setLayouts));
+
+       // Descriptor buffers.
+       const auto                      storageBufferSize       = static_cast<VkDeviceSize>(sizeof(uint32_t) * stagesCount);
+       const auto                      storageBufferInfo       = makeBufferCreateInfo(storageBufferSize, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT);
+       BufferWithMemory        storageBuffer           (vkd, device, alloc, storageBufferInfo, MemoryRequirement::HostVisible);
+       auto&                           storageBufferAlloc      = storageBuffer.getAllocation();
+       void*                           storageBufferData       = storageBufferAlloc.getHostPtr();
+
+       // For the uniform buffers we'll use a single allocation.
+       const auto                      deviceProperties        = getPhysicalDeviceProperties(vki, physicalDevice);
+       const auto                      minBlock                        = de::roundUp(static_cast<VkDeviceSize>(sizeof(uint32_t)), deviceProperties.limits.minUniformBufferOffsetAlignment);
+       const auto                      uniformBufferSize       = minBlock * pipelineCount32;
+       const auto                      uniformBufferInfo       = makeBufferCreateInfo(uniformBufferSize, VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT);
+       BufferWithMemory        uniformBuffer           (vkd, device, alloc, uniformBufferInfo, MemoryRequirement::HostVisible);
+       auto&                           uniformBufferAlloc      = uniformBuffer.getAllocation();
+       void*                           uniformBufferData       = uniformBufferAlloc.getHostPtr();
+
+       deMemset(storageBufferData, 0, static_cast<size_t>(storageBufferSize));
+       deMemset(uniformBufferData, 0, static_cast<size_t>(uniformBufferSize));
+       flushAlloc(vkd, device, storageBufferAlloc);
+       flushAlloc(vkd, device, uniformBufferAlloc);
+
+       // Acceleration structures if needed.
+       using TLASPtr = de::MovePtr<TopLevelAccelerationStructure>;
+       using BLASPtr = de::SharedPtr<BottomLevelAccelerationStructure>;
+
+       TLASPtr tlas;
+       BLASPtr blas;
+
+       if (isRT)
+       {
+               tlas = makeTopLevelAccelerationStructure();
+               blas = BLASPtr(makeBottomLevelAccelerationStructure().release());
+
+               // If we don't want hits we move the geometry way off in the X axis.
+               // If we want hits and misses we launch 2 rays (see raygen shader).
+               const float xOffset = (hasHit ? 0.0f : 100.0f);
+
+               if (m_params->hasISec())
+               {
+                       // AABB around (0.5, 0.5, 5).
+                       const std::vector<tcu::Vec3> geometry
+                       {
+                               tcu::Vec3(0.0f + xOffset, 0.0f, 4.0f),
+                               tcu::Vec3(1.0f + xOffset, 1.0f, 6.0f),
+                       };
+
+                       blas->addGeometry(geometry, false/*isTriangles*/, VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR);
+               }
+               else
+               {
+                       // Triangle surrounding (0.5, 0.5, 5).
+                       const std::vector<tcu::Vec3> geometry
+                       {
+                               tcu::Vec3(0.25f + xOffset, 0.25f, 5.0f),
+                               tcu::Vec3(0.75f + xOffset, 0.25f, 5.0f),
+                               tcu::Vec3(0.5f  + xOffset, 0.75f, 5.0f),
+                       };
+
+                       blas->addGeometry(geometry, true/*isTriangles*/, VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR);
+               }
+               blas->createAndBuild(vkd, device, cmdBuffer, alloc);
+               tlas->setInstanceCount(1u);
+               tlas->addInstance(blas, identityMatrix3x4, 0u, 0xFFu, 0u, VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR);
+
+               tlas->createAndBuild(vkd, device, cmdBuffer, alloc);
+       }
+
+       // Graphics pipeline data if needed.
+       std::unique_ptr<ImageWithMemory>        colorAtt;
+       VkImageSubresourceRange                         colorSRR;
+       VkImageSubresourceLayers                        colorSRL;
+       Move<VkImageView>                                       colorAttView;
+       Move<VkRenderPass>                                      renderPass;
+       Move<VkFramebuffer>                                     framebuffer;
+       std::unique_ptr<BufferWithMemory>       verifBuffer;
+       std::vector<VkViewport>                         viewports;
+       std::vector<VkRect2D>                           scissors;
+
+       // This is constant for all shader stages.
+       const VkSpecializationMapEntry scMapEntry =
+       {
+               0u,                                     //      uint32_t        constantID;
+               0u,                                     //      uint32_t        offset;
+               sizeof(uint32_t),       //      size_t          size;
+       };
+
+       if (isGraphics)
+       {
+               const VkImageCreateInfo colorAttCreateInfo =
+               {
+                       VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,                                                                            //      VkStructureType                 sType;
+                       nullptr,                                                                                                                                        //      const void*                             pNext;
+                       0u,                                                                                                                                                     //      VkImageCreateFlags              flags;
+                       VK_IMAGE_TYPE_2D,                                                                                                                       //      VkImageType                             imageType;
+                       fbFormat,                                                                                                                                       //      VkFormat                                format;
+                       fbExtent,                                                                                                                                       //      VkExtent3D                              extent;
+                       1u,                                                                                                                                                     //      uint32_t                                mipLevels;
+                       1u,                                                                                                                                                     //      uint32_t                                arrayLayers;
+                       VK_SAMPLE_COUNT_1_BIT,                                                                                                          //      VkSampleCountFlagBits   samples;
+                       VK_IMAGE_TILING_OPTIMAL,                                                                                                        //      VkImageTiling                   tiling;
+                       (VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT),        //      VkImageUsageFlags               usage;
+                       VK_SHARING_MODE_EXCLUSIVE,                                                                                                      //      VkSharingMode                   sharingMode;
+                       0u,                                                                                                                                                     //      uint32_t                                queueFamilyIndexCount;
+                       nullptr,                                                                                                                                        //      const uint32_t*                 pQueueFamilyIndices;
+                       VK_IMAGE_LAYOUT_UNDEFINED,                                                                                                      //      VkImageLayout                   initialLayout;
+               };
+
+               colorAtt                .reset(new ImageWithMemory(vkd, device, alloc, colorAttCreateInfo, MemoryRequirement::Any));
+               colorSRR                = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u);
+               colorSRL                = makeImageSubresourceLayers(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 0u, 1u);
+               colorAttView    = makeImageView(vkd, device, colorAtt->get(), VK_IMAGE_VIEW_TYPE_2D, fbFormat, colorSRR);
+               renderPass              = makeRenderPass(vkd, device, fbFormat);
+               framebuffer             = makeFramebuffer(vkd, device, renderPass.get(), colorAttView.get(), fbExtent.width, fbExtent.height);
+
+               DE_ASSERT(fbExtent.width == 1u && fbExtent.height == 1u && fbExtent.depth == 1u);
+               const auto verifBufferSize = static_cast<VkDeviceSize>(pixelSize);
+               const auto verifBufferInfo = makeBufferCreateInfo(verifBufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT);
+               verifBuffer.reset(new BufferWithMemory(vkd, device, alloc, verifBufferInfo, MemoryRequirement::HostVisible));
+
+               viewports.push_back(makeViewport(fbExtent));
+               scissors.push_back(makeRect2D(fbExtent));
+       }
+
+       // Descriptor sets.
+       const auto mainDescriptorSet    = makeDescriptorSet(vkd, device, descriptorPool.get(), mainSetLayout.get());
+       const auto auxDescriptorSet             = (isRT ? makeDescriptorSet(vkd, device, descriptorPool.get(), auxSetLayout.get()) : Move<VkDescriptorSet>());
+
+       std::vector<VkDescriptorSet> rawDescriptorSets;
+       rawDescriptorSets.push_back(mainDescriptorSet.get());
+       if (isRT)
+               rawDescriptorSets.push_back(auxDescriptorSet.get());
+
+       // Update descriptor sets.
+       DescriptorSetUpdateBuilder updateBuilder;
+       {
+               const auto storageDescInfo = makeDescriptorBufferInfo(storageBuffer.get(), 0ull, storageBufferSize);
+               updateBuilder.writeSingle(mainDescriptorSet.get(), DescriptorSetUpdateBuilder::Location::binding(0u), VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, &storageDescInfo);
+       }
+       for (uint32_t uboIdx = 0u; uboIdx < pipelineCount32; ++uboIdx)
+       {
+               const auto uboDescInfo = makeDescriptorBufferInfo(uniformBuffer.get(), minBlock * uboIdx, minBlock);
+               updateBuilder.writeSingle(mainDescriptorSet.get(), DescriptorSetUpdateBuilder::Location::binding(uboIdx + 1u), VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, &uboDescInfo);
+       }
+       if (isRT)
+       {
+               const VkWriteDescriptorSetAccelerationStructureKHR accelDescInfo =
+               {
+                       VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
+                       nullptr,
+                       1u,
+                       tlas.get()->getPtr(),
+               };
+
+               updateBuilder.writeSingle(auxDescriptorSet.get(), DescriptorSetUpdateBuilder::Location::binding(0u), VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR, &accelDescInfo);
+       }
+       updateBuilder.update(vkd, device);
+
+       // Make pipelines.
+       using ModuleVec                 = std::vector<Move<VkShaderModule>>;
+       using PipelinePtrVec    = std::vector<Move<VkPipeline>>;
+       using PipelineVec               = std::vector<VkPipeline>;
+       using WrapperVec                = std::vector<std::unique_ptr<GraphicsPipelineWrapper>>;
+       using BufferPtr                 = de::MovePtr<BufferWithMemory>;
+
+       ModuleVec vertModules;
+       ModuleVec tescModules;
+       ModuleVec teseModules;
+       ModuleVec geomModules;
+       ModuleVec fragModules;
+
+       ModuleVec compModules;
+
+       ModuleVec rgenModules;
+       ModuleVec ahitModules;
+       ModuleVec chitModules;
+       ModuleVec isecModules;
+       ModuleVec missModules;
+       ModuleVec callModules;
+
+       BufferPtr rgenSBT;
+       BufferPtr xhitSBT;
+       BufferPtr missSBT;
+       BufferPtr callSBT;
+
+       VkStridedDeviceAddressRegionKHR rgenRegion = makeStridedDeviceAddressRegionKHR(DE_NULL, 0ull, 0ull);
+       VkStridedDeviceAddressRegionKHR xhitRegion = makeStridedDeviceAddressRegionKHR(DE_NULL, 0ull, 0ull);
+       VkStridedDeviceAddressRegionKHR missRegion = makeStridedDeviceAddressRegionKHR(DE_NULL, 0ull, 0ull);
+       VkStridedDeviceAddressRegionKHR callRegion = makeStridedDeviceAddressRegionKHR(DE_NULL, 0ull, 0ull);
+
+       WrapperVec                              pipelineWrappers;       // For graphics pipelines.
+       PipelinePtrVec                  pipelinePtrs;           // For other pipelines.
+       PipelineVec                             pipelines;
+       Move<VkPipelineCache>   pipelineCache;
+
+       if (m_params->useCache)
+       {
+               const VkPipelineCacheCreateInfo cacheCreateInfo = initVulkanStructure();
+               pipelineCache = createPipelineCache(vkd, device, &cacheCreateInfo);
+       }
+
+       const auto& binaries = m_context.getBinaryCollection();
+
+       if (isGraphics)
+       {
+               const VkPipelineVertexInputStateCreateInfo              vertexInputState                        = initVulkanStructure();
+               const VkPipelineInputAssemblyStateCreateInfo    inputAssemblyState                      =
+               {
+                       VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,    //      VkStructureType                                                 sType;
+                       nullptr,                                                                                                                //      const void*                                                             pNext;
+                       0u,                                                                                                                             //      VkPipelineInputAssemblyStateCreateFlags flags;
+                       topology,                                                                                                               //      VkPrimitiveTopology                                             topology;
+                       VK_FALSE,                                                                                                               //      VkBool32                                                                primitiveRestartEnable;
+               };
+               const VkPipelineDepthStencilStateCreateInfo             depthStencilState                       = initVulkanStructure();
+               VkPipelineMultisampleStateCreateInfo                    multisampleState                        = initVulkanStructure();
+               multisampleState.rasterizationSamples                                                                           = VK_SAMPLE_COUNT_1_BIT;
+               VkPipelineColorBlendAttachmentState                             colorBlendAttachmentState;
+               deMemset(&colorBlendAttachmentState, 0, sizeof(colorBlendAttachmentState));
+               colorBlendAttachmentState.colorWriteMask                                                                        = (VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT);
+               const VkPipelineColorBlendStateCreateInfo               colorBlendState                         =
+               {
+                       VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,       //      VkStructureType                                                         sType
+                       nullptr,                                                                                                        //      const void*                                                                     pNext
+                       0u,                                                                                                                     //      VkPipelineColorBlendStateCreateFlags            flags
+                       VK_FALSE,                                                                                                       //      VkBool32                                                                        logicOpEnable
+                       VK_LOGIC_OP_CLEAR,                                                                                      //      VkLogicOp                                                                       logicOp
+                       1u,                                                                                                                     //      deUint32                                                                        attachmentCount
+                       &colorBlendAttachmentState,                                                                     //      const VkPipelineColorBlendAttachmentState*      pAttachments
+                       { 0.0f, 0.0f, 0.0f, 0.0f }                                                                      //      float                                                                           blendConstants[4]
+               };
+
+               auto shaderConstIt = shaderConstants.begin();
+
+               // In case we have to run a pipeline.
+               PipelineStageInfo vertToRun;
+               PipelineStageInfo tescToRun;
+               PipelineStageInfo teseToRun;
+               PipelineStageInfo geomToRun;
+               PipelineStageInfo fragToRun;
+
+               for (uint32_t i = 0; i < pipelineCount32; ++i)
+               {
+                       const auto runThis      = (runOnePipeline && static_cast<uint32_t>(m_params->pipelineToRun.get()) == i);
+                       const auto suffix       = "_" + std::to_string(i);
+                       const auto vertName     = "vert" + suffix;
+                       const auto tescName     = "tesc" + suffix;
+                       const auto teseName     = "tese" + suffix;
+                       const auto geomName     = "geom" + suffix;
+                       const auto fragName     = "frag" + suffix;
+
+                       pipelineWrappers.emplace_back(new GraphicsPipelineWrapper(vkd, device, m_params->constructionType, captureFlags));
+                       auto& wrapper = *pipelineWrappers.back();
+
+                       VkShaderModule  vertModule                              = DE_NULL;
+                       VkShaderModule  tescModule                              = DE_NULL;
+                       VkShaderModule  teseModule                              = DE_NULL;
+                       VkShaderModule  geomModule                              = DE_NULL;
+                       VkShaderModule  fragModule                              = DE_NULL;
+
+                       SpecInfoPtr             vertSpecInfo;
+                       SpecInfoPtr             tescSpecInfo;
+                       SpecInfoPtr             teseSpecInfo;
+                       SpecInfoPtr             geomSpecInfo;
+                       SpecInfoPtr             fragSpecInfo;
+
+                       vertModules             .push_back(createShaderModule(vkd, device, binaries.get(vertName)));
+                       vertModule              = vertModules.back().get();
+                       vertSpecInfo    = maybeMakeSpecializationInfo(useSCs, &scMapEntry, shaderConstIt);
+
+                       if (binaries.contains(tescName))
+                       {
+                               tescModules             .push_back(createShaderModule(vkd, device, binaries.get(tescName)));
+                               tescModule              = tescModules.back().get();
+                               tescSpecInfo    = maybeMakeSpecializationInfo(useSCs, &scMapEntry, shaderConstIt);
+                       }
+
+                       if (binaries.contains(teseName))
+                       {
+                               teseModules             .push_back(createShaderModule(vkd, device, binaries.get(teseName)));
+                               teseModule              = teseModules.back().get();
+                               teseSpecInfo    = maybeMakeSpecializationInfo(useSCs, &scMapEntry, shaderConstIt);
+                       }
+
+                       if (binaries.contains(geomName))
+                       {
+                               geomModules             .push_back(createShaderModule(vkd, device, binaries.get(geomName)));
+                               geomModule              = geomModules.back().get();
+                               geomSpecInfo    = maybeMakeSpecializationInfo(useSCs, &scMapEntry, shaderConstIt);
+                       }
+
+                       if (binaries.contains(fragName))
+                       {
+                               fragModules             .push_back(createShaderModule(vkd, device, binaries.get(fragName)));
+                               fragModule              = fragModules.back().get();
+                               fragSpecInfo    = maybeMakeSpecializationInfo(useSCs, &scMapEntry, shaderConstIt);
+                       }
+
+                       const auto rasterizationState = makeRasterizationState(fragModule == DE_NULL);
+
+                       wrapper .setDefaultPatchControlPoints(patchCPs)
+                                       .setupVertexInputStete(&vertexInputState, &inputAssemblyState, pipelineCache.get())
+                                       .setupPreRasterizationShaderState2(
+                                               viewports,
+                                               scissors,
+                                               pipelineLayout.get(),
+                                               renderPass.get(),
+                                               0u,
+                                               vertModule,
+                                               &rasterizationState,
+                                               tescModule,
+                                               teseModule,
+                                               geomModule,
+                                               vertSpecInfo.get(),
+                                               tescSpecInfo.get(),
+                                               teseSpecInfo.get(),
+                                               geomSpecInfo.get(),
+                                               nullptr,
+                                               pipelineCache.get())
+                                       .setupFragmentShaderState(
+                                               pipelineLayout.get(),
+                                               renderPass.get(),
+                                               0u,
+                                               fragModule,
+                                               &depthStencilState,
+                                               &multisampleState,
+                                               nullptr,
+                                               fragSpecInfo.get(),
+                                               pipelineCache.get())
+                                       .setupFragmentOutputState(*renderPass, 0u, &colorBlendState, &multisampleState, pipelineCache.get())
+                                       .setMonolithicPipelineLayout(pipelineLayout.get())
+                                       .buildPipeline(pipelineCache.get());
+
+                       pipelines.push_back(wrapper.getPipeline());
+
+                       // Capture properties if needed.
+                       if (needsCapture)
+                               classicExeProps = getPipelineExecutableProperties(vkd, device, pipelines.back(), m_params->capturedProperties);
+
+                       if (runThis)
+                       {
+                               vertToRun.setModule(vkd, device, vertModule, m_params->moduleUseCase, m_params->getRndGen());
+                               vertToRun.setSpecInfo(std::move(vertSpecInfo));
+
+                               if (tescModule != DE_NULL)
+                               {
+                                       tescToRun.setModule(vkd, device, tescModule, m_params->moduleUseCase, m_params->getRndGen());
+                                       tescToRun.setSpecInfo(std::move(tescSpecInfo));
+                               }
+
+                               if (teseModule != DE_NULL)
+                               {
+                                       teseToRun.setModule(vkd, device, teseModule, m_params->moduleUseCase, m_params->getRndGen());
+                                       teseToRun.setSpecInfo(std::move(teseSpecInfo));
+                               }
+
+                               if (geomModule != DE_NULL)
+                               {
+                                       geomToRun.setModule(vkd, device, geomModule, m_params->moduleUseCase, m_params->getRndGen());
+                                       geomToRun.setSpecInfo(std::move(geomSpecInfo));
+                               }
+
+                               if (fragModule != DE_NULL)
+                               {
+                                       fragToRun.setModule(vkd, device, fragModule, m_params->moduleUseCase, m_params->getRndGen());
+                                       fragToRun.setSpecInfo(std::move(fragSpecInfo));
+                               }
+                       }
+               }
+
+               if (runOnePipeline)
+               {
+                       // Append the pipeline to run at the end of the vector.
+                       pipelineWrappers.emplace_back(new GraphicsPipelineWrapper(vkd, device, m_params->constructionType, captureFlags));
+                       auto& wrapper = *pipelineWrappers.back();
+
+                       const auto fragModule                   = fragToRun.getModule();
+                       const auto rasterizationState   = makeRasterizationState(fragModule == DE_NULL);
+
+                       try
+                       {
+                               wrapper .setDefaultPatchControlPoints(patchCPs)
+                                               .setupVertexInputStete(&vertexInputState, &inputAssemblyState, pipelineCache.get())
+                                               .setupPreRasterizationShaderState3(
+                                                       viewports,
+                                                       scissors,
+                                                       pipelineLayout.get(),
+                                                       renderPass.get(),
+                                                       0u,
+                                                       vertToRun.getUsedModule(m_params->moduleUseCase),
+                                                       vertToRun.getModuleIdCreateInfo(),
+                                                       &rasterizationState,
+                                                       tescToRun.getUsedModule(m_params->moduleUseCase),
+                                                       tescToRun.getModuleIdCreateInfo(),
+                                                       teseToRun.getUsedModule(m_params->moduleUseCase),
+                                                       teseToRun.getModuleIdCreateInfo(),
+                                                       geomToRun.getUsedModule(m_params->moduleUseCase),
+                                                       geomToRun.getModuleIdCreateInfo(),
+                                                       vertToRun.getSpecInfo(),
+                                                       tescToRun.getSpecInfo(),
+                                                       teseToRun.getSpecInfo(),
+                                                       geomToRun.getSpecInfo(),
+                                                       nullptr,
+                                                       pipelineCache.get())
+                                               .setupFragmentShaderState2(
+                                                       pipelineLayout.get(),
+                                                       renderPass.get(),
+                                                       0u,
+                                                       fragToRun.getUsedModule(m_params->moduleUseCase),
+                                                       fragToRun.getModuleIdCreateInfo(),
+                                                       &depthStencilState,
+                                                       &multisampleState,
+                                                       nullptr,
+                                                       fragToRun.getSpecInfo(),
+                                                       pipelineCache.get())
+                                               .setupFragmentOutputState(*renderPass, 0u, &colorBlendState, &multisampleState, pipelineCache.get())
+                                               .setMonolithicPipelineLayout(pipelineLayout.get())
+                                               .buildPipeline(pipelineCache.get());
+
+                               if (reqCacheMiss)
+                                       TCU_FAIL("Cache miss expected");
+                       }
+                       catch (const PipelineCompileRequiredError& err)
+                       {
+                               if (reqCacheMiss)
+                                       return tcu::TestStatus::pass("Pass");
+
+                               if (qualityWarn)
+                                       return tcu::TestStatus(QP_TEST_RESULT_QUALITY_WARNING, "VK_PIPELINE_COMPILE_REQUIRED despite passing a pipeline cache");
+                               return tcu::TestStatus::pass("VK_PIPELINE_COMPILE_REQUIRED"); // ;_;
+                       }
+
+                       pipelines.push_back(wrapper.getPipeline());
+
+                       if (needsCapture)
+                               identifierExeProps = getPipelineExecutableProperties(vkd, device, pipelines.back(), m_params->capturedProperties);
+               }
+       }
+       else if (isCompute)
+       {
+               const auto      invalidPipelineIdx      = std::numeric_limits<uint32_t>::max();
+               auto            idxToRun                        = invalidPipelineIdx;
+
+               for (uint32_t i = 0; i < pipelineCount32; ++i)
+               {
+                       const auto runThis              = (runOnePipeline && static_cast<uint32_t>(m_params->pipelineToRun.get()) == i);
+                       const auto suffix               = "_" + std::to_string(i);
+                       const auto compName             = "comp" + suffix;
+
+                       const auto scData               = (useSCs ? makeComputeSpecConstants(shaderConstants.at(i)) : std::vector<uint32_t>());
+                       const auto scEntries    = (useSCs ? makeComputeSpecMapEntries() : std::vector<VkSpecializationMapEntry>());
+                       const auto scInfo               = (useSCs ? makeComputeSpecInfo(scEntries, scData) : nullptr);
+
+                       compModules.push_back(createShaderModule(vkd, device, binaries.get(compName)));
+                       pipelinePtrs.push_back(makeComputePipeline(vkd, device, pipelineLayout.get(), captureFlags, compModules.back().get(), 0u, scInfo.get(), pipelineCache.get()));
+                       pipelines.push_back(pipelinePtrs.back().get());
+
+                       if (runThis)
+                               idxToRun = i;
+
+                       if (needsCapture)
+                               classicExeProps = getPipelineExecutableProperties(vkd, device, pipelines.back(), m_params->capturedProperties);
+               }
+
+               if (idxToRun != invalidPipelineIdx)
+               {
+                       const auto compModule   = compModules.at(idxToRun).get();
+                       auto moduleId                   = getShaderModuleIdentifier(vkd, device, compModule);
+
+                       maybeMangleShaderModuleId(moduleId, m_params->moduleUseCase, m_params->getRndGen());
+
+                       const auto modInfo              = makeShaderStageModuleIdentifierCreateInfo(moduleId, m_params->moduleUseCase, &(m_params->getRndGen()));
+                       const auto scData               = (useSCs ? makeComputeSpecConstants(shaderConstants.at(idxToRun)) : std::vector<uint32_t>());
+                       const auto scEntries    = (useSCs ? makeComputeSpecMapEntries() : std::vector<VkSpecializationMapEntry>());
+                       const auto scInfo               = (useSCs ? makeComputeSpecInfo(scEntries, scData) : nullptr);
+
+                       // Append the pipeline to run at the end of the vector.
+                       {
+                               const auto pipelineFlags = (VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT | captureFlags);
+
+                               const VkPipelineShaderStageCreateInfo pipelineShaderStageParams =
+                               {
+                                       VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,    // VkStructureType                                              sType;
+                                       modInfo.get(),                                                                                  // const void*                                                  pNext;
+                                       0u,                                                                                                             // VkPipelineShaderStageCreateFlags             flags;
+                                       VK_SHADER_STAGE_COMPUTE_BIT,                                                    // VkShaderStageFlagBits                                stage;
+                                       retUsedModule(compModule, m_params->moduleUseCase),             // VkShaderModule                                               module;
+                                       "main",                                                                                                 // const char*                                                  pName;
+                                       scInfo.get(),                                                                                   // const VkSpecializationInfo*                  pSpecializationInfo;
+                               };
+
+                               const VkComputePipelineCreateInfo pipelineCreateInfo =
+                               {
+                                       VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO,         // VkStructureType                                      sType;
+                                       nullptr,                                                                                        // const void*                                          pNext;
+                                       pipelineFlags,                                                                          // VkPipelineCreateFlags                        flags;
+                                       pipelineShaderStageParams,                                                      // VkPipelineShaderStageCreateInfo      stage;
+                                       pipelineLayout.get(),                                                           // VkPipelineLayout                                     layout;
+                                       DE_NULL,                                                                                        // VkPipeline                                           basePipelineHandle;
+                                       0,                                                                                                      // deInt32                                                      basePipelineIndex;
+                               };
+
+                               VkPipeline      pipeline;
+                               VkResult        creationResult = vkd.createComputePipelines(device, pipelineCache.get(), 1u, &pipelineCreateInfo, nullptr, &pipeline);
+
+                               if (creationResult == VK_PIPELINE_COMPILE_REQUIRED)
+                               {
+                                       if (reqCacheMiss)
+                                               return tcu::TestStatus::pass("Pass");
+
+                                       if (qualityWarn)
+                                               return tcu::TestStatus(QP_TEST_RESULT_QUALITY_WARNING, "VK_PIPELINE_COMPILE_REQUIRED despite passing a pipeline cache");
+                                       return tcu::TestStatus::pass("VK_PIPELINE_COMPILE_REQUIRED"); // ;_;
+                               }
+                               VK_CHECK(creationResult);
+
+                               if (reqCacheMiss)
+                                       TCU_FAIL("Cache miss expected");
+
+                               Move<VkPipeline> pipelinePtr(check<VkPipeline>(pipeline), Deleter<VkPipeline>(vkd, device, nullptr));
+                               pipelinePtrs.emplace_back(pipelinePtr);
+                               pipelines.push_back(pipeline);
+
+                               if (needsCapture)
+                                       identifierExeProps = getPipelineExecutableProperties(vkd, device, pipelines.back(), m_params->capturedProperties);
+                       }
+               }
+       }
+       else if (isRT)
+       {
+               // Get some ray tracing properties and constants.
+               const auto rayTracingPropertiesKHR      = makeRayTracingProperties(vki, physicalDevice);
+               const auto shaderGroupHandleSize        = rayTracingPropertiesKHR->getShaderGroupHandleSize();
+               const auto shaderGroupBaseAlignment     = rayTracingPropertiesKHR->getShaderGroupBaseAlignment();
+               const auto vec3Size                                     = static_cast<uint32_t>(sizeof(tcu::Vec3));
+
+               // Empty pipeline vector, needed in a couple places.
+               const std::vector<VkPipeline> emptyPipelinesVec;
+
+               auto shaderConstIt = shaderConstants.begin();
+
+               // In case we have to run a pipeline.
+               PipelineStageInfo rgenToRun;
+               PipelineStageInfo chitToRun;
+               PipelineStageInfo ahitToRun;
+               PipelineStageInfo isecToRun;
+               PipelineStageInfo missToRun;
+               PipelineStageInfo callToRun;
+
+               for (uint32_t i = 0; i < pipelineCount32; ++i)
+               {
+                       const auto runThis      = (runOnePipeline && static_cast<uint32_t>(m_params->pipelineToRun.get()) == i);
+                       const auto suffix       = "_" + std::to_string(i);
+                       const auto rgenName     = "rgen" + suffix;
+                       const auto chitName     = "chit" + suffix;
+                       const auto ahitName     = "ahit" + suffix;
+                       const auto isecName     = "isec" + suffix;
+                       const auto missName     = "miss" + suffix;
+                       const auto callName     = "call" + suffix;
+
+                       VkShaderModule  rgenModule                              = DE_NULL;
+                       VkShaderModule  chitModule                              = DE_NULL;
+                       VkShaderModule  ahitModule                              = DE_NULL;
+                       VkShaderModule  isecModule                              = DE_NULL;
+                       VkShaderModule  missModule                              = DE_NULL;
+                       VkShaderModule  callModule                              = DE_NULL;
+
+                       SpecInfoPtr             rgenSpecInfo;
+                       SpecInfoPtr             chitSpecInfo;
+                       SpecInfoPtr             ahitSpecInfo;
+                       SpecInfoPtr             isecSpecInfo;
+                       SpecInfoPtr             missSpecInfo;
+                       SpecInfoPtr             callSpecInfo;
+
+                       uint32_t                                groupCount      = 1u;
+                       const uint32_t                  rgenGroup       = 0u;
+                       tcu::Maybe<uint32_t>    xhitGroup;
+                       tcu::Maybe<uint32_t>    missGroup;
+                       tcu::Maybe<uint32_t>    callGroup;
+
+                       rgenModules             .push_back(createShaderModule(vkd, device, binaries.get(rgenName)));
+                       rgenModule              = rgenModules.back().get();
+                       rgenSpecInfo    = maybeMakeSpecializationInfo(useSCs, &scMapEntry, shaderConstIt);
+
+                       if (binaries.contains(chitName))
+                       {
+                               chitModules             .push_back(createShaderModule(vkd, device, binaries.get(chitName)));
+                               chitModule              = chitModules.back().get();
+                               chitSpecInfo    = maybeMakeSpecializationInfo(useSCs, &scMapEntry, shaderConstIt);
+                               xhitGroup               = (static_cast<bool>(xhitGroup) ? xhitGroup : tcu::just(groupCount++));
+                       }
+
+                       if (binaries.contains(ahitName))
+                       {
+                               ahitModules             .push_back(createShaderModule(vkd, device, binaries.get(ahitName)));
+                               ahitModule              = ahitModules.back().get();
+                               ahitSpecInfo    = maybeMakeSpecializationInfo(useSCs, &scMapEntry, shaderConstIt);
+                               xhitGroup               = (static_cast<bool>(xhitGroup) ? xhitGroup : tcu::just(groupCount++));
+                       }
+
+                       if (binaries.contains(isecName))
+                       {
+                               isecModules             .push_back(createShaderModule(vkd, device, binaries.get(isecName)));
+                               isecModule              = isecModules.back().get();
+                               isecSpecInfo    = maybeMakeSpecializationInfo(useSCs, &scMapEntry, shaderConstIt);
+                               xhitGroup               = (static_cast<bool>(xhitGroup) ? xhitGroup : tcu::just(groupCount++));
+                       }
+
+                       if (binaries.contains(missName))
+                       {
+                               missModules             .push_back(createShaderModule(vkd, device, binaries.get(missName)));
+                               missModule              = missModules.back().get();
+                               missSpecInfo    = maybeMakeSpecializationInfo(useSCs, &scMapEntry, shaderConstIt);
+                               missGroup               = tcu::just(groupCount++);
+                       }
+
+                       if (binaries.contains(callName))
+                       {
+                               callModules             .push_back(createShaderModule(vkd, device, binaries.get(callName)));
+                               callModule              = callModules.back().get();
+                               callSpecInfo    = maybeMakeSpecializationInfo(useSCs, &scMapEntry, shaderConstIt);
+                               callGroup               = tcu::just(groupCount++);
+                       }
+
+                       {
+                               const auto rayTracingPipeline = de::newMovePtr<RayTracingPipeline>();
+
+                               // These have to match the shaders.
+                               rayTracingPipeline->setMaxPayloadSize(vec3Size);
+                               rayTracingPipeline->setMaxAttributeSize(vec3Size);
+
+                               // Make it a library if we are using libraries.
+                               rayTracingPipeline->setCreateFlags(captureFlags | (m_params->useRTLibraries ? VK_PIPELINE_CREATE_LIBRARY_BIT_KHR : 0));
+
+                               rayTracingPipeline->addShader(VK_SHADER_STAGE_RAYGEN_BIT_KHR, rgenModule, rgenGroup, rgenSpecInfo.get());
+
+                               if (chitModule != DE_NULL)
+                                       rayTracingPipeline->addShader(VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, chitModule, xhitGroup.get(), chitSpecInfo.get());
+
+                               if (ahitModule != DE_NULL)
+                                       rayTracingPipeline->addShader(VK_SHADER_STAGE_ANY_HIT_BIT_KHR, ahitModule, xhitGroup.get(), ahitSpecInfo.get());
+
+                               if (isecModule != DE_NULL)
+                                       rayTracingPipeline->addShader(VK_SHADER_STAGE_INTERSECTION_BIT_KHR, isecModule, xhitGroup.get(), isecSpecInfo.get());
+
+                               if (missModule != DE_NULL)
+                                       rayTracingPipeline->addShader(VK_SHADER_STAGE_MISS_BIT_KHR, missModule, missGroup.get(), missSpecInfo.get());
+
+                               if (callModule != DE_NULL)
+                                       rayTracingPipeline->addShader(VK_SHADER_STAGE_CALLABLE_BIT_KHR, callModule, callGroup.get(), callSpecInfo.get());
+
+                               pipelinePtrs.emplace_back(rayTracingPipeline->createPipeline(vkd, device, pipelineLayout.get(), emptyPipelinesVec, pipelineCache.get()));
+                               pipelines.push_back(pipelinePtrs.back().get());
+
+                               // We may need to link the pipeline just like we'll do with shader module identifiers below.
+                               if (m_params->useRTLibraries)
+                               {
+                                       const auto linkedPipeline = de::newMovePtr<RayTracingPipeline>();
+
+                                       linkedPipeline->setMaxPayloadSize(vec3Size);
+                                       linkedPipeline->setMaxAttributeSize(vec3Size);
+                                       linkedPipeline->setCreateFlags(captureFlags);
+
+                                       const std::vector<VkPipeline> rawPipelines(1u, pipelines.back());
+                                       pipelinePtrs.emplace_back(linkedPipeline->createPipeline(vkd, device, pipelineLayout.get(), rawPipelines, pipelineCache.get()));
+                                       pipelines.push_back(pipelinePtrs.back().get());
+                               }
+
+                               if (needsCapture)
+                                       classicExeProps = getPipelineExecutableProperties(vkd, device, pipelines.back(), m_params->capturedProperties);
+                       }
+
+                       if (runThis)
+                       {
+                               rgenToRun.setModule(vkd, device, rgenModule, m_params->moduleUseCase, m_params->getRndGen());
+                               rgenToRun.setSpecInfo(std::move(rgenSpecInfo));
+
+                               if (chitModule != DE_NULL)
+                               {
+                                       chitToRun.setModule(vkd, device, chitModule, m_params->moduleUseCase, m_params->getRndGen());
+                                       chitToRun.setSpecInfo(std::move(chitSpecInfo));
+                               }
+
+                               if (ahitModule != DE_NULL)
+                               {
+                                       ahitToRun.setModule(vkd, device, ahitModule, m_params->moduleUseCase, m_params->getRndGen());
+                                       ahitToRun.setSpecInfo(std::move(ahitSpecInfo));
+                               }
+
+                               if (isecModule != DE_NULL)
+                               {
+                                       isecToRun.setModule(vkd, device, isecModule, m_params->moduleUseCase, m_params->getRndGen());
+                                       isecToRun.setSpecInfo(std::move(isecSpecInfo));
+                               }
+
+                               if (missModule != DE_NULL)
+                               {
+                                       missToRun.setModule(vkd, device, missModule, m_params->moduleUseCase, m_params->getRndGen());
+                                       missToRun.setSpecInfo(std::move(missSpecInfo));
+                               }
+
+                               if (callModule != DE_NULL)
+                               {
+                                       callToRun.setModule(vkd, device, callModule, m_params->moduleUseCase, m_params->getRndGen());
+                                       callToRun.setSpecInfo(std::move(callSpecInfo));
+                               }
+                       }
+               }
+
+               if (runOnePipeline)
+               {
+                       uint32_t                                groupCount      = 1u;
+                       const uint32_t                  rgenGroup       = 0u;
+                       tcu::Maybe<uint32_t>    xhitGroup;
+                       tcu::Maybe<uint32_t>    missGroup;
+                       tcu::Maybe<uint32_t>    callGroup;
+
+                       const auto rgenModule = rgenToRun.getModule(); DE_UNREF(rgenModule);
+                       const auto chitModule = chitToRun.getModule();
+                       const auto ahitModule = ahitToRun.getModule();
+                       const auto isecModule = isecToRun.getModule();
+                       const auto missModule = missToRun.getModule();
+                       const auto callModule = callToRun.getModule();
+
+                       if (chitModule != DE_NULL)
+                               xhitGroup = (xhitGroup ? xhitGroup : tcu::just(groupCount++));
+                       if (ahitModule != DE_NULL)
+                               xhitGroup = (xhitGroup ? xhitGroup : tcu::just(groupCount++));
+                       if (isecModule != DE_NULL)
+                               xhitGroup = (xhitGroup ? xhitGroup : tcu::just(groupCount++));
+
+                       if (missModule != DE_NULL)
+                               missGroup = tcu::just(groupCount++);
+
+                       if (callModule != DE_NULL)
+                               callGroup = tcu::just(groupCount++);
+
+                       const auto shaderOwningPipelinePtr      = makeVkSharedPtr(de::newMovePtr<RayTracingPipeline>());
+                       const auto shaderOwningPipeline         = shaderOwningPipelinePtr->get();
+
+                       de::SharedPtr<de::MovePtr<RayTracingPipeline>>  auxiliaryPipelinePtr;
+                       RayTracingPipeline*                                                             auxiliaryPipeline               = nullptr;
+
+                       if (m_params->useRTLibraries)
+                       {
+                               // The shader-owning pipeline will be a library and auxiliaryPipeline will be the bound pipeline helper.
+                               auxiliaryPipelinePtr    = makeVkSharedPtr(de::newMovePtr<RayTracingPipeline>());
+                               auxiliaryPipeline               = auxiliaryPipelinePtr->get();
+                       }
+
+                       // The bound pipeline is the shader-owning pipeline if not using libraries, or the auxiliary pipeline otherwise.
+                       RayTracingPipeline* boundPipeline = (m_params->useRTLibraries ? auxiliaryPipeline : shaderOwningPipeline);
+
+                       shaderOwningPipeline->setMaxPayloadSize(vec3Size);
+                       shaderOwningPipeline->setMaxAttributeSize(vec3Size);
+                       {
+                               VkPipelineCreateFlags creationFlags = (VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT | captureFlags);
+                               if (m_params->useRTLibraries)
+                                       creationFlags |= VK_PIPELINE_CREATE_LIBRARY_BIT_KHR;
+                               shaderOwningPipeline->setCreateFlags(creationFlags);
+                       }
+
+                       shaderOwningPipeline->addShader(
+                               VK_SHADER_STAGE_RAYGEN_BIT_KHR,
+                               rgenToRun.getUsedModule(m_params->moduleUseCase),
+                               rgenGroup,
+                               rgenToRun.getSpecInfo(), 0,
+                               rgenToRun.getModuleIdCreateInfo());
+
+                       if (chitModule != DE_NULL)
+                       {
+                               shaderOwningPipeline->addShader(
+                                       VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
+                                       chitToRun.getUsedModule(m_params->moduleUseCase),
+                                       xhitGroup.get(),
+                                       chitToRun.getSpecInfo(), 0,
+                                       chitToRun.getModuleIdCreateInfo());
+                       }
+
+                       if (ahitModule != DE_NULL)
+                       {
+                               shaderOwningPipeline->addShader(
+                                       VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
+                                       ahitToRun.getUsedModule(m_params->moduleUseCase),
+                                       xhitGroup.get(),
+                                       ahitToRun.getSpecInfo(), 0,
+                                       ahitToRun.getModuleIdCreateInfo());
+                       }
+
+                       if (isecModule != DE_NULL)
+                       {
+                               shaderOwningPipeline->addShader(
+                                       VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
+                                       isecToRun.getUsedModule(m_params->moduleUseCase),
+                                       xhitGroup.get(),
+                                       isecToRun.getSpecInfo(), 0,
+                                       isecToRun.getModuleIdCreateInfo());
+                       }
+
+                       if (missModule != DE_NULL)
+                       {
+                               shaderOwningPipeline->addShader(
+                                       VK_SHADER_STAGE_MISS_BIT_KHR,
+                                       missToRun.getUsedModule(m_params->moduleUseCase),
+                                       missGroup.get(),
+                                       missToRun.getSpecInfo(), 0,
+                                       missToRun.getModuleIdCreateInfo());
+                       }
+
+                       if (callModule != DE_NULL)
+                       {
+                               shaderOwningPipeline->addShader(
+                                       VK_SHADER_STAGE_CALLABLE_BIT_KHR,
+                                       callToRun.getUsedModule(m_params->moduleUseCase),
+                                       callGroup.get(),
+                                       callToRun.getSpecInfo(), 0,
+                                       callToRun.getModuleIdCreateInfo());
+                       }
+
+                       // Append the pipeline, SBTs and regions to use at the end of their vectors.
+                       try
+                       {
+                               pipelinePtrs.emplace_back(shaderOwningPipeline->createPipeline(vkd, device, pipelineLayout.get(), emptyPipelinesVec, pipelineCache.get()));
+                               pipelines.push_back(pipelinePtrs.back().get());
+                       }
+                       catch (const RayTracingPipeline::CompileRequiredError& err)
+                       {
+                               if (reqCacheMiss)
+                                       return tcu::TestStatus::pass("Pass");
+
+                               if (qualityWarn)
+                                       return tcu::TestStatus(QP_TEST_RESULT_QUALITY_WARNING, "VK_PIPELINE_COMPILE_REQUIRED despite passing a pipeline cache");
+                               return tcu::TestStatus::pass("VK_PIPELINE_COMPILE_REQUIRED"); // ;_;
+                       }
+
+                       if (m_params->useRTLibraries)
+                       {
+                               // Create a new pipeline using the library created above, and use it as the active pipeline.
+                               auxiliaryPipeline->setMaxPayloadSize(vec3Size);
+                               auxiliaryPipeline->setMaxAttributeSize(vec3Size);
+                               auxiliaryPipeline->setCreateFlags(VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT | captureFlags);
+
+                               try
+                               {
+                                       const std::vector<VkPipeline> rawPipelines(1u, pipelines.back());
+                                       pipelinePtrs.emplace_back(auxiliaryPipeline->createPipeline(vkd, device, pipelineLayout.get(), rawPipelines, pipelineCache.get()));
+                                       pipelines.push_back(pipelinePtrs.back().get());
+
+                                       if (reqCacheMiss)
+                                               TCU_FAIL("Cache miss expected");
+                               }
+                               catch (const RayTracingPipeline::CompileRequiredError& err)
+                               {
+                                       if (reqCacheMiss)
+                                               return tcu::TestStatus::pass("Pass");
+
+                                       if (qualityWarn)
+                                               return tcu::TestStatus(QP_TEST_RESULT_QUALITY_WARNING, "VK_PIPELINE_COMPILE_REQUIRED on library use despite passing a pipeline cache");
+                                       return tcu::TestStatus::pass("VK_PIPELINE_COMPILE_REQUIRED on library use"); // ;_;
+                               }
+                       }
+                       else if (reqCacheMiss)
+                               TCU_FAIL("Cache miss expected");
+
+                       if (needsCapture)
+                               identifierExeProps = getPipelineExecutableProperties(vkd, device, pipelines.back(), m_params->capturedProperties);
+
+                       const auto pipeline = pipelines.back();
+
+                       rgenSBT         = boundPipeline->createShaderBindingTable(vkd, device, pipeline, alloc, shaderGroupHandleSize, shaderGroupBaseAlignment, rgenGroup, 1u);
+                       rgenRegion      = makeStridedDeviceAddressRegionKHR(getBufferDeviceAddress(vkd, device, rgenSBT->get(), 0), shaderGroupHandleSize, shaderGroupHandleSize);
+
+                       if (xhitGroup)
+                       {
+                               xhitSBT         = boundPipeline->createShaderBindingTable(vkd, device, pipeline, alloc, shaderGroupHandleSize, shaderGroupBaseAlignment, xhitGroup.get(), 1u);
+                               xhitRegion      = makeStridedDeviceAddressRegionKHR(getBufferDeviceAddress(vkd, device, xhitSBT->get(), 0), shaderGroupHandleSize, shaderGroupHandleSize);
+                       }
+
+                       if (missGroup)
+                       {
+                               missSBT         = boundPipeline->createShaderBindingTable(vkd, device, pipeline, alloc, shaderGroupHandleSize, shaderGroupBaseAlignment, missGroup.get(), 1u);
+                               missRegion      = makeStridedDeviceAddressRegionKHR(getBufferDeviceAddress(vkd, device, missSBT->get(), 0), shaderGroupHandleSize, shaderGroupHandleSize);
+                       }
+
+                       if (callGroup)
+                       {
+                               callSBT         = boundPipeline->createShaderBindingTable(vkd, device, pipeline, alloc, shaderGroupHandleSize, shaderGroupBaseAlignment, callGroup.get(), 1u);
+                               callRegion      = makeStridedDeviceAddressRegionKHR(getBufferDeviceAddress(vkd, device, callSBT->get(), 0), shaderGroupHandleSize, shaderGroupHandleSize);
+                       }
+               }
+       }
+       else
+       {
+               DE_ASSERT(false);
+       }
+
+       // Early exit if we don't need to run any pipeline.
+       if (!runOnePipeline)
+               return tcu::TestStatus::pass("Pass (not using any pipeline)");
+
+       // Compare executable properties if captured.
+       if (needsCapture)
+       {
+               using PipelineExecutablePropertySet = std::set<PipelineExecutableProperty>;
+
+               const PipelineExecutablePropertySet classicProps        (begin(classicExeProps), end(classicExeProps));
+               const PipelineExecutablePropertySet identifierProps     (begin(identifierExeProps), end(identifierExeProps));
+
+               if (classicProps != identifierProps)
+               {
+                       auto& log = m_context.getTestContext().getLog();
+
+                       log << tcu::TestLog::Message << "Properties without identifiers: " << classicExeProps << tcu::TestLog::EndMessage;
+                       log << tcu::TestLog::Message << "Properties with    identifiers: " << identifierExeProps << tcu::TestLog::EndMessage;
+
+                       TCU_FAIL("Pipeline executable properties differ (check log for details)");
+               }
+       }
+
+       if (isGraphics)
+       {
+               const auto              bindPoint       = VK_PIPELINE_BIND_POINT_GRAPHICS;
+               const auto              vertexCount     = (m_params->hasTess() ? 3u : 1u);
+
+               beginRenderPass(vkd, cmdBuffer, renderPass.get(), framebuffer.get(), scissors.at(0u), clearColor);
+               vkd.cmdBindDescriptorSets(cmdBuffer, bindPoint, pipelineLayout.get(), 0u, de::sizeU32(rawDescriptorSets), de::dataOrNull(rawDescriptorSets), 0u, nullptr);
+               vkd.cmdBindPipeline(cmdBuffer, bindPoint, pipelines.back());
+               vkd.cmdDraw(cmdBuffer, vertexCount, 1u, 0u, 0u);
+               endRenderPass(vkd, cmdBuffer);
+
+               const auto copyRegion                   = makeBufferImageCopy(fbExtent, colorSRL);
+               const auto preHostBarrier               = makeMemoryBarrier((VK_ACCESS_TRANSFER_WRITE_BIT | VK_ACCESS_SHADER_WRITE_BIT), VK_ACCESS_HOST_READ_BIT);
+               const auto postRenderBarrier    = makeImageMemoryBarrier(
+                       VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT,
+                       VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
+                       colorAtt->get(), colorSRR);
+
+               // Copy color attachment to verification buffer.
+               cmdPipelineImageMemoryBarrier(vkd, cmdBuffer, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, &postRenderBarrier);
+               vkd.cmdCopyImageToBuffer(cmdBuffer, colorAtt->get(), VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, verifBuffer->get(), 1u, &copyRegion);
+
+               // Synchronize SSBO and verification buffer reads from the host.
+               cmdPipelineMemoryBarrier(vkd, cmdBuffer, (VK_PIPELINE_STAGE_TRANSFER_BIT | pipelineStages), VK_PIPELINE_STAGE_HOST_BIT, &preHostBarrier);
+       }
+       else if (isCompute)
+       {
+               const auto      bindPoint               = VK_PIPELINE_BIND_POINT_COMPUTE;
+               const auto      preHostBarrier  = makeMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT);
+
+               vkd.cmdBindDescriptorSets(cmdBuffer, bindPoint, pipelineLayout.get(), 0u, de::sizeU32(rawDescriptorSets), de::dataOrNull(rawDescriptorSets), 0u, nullptr);
+               vkd.cmdBindPipeline(cmdBuffer, bindPoint, pipelines.back());
+               vkd.cmdDispatch(cmdBuffer, 1u, 1u, 1u);
+               cmdPipelineMemoryBarrier(vkd, cmdBuffer, pipelineStages, VK_PIPELINE_STAGE_HOST_BIT, &preHostBarrier);
+       }
+       else if (isRT)
+       {
+               const auto      bindPoint               = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR;
+               const auto      preHostBarrier  = makeMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT);
+               const auto      rayCount                = (hasHitAndMiss ? 2u : 1u);
+
+               vkd.cmdBindDescriptorSets(cmdBuffer, bindPoint, pipelineLayout.get(), 0u, de::sizeU32(rawDescriptorSets), de::dataOrNull(rawDescriptorSets), 0u, nullptr);
+               vkd.cmdBindPipeline(cmdBuffer, bindPoint, pipelines.back());
+               vkd.cmdTraceRaysKHR(cmdBuffer, &rgenRegion, &missRegion, &xhitRegion, &callRegion, rayCount, 1u, 1u);
+               cmdPipelineMemoryBarrier(vkd, cmdBuffer, pipelineStages, VK_PIPELINE_STAGE_HOST_BIT, &preHostBarrier);
+       }
+       else
+       {
+               DE_ASSERT(false);
+       }
+
+       // Finish and submit command buffer.
+       endCommandBuffer(vkd, cmdBuffer);
+       submitCommandsAndWait(vkd, device, queue, cmdBuffer);
+
+       // Verify framebuffer if used.
+       if (isGraphics)
+       {
+               auto& verifBufferAlloc  = verifBuffer->getAllocation();
+               void* verifBufferData   = verifBufferAlloc.getHostPtr();
+
+               invalidateAlloc(vkd, device, verifBufferAlloc);
+
+               tcu::ConstPixelBufferAccess     resultAccess    (tcuFbFormat, iExtent, verifBufferData);
+               const tcu::Vec4                         expectedColor   = (m_params->hasFrag() ? blueColor : clearColor);
+               const auto                                      resultColor             = resultAccess.getPixel(0, 0);
+
+               if (resultColor != expectedColor)
+               {
+                       std::ostringstream msg;
+                       msg << "Unexpected color found in Framebuffer: expected " << expectedColor << " but found " << resultColor;
+                       TCU_FAIL(msg.str());
+               }
+       }
+
+       // Verify SSBO data.
+       {
+               invalidateAlloc(vkd, device, storageBufferAlloc);
+               std::vector<uint32_t> outputData(stagesCount, 0u);
+               deMemcpy(outputData.data(), storageBufferData, de::dataSize(outputData));
+
+               for (size_t stageIdx = 0u; stageIdx < stagesCount; ++stageIdx)
+               {
+                       const auto& expected    = shaderConstants.at(getShaderIdx(m_params->pipelineToRun.get(), stageIdx, stagesCount));
+                       const auto& result              = outputData.at(stageIdx);
+
+                       if (expected != result)
+                       {
+                               std::ostringstream msg;
+                               msg << "Unexpected data found for stage " << stageIdx << std::hex << ": expected 0x" << expected << " but found 0x" << result;
+                               TCU_FAIL(msg.str());
+                       }
+               }
+       }
+
+       return tcu::TestStatus::pass("Pass");
+}
+
+enum class Winding
+{
+       CW = 0,
+       CCW,
+};
+
+enum class Partitioning
+{
+       INTEGER = 0,
+       FRACTIONAL_ODD,
+};
+
+std::ostream& operator<<(std::ostream& out, Winding w)
+{
+       return (out << ((w == Winding::CW) ? "triangle_cw" : "triangle_ccw"));
+}
+
+std::ostream& operator<<(std::ostream& out, Partitioning p)
+{
+       return (out << ((p == Partitioning::INTEGER) ? "integer" : "fractional_odd"));
+}
+
+class HLSLTessellationInstance : public vkt::TestInstance
+{
+public:
+                                               HLSLTessellationInstance        (Context& context, PipelineConstructionType constructionType)
+                                                       : vkt::TestInstance             (context)
+                                                       , m_constructionType    (constructionType)
+                                                       {}
+       virtual                         ~HLSLTessellationInstance       (void) {}
+
+       tcu::TestStatus         iterate                                         (void) override;
+
+protected:
+       const PipelineConstructionType m_constructionType;
+};
+
+class HLSLTessellationCase : public vkt::TestCase
+{
+public:
+                                       HLSLTessellationCase    (tcu::TestContext& testCtx, const std::string& name, const std::string& description, PipelineConstructionType constructionType)
+                                               : vkt::TestCase                 (testCtx, name, description)
+                                               , m_constructionType    (constructionType)
+                                               {}
+       virtual                 ~HLSLTessellationCase   (void) {}
+
+       void                    checkSupport                    (Context& context) const override;
+       void                    initPrograms                    (vk::SourceCollections& programCollection) const override;
+       TestInstance*   createInstance                  (Context& context) const override { return new HLSLTessellationInstance(context, m_constructionType); }
+
+       static std::vector<tcu::Vec4> getOutputColors (void);
+
+protected:
+       const PipelineConstructionType m_constructionType;
+};
+
+std::vector<tcu::Vec4> HLSLTessellationCase::getOutputColors (void)
+{
+       std::vector<tcu::Vec4> outColors
+       {
+               tcu::Vec4(1.0f, 0.0f, 0.0f, 1.0f),
+               tcu::Vec4(0.0f, 1.0f, 0.0f, 1.0f),
+               tcu::Vec4(0.0f, 0.0f, 1.0f, 1.0f),
+               tcu::Vec4(1.0f, 1.0f, 0.0f, 1.0f),
+       };
+
+       return outColors;
+}
+
+void HLSLTessellationCase::checkSupport (Context &context) const
+{
+       const auto&     vki                             = context.getInstanceInterface();
+       const auto      physicalDevice  = context.getPhysicalDevice();
+
+       checkPipelineLibraryRequirements(vki, physicalDevice, m_constructionType);
+       context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_TESSELLATION_SHADER);
+       checkShaderModuleIdentifierSupport(context);
+}
+
+void HLSLTessellationCase::initPrograms (vk::SourceCollections &programCollection) const
+{
+       // Vertex shader.
+       {
+               // Full-screen triangle.
+               std::ostringstream vert;
+               vert
+                       << "#version 450\n"
+                       << "out gl_PerVertex\n"
+                       << "{\n"
+                       << "    vec4 gl_Position;\n"
+                       << "};\n"
+                       << "vec2 vertexPositions[3] = vec2[](\n"
+                       << "    vec2(-1.0, -1.0),\n"
+                       << "    vec2( 3.0, -1.0),\n"
+                       << "    vec2(-1.0,  3.0)\n"
+                       << ");\n"
+                       << "void main (void) {\n"
+                       << "    gl_Position = vec4(vertexPositions[gl_VertexIndex], 0.0, 1.0);\n"
+                       << "}\n"
+                       ;
+
+               programCollection.glslSources.add("vert") << glu::VertexSource(vert.str());
+       }
+
+       // Fragment shader, which outputs the color from the previous stages.
+       {
+               std::ostringstream frag;
+               frag
+                       << "#version 450\n"
+                       << "layout (location=0) in vec4 inColor;\n"
+                       << "layout (location=0) out vec4 outColor;\n"
+                       << "void main (void) {\n"
+                       << "    outColor = inColor;\n"
+                       << "}\n"
+                       ;
+
+               programCollection.glslSources.add("frag") << glu::FragmentSource(frag.str());
+       }
+
+       // Tessellation evaluation shader (AKA domain shader) in HLSL, common for every pipeline.
+       // Contrary to GLSL, HLSL allows us to omit execution modes in the "tese" shader and specify them on the "tesc" shader.
+       {
+               std::ostringstream tese;
+               tese
+                       << "struct HullShaderOutput\n"
+                       << "{\n"
+                       << "    float4 Position : SV_Position;\n"
+                       << "    [[vk::location(0)]] float4 Color : COLOR0;\n"
+                       << "};\n"
+                       << "\n"
+                       << "struct HullShaderConstantOutput\n"
+                       << "{\n"
+                       << "    float TessLevelOuter[4] : SV_TessFactor;\n"
+                       << "    float TessLevelInner[2] : SV_InsideTessFactor;\n"
+                       << "};\n"
+                       << "\n"
+                       << "struct DomainShaderOutput\n"
+                       << "{\n"
+                       << "    float4 Position : SV_Position;\n"
+                       << "    [[vk::location(0)]] float4 Color : COLOR0;\n"
+                       << "};\n"
+                       << "\n"
+                       << "DomainShaderOutput main (HullShaderConstantOutput input, float3 TessCoord : SV_DomainLocation, const OutputPatch<HullShaderOutput, 3> patch)\n"
+                       << "{\n"
+                       << "    DomainShaderOutput output = (DomainShaderOutput)0;\n"
+                       << "\n"
+                       << "    output.Position = (TessCoord.x * patch[0].Position) +\n"
+                       << "                      (TessCoord.y * patch[1].Position) +\n"
+                       << "                      (TessCoord.z * patch[2].Position);\n"
+                       << "\n"
+                       << "    output.Color = (TessCoord.x * patch[0].Color) +\n"
+                       << "                   (TessCoord.y * patch[1].Color) +\n"
+                       << "                   (TessCoord.z * patch[2].Color);\n"
+                       << "\n"
+                       << "    return output;\n"
+                       << "}\n"
+                       ;
+
+               programCollection.hlslSources.add("tese") << glu::TessellationEvaluationSource(tese.str());
+       }
+
+       // Tessellation control shaders. Create 4 combinations with different execution modes. Each combination will also assign a different color to the vertices.
+       // We will later run each pipeline to draw a pixel in a framebuffer (using viewports and scissors) to end up with 4 distinct colors.
+       {
+               const auto      outColors       = getOutputColors();
+               size_t          colorIdx        = 0;
+
+               const Winding           windings[]              = { Winding::CW, Winding::CCW };
+               const Partitioning      partitionings[] = { Partitioning::INTEGER, Partitioning::FRACTIONAL_ODD };
+
+               for (const auto& winding : windings)
+                       for (const auto& partitioning : partitionings)
+                       {
+                               std::ostringstream tesc;
+                               tesc
+                                       << "struct VertexShaderOutput\n"
+                                       << "{\n"
+                                       << "    float4 Position : SV_Position;\n"
+                                       << "};\n"
+                                       << "\n"
+                                       << "struct HullShaderOutput\n"
+                                       << "{\n"
+                                       << "    float4 Position : SV_Position;\n"
+                                       << "    [[vk::location(0)]] float4 Color : COLOR0;\n"
+                                       << "};\n"
+                                       << "\n"
+                                       << "struct HullShaderConstantOutput\n"
+                                       << "{\n"
+                                       << "    float TessLevelOuter[4] : SV_TessFactor;\n"
+                                       << "    float TessLevelInner[2] : SV_InsideTessFactor;\n"
+                                       << "};\n"
+                                       << "\n"
+                                       << "[domain(\"tri\")]\n"
+                                       << "[partitioning(\"" << partitioning << "\")]\n"
+                                       << "[outputtopology(\"" << winding << "\")]\n"
+                                       << "[outputcontrolpoints(3)]\n"
+                                       << "[patchconstantfunc(\"PCF\")]\n"
+                                       << "HullShaderOutput main (InputPatch<VertexShaderOutput, 3> patch, uint InvocationID : SV_OutputControlPointID)\n"
+                                       << "{\n"
+                                       << "    HullShaderOutput output = (HullShaderOutput)0;\n"
+                                       << "    output.Position = patch[InvocationID].Position;\n"
+                                       << "    output.Color = float4" << outColors.at(colorIdx) << ";\n"
+                                       << "    return output;\n"
+                                       << "}\n"
+                                       << "\n"
+                                       << "HullShaderConstantOutput PCF (InputPatch<VertexShaderOutput, 3> patch, uint InvocationID : SV_PrimitiveID)\n"
+                                       << "{\n"
+                                       << "    HullShaderConstantOutput output = (HullShaderConstantOutput)0;\n"
+                                       << "\n"
+                                       << "    output.TessLevelOuter[0] = 1;\n"
+                                       << "    output.TessLevelOuter[1] = 1;\n"
+                                       << "    output.TessLevelOuter[2] = 1;\n"
+                                       << "    output.TessLevelOuter[3] = 1;\n"
+                                       << "\n"
+                                       << "    output.TessLevelInner[0] = 1;\n"
+                                       << "    output.TessLevelInner[1] = 1;\n"
+                                       << "\n"
+                                       << "    return output;\n"
+                                       << "}\n"
+                                       ;
+
+                               const auto idxStr = std::to_string(colorIdx);
+                               programCollection.hlslSources.add("tesc" + idxStr) << glu::TessellationControlSource(tesc.str());
+
+                               ++colorIdx;
+                       }
+       }
+}
+
+tcu::TestStatus HLSLTessellationInstance::iterate (void)
+{
+       const auto&                     vkd                             = m_context.getDeviceInterface();
+       const auto                      device                  = m_context.getDevice();
+       auto&                           alloc                   = m_context.getDefaultAllocator();
+       const auto                      queue                   = m_context.getUniversalQueue();
+       const auto                      queueIndex              = m_context.getUniversalQueueFamilyIndex();
+
+       const auto                      fbFormat                = VK_FORMAT_R8G8B8A8_UNORM;
+       const auto                      fbExtent                = makeExtent3D(2u, 2u, 1u);
+       const tcu::IVec3        iExtent                 (static_cast<int>(fbExtent.width), static_cast<int>(fbExtent.height), static_cast<int>(fbExtent.depth));
+       const auto                      tcuFbFormat             = mapVkFormat(fbFormat);
+       const auto                      pixelSize               = tcu::getPixelSize(tcuFbFormat);
+       const auto                      topology                = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST;
+       const auto                      patchCPs                = 3u;
+       const tcu::Vec4         clearColor              (0.0f, 0.0f, 0.0f, 1.0f);
+       const auto                      bindPoint               = VK_PIPELINE_BIND_POINT_GRAPHICS;
+
+       const std::vector<VkViewport>   rpViewports     (1u, makeViewport(fbExtent));
+       const std::vector<VkRect2D>             rpScissors      (1u, makeRect2D(fbExtent));
+
+       // Color attachment.
+       const VkImageCreateInfo colorAttCreateInfo =
+       {
+               VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,                                                                            //      VkStructureType                 sType;
+               nullptr,                                                                                                                                        //      const void*                             pNext;
+               0u,                                                                                                                                                     //      VkImageCreateFlags              flags;
+               VK_IMAGE_TYPE_2D,                                                                                                                       //      VkImageType                             imageType;
+               fbFormat,                                                                                                                                       //      VkFormat                                format;
+               fbExtent,                                                                                                                                       //      VkExtent3D                              extent;
+               1u,                                                                                                                                                     //      uint32_t                                mipLevels;
+               1u,                                                                                                                                                     //      uint32_t                                arrayLayers;
+               VK_SAMPLE_COUNT_1_BIT,                                                                                                          //      VkSampleCountFlagBits   samples;
+               VK_IMAGE_TILING_OPTIMAL,                                                                                                        //      VkImageTiling                   tiling;
+               (VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT),        //      VkImageUsageFlags               usage;
+               VK_SHARING_MODE_EXCLUSIVE,                                                                                                      //      VkSharingMode                   sharingMode;
+               0u,                                                                                                                                                     //      uint32_t                                queueFamilyIndexCount;
+               nullptr,                                                                                                                                        //      const uint32_t*                 pQueueFamilyIndices;
+               VK_IMAGE_LAYOUT_UNDEFINED,                                                                                                      //      VkImageLayout                   initialLayout;
+       };
+
+       ImageWithMemory colorAtt                (vkd, device, alloc, colorAttCreateInfo, MemoryRequirement::Any);
+       const auto              colorSRR                = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u);
+       const auto              colorSRL                = makeImageSubresourceLayers(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 0u, 1u);
+       const auto              colorAttView    = makeImageView(vkd, device, colorAtt.get(), VK_IMAGE_VIEW_TYPE_2D, fbFormat, colorSRR);
+       const auto              renderPass              = makeRenderPass(vkd, device, fbFormat);
+       const auto              framebuffer             = makeFramebuffer(vkd, device, renderPass.get(), colorAttView.get(), fbExtent.width, fbExtent.height);
+
+       // Verification buffer.
+       DE_ASSERT(fbExtent.depth == 1u);
+       const auto                      verifBufferSize = static_cast<VkDeviceSize>(pixelSize) * fbExtent.width * fbExtent.height;
+       const auto                      verifBufferInfo = makeBufferCreateInfo(verifBufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT);
+       BufferWithMemory        verifBuffer             (vkd, device, alloc, verifBufferInfo, MemoryRequirement::HostVisible);
+
+       // Create shader modules, obtain IDs and verify all of them differ.
+       const auto&     binaries        = m_context.getBinaryCollection();
+       const auto      vertModule      = createShaderModule(vkd, device, binaries.get("vert"));
+       const auto      fragModule      = createShaderModule(vkd, device, binaries.get("frag"));
+       const auto      teseModule      = createShaderModule(vkd, device, binaries.get("tese"));
+
+       std::vector<Move<VkShaderModule>>       tescModules;
+       {
+               size_t tescIdx = 0;
+
+               for (;;)
+               {
+                       const auto shaderName = "tesc" + std::to_string(tescIdx);
+                       if (!binaries.contains(shaderName))
+                               break;
+                       tescModules.emplace_back(createShaderModule(vkd, device, binaries.get(shaderName)));
+
+                       ++tescIdx;
+               }
+       }
+
+       const auto vertId = getShaderModuleIdentifier(vkd, device, vertModule.get());
+       const auto fragId = getShaderModuleIdentifier(vkd, device, fragModule.get());
+       const auto teseId = getShaderModuleIdentifier(vkd, device, teseModule.get());
+       std::vector<ShaderModuleId> tescIds;
+       for (const auto& mod : tescModules)
+               tescIds.emplace_back(getShaderModuleIdentifier(vkd, device, mod.get()));
+
+       // Verify all of them are unique.
+       {
+               std::vector<ShaderModuleId> allIds;
+               allIds.emplace_back(vertId);
+               allIds.emplace_back(fragId);
+               allIds.emplace_back(teseId);
+               for (const auto& id : tescIds)
+                       allIds.emplace_back(id);
+
+               std::set<ShaderModuleId> uniqueIds (begin(allIds), end(allIds));
+
+               if (allIds.size() != uniqueIds.size())
+                       TCU_FAIL("Not every module has a unique ID");
+       }
+
+       // Constant structures used when creating pipelines.
+       const VkPipelineVertexInputStateCreateInfo              vertexInputState                        = initVulkanStructure();
+       const VkPipelineInputAssemblyStateCreateInfo    inputAssemblyState                      =
+       {
+               VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,    //      VkStructureType                                                 sType;
+               nullptr,                                                                                                                //      const void*                                                             pNext;
+               0u,                                                                                                                             //      VkPipelineInputAssemblyStateCreateFlags flags;
+               topology,                                                                                                               //      VkPrimitiveTopology                                             topology;
+               VK_FALSE,                                                                                                               //      VkBool32                                                                primitiveRestartEnable;
+       };
+       const VkPipelineDepthStencilStateCreateInfo             depthStencilState                       = initVulkanStructure();
+       VkPipelineMultisampleStateCreateInfo                    multisampleState                        = initVulkanStructure();
+       multisampleState.rasterizationSamples                                                                           = VK_SAMPLE_COUNT_1_BIT;
+       VkPipelineColorBlendAttachmentState                             colorBlendAttachmentState;
+       deMemset(&colorBlendAttachmentState, 0, sizeof(colorBlendAttachmentState));
+       colorBlendAttachmentState.colorWriteMask                                                                        = (VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT);
+       const VkPipelineColorBlendStateCreateInfo               colorBlendState                         =
+       {
+               VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,       //      VkStructureType                                                         sType
+               nullptr,                                                                                                        //      const void*                                                                     pNext
+               0u,                                                                                                                     //      VkPipelineColorBlendStateCreateFlags            flags
+               VK_FALSE,                                                                                                       //      VkBool32                                                                        logicOpEnable
+               VK_LOGIC_OP_CLEAR,                                                                                      //      VkLogicOp                                                                       logicOp
+               1u,                                                                                                                     //      deUint32                                                                        attachmentCount
+               &colorBlendAttachmentState,                                                                     //      const VkPipelineColorBlendAttachmentState*      pAttachments
+               { 0.0f, 0.0f, 0.0f, 0.0f }                                                                      //      float                                                                           blendConstants[4]
+       };
+       const auto                                                                              rasterizationState                      = makeRasterizationState(false/*rasterizationDisabled*/);
+
+       // Pipeline cache.
+       const VkPipelineCacheCreateInfo cacheCreateInfo = initVulkanStructure();
+       const auto pipelineCache = createPipelineCache(vkd, device, &cacheCreateInfo);
+
+       // Empty pipeline layout.
+       const auto pipelineLayout = makePipelineLayout(vkd, device);
+
+       using GraphicsPipelineWrapperPtr = std::unique_ptr<GraphicsPipelineWrapper>;
+
+       // Create temporary pipelines with them to prime the cache.
+       {
+               for (const auto& tescModule : tescModules)
+               {
+                       GraphicsPipelineWrapperPtr wrapper (new GraphicsPipelineWrapper(vkd, device, m_constructionType));
+
+                       try
+                       {
+                               wrapper->setDefaultPatchControlPoints(patchCPs)
+                                               .setupVertexInputStete(&vertexInputState, &inputAssemblyState, pipelineCache.get())
+                                               .setupPreRasterizationShaderState2(
+                                                       rpViewports,
+                                                       rpScissors,
+                                                       pipelineLayout.get(),
+                                                       renderPass.get(),
+                                                       0u,
+                                                       vertModule.get(),
+                                                       &rasterizationState,
+                                                       tescModule.get(),
+                                                       teseModule.get(),
+                                                       DE_NULL,
+                                                       nullptr,
+                                                       nullptr,
+                                                       nullptr,
+                                                       nullptr,
+                                                       nullptr,
+                                                       pipelineCache.get())
+                                               .setupFragmentShaderState(
+                                                       pipelineLayout.get(),
+                                                       renderPass.get(),
+                                                       0u,
+                                                       fragModule.get(),
+                                                       &depthStencilState,
+                                                       &multisampleState,
+                                                       nullptr,
+                                                       nullptr,
+                                                       pipelineCache.get())
+                                               .setupFragmentOutputState(
+                                                       *renderPass,
+                                                       0u,
+                                                       &colorBlendState,
+                                                       &multisampleState,
+                                                       pipelineCache.get())
+                                               .setMonolithicPipelineLayout(pipelineLayout.get())
+                                               .buildPipeline(pipelineCache.get());
+                       }
+                       catch (const PipelineCompileRequiredError& err)
+                       {
+                               TCU_FAIL("PipelineCompileRequiredError received while priming pipeline cache");
+                       }
+               }
+       }
+
+       // Create pipelines using shader module ids. These will actually be run. Note the changing viewports and scissors.
+       std::vector<GraphicsPipelineWrapperPtr> pipelineWrappers;
+       std::vector<VkViewport>                                 viewports;
+       std::vector<VkRect2D>                                   scissors;
+
+       const auto vertIdInfo = makeShaderStageModuleIdentifierCreateInfo(vertId, UseModuleCase::ID);
+       const auto fragIdInfo = makeShaderStageModuleIdentifierCreateInfo(fragId, UseModuleCase::ID);
+       const auto teseIdInfo = makeShaderStageModuleIdentifierCreateInfo(teseId, UseModuleCase::ID);
+       std::vector<ShaderStageIdPtr> tescIdInfos;
+       for (const auto& tescId : tescIds)
+               tescIdInfos.emplace_back(makeShaderStageModuleIdentifierCreateInfo(tescId, UseModuleCase::ID));
+
+       for (size_t tescIdx = 0; tescIdx < tescModules.size(); ++tescIdx)
+       {
+               const auto      row     = tescIdx / fbExtent.width;
+               const auto      col     = tescIdx % fbExtent.width;
+
+               viewports.emplace_back(makeViewport(static_cast<float>(col), static_cast<float>(row), 1.0f, 1.0f, 0.0f, 1.0f));
+               scissors.emplace_back(makeRect2D(static_cast<int32_t>(col), static_cast<int32_t>(row), 1u, 1u));
+               pipelineWrappers.emplace_back(new GraphicsPipelineWrapper(vkd, device, m_constructionType));
+
+               const auto& wrapper = pipelineWrappers.back();
+
+               try
+               {
+                       wrapper->setDefaultPatchControlPoints(patchCPs)
+                                       .setupVertexInputStete(&vertexInputState, &inputAssemblyState, pipelineCache.get())
+                                       .setupPreRasterizationShaderState3(
+                                               std::vector<VkViewport>(1u, viewports.back()),
+                                               std::vector<VkRect2D>(1u, scissors.back()),
+                                               pipelineLayout.get(),
+                                               renderPass.get(),
+                                               0u,
+                                               DE_NULL,
+                                               vertIdInfo.get(),
+                                               &rasterizationState,
+                                               DE_NULL,
+                                               tescIdInfos.at(tescIdx).get(),
+                                               DE_NULL,
+                                               teseIdInfo.get(),
+                                               DE_NULL,
+                                               nullptr,
+                                               nullptr,
+                                               nullptr,
+                                               nullptr,
+                                               nullptr,
+                                               nullptr,
+                                               pipelineCache.get())
+                                       .setupFragmentShaderState2(
+                                               pipelineLayout.get(),
+                                               renderPass.get(),
+                                               0u,
+                                               DE_NULL,
+                                               fragIdInfo.get(),
+                                               &depthStencilState,
+                                               &multisampleState,
+                                               nullptr,
+                                               nullptr,
+                                               pipelineCache.get())
+                                       .setupFragmentOutputState(
+                                               *renderPass,
+                                               0u,
+                                               &colorBlendState,
+                                               &multisampleState,
+                                               pipelineCache.get())
+                                       .setMonolithicPipelineLayout(pipelineLayout.get())
+                                       .buildPipeline(pipelineCache.get());
+               }
+               catch (const PipelineCompileRequiredError& err)
+               {
+                       return tcu::TestStatus(QP_TEST_RESULT_QUALITY_WARNING, "PipelineCompileRequiredError received despite using pipeline cache");
+               }
+       }
+
+       // Use pipelines in a render pass.
+       const auto cmdPool = makeCommandPool(vkd, device, queueIndex);
+       const auto cmdBufferPtr = allocateCommandBuffer(vkd, device, cmdPool.get(), VK_COMMAND_BUFFER_LEVEL_PRIMARY);
+       const auto cmdBuffer = cmdBufferPtr.get();
+
+       beginCommandBuffer(vkd, cmdBuffer);
+       beginRenderPass(vkd, cmdBuffer, renderPass.get(), framebuffer.get(), rpScissors.at(0u), clearColor);
+       for (const auto& wrapper : pipelineWrappers)
+       {
+               vkd.cmdBindPipeline(cmdBuffer, bindPoint, wrapper->getPipeline());
+               vkd.cmdDraw(cmdBuffer, 3u, 1u, 0u, 0u);
+       }
+       endRenderPass(vkd, cmdBuffer);
+
+       // Transfer color attachment to verification buffer.
+       const auto copyRegion                   = makeBufferImageCopy(fbExtent, colorSRL);
+       const auto preHostBarrier               = makeMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT);
+       const auto postRenderBarrier    = makeImageMemoryBarrier(
+               VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT,
+               VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
+               colorAtt.get(), colorSRR);
+
+       cmdPipelineImageMemoryBarrier(vkd, cmdBuffer, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, &postRenderBarrier);
+       vkd.cmdCopyImageToBuffer(cmdBuffer, colorAtt.get(), VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, verifBuffer.get(), 1u, &copyRegion);
+       cmdPipelineMemoryBarrier(vkd, cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_HOST_BIT, &preHostBarrier);
+
+       endCommandBuffer(vkd, cmdBuffer);
+       submitCommandsAndWait(vkd, device, queue, cmdBuffer);
+
+       // Verify result.
+       {
+               auto&           log                                     = m_context.getTestContext().getLog();
+               const auto      outColors                       = HLSLTessellationCase::getOutputColors();
+               auto&           verifBufferAlloc        = verifBuffer.getAllocation();
+               void*           verifBufferData         = verifBufferAlloc.getHostPtr();
+
+               invalidateAlloc(vkd, device, verifBufferAlloc);
+
+               tcu::ConstPixelBufferAccess     resultAccess    (tcuFbFormat, iExtent, verifBufferData);
+               tcu::TextureLevel                       referenceLevel  (tcuFbFormat, iExtent.x(), iExtent.y());
+               const auto                                      referenceAccess = referenceLevel.getAccess();
+               const tcu::Vec4                         threshold               (0.0f, 0.0f, 0.0f, 0.0f);
+
+               for (int x = 0; x < iExtent.x(); ++x)
+                       for (int y = 0; y < iExtent.y(); ++y)
+                               referenceAccess.setPixel(outColors.at(y*iExtent.x() + x), x, y);
+
+               tcu::floatThresholdCompare(log, "Result", "", referenceAccess, resultAccess, threshold, tcu::COMPARE_LOG_EVERYTHING);
+       }
+
+       return tcu::TestStatus::pass("Pass");
+}
+
+} // anonymous namespace
+
+tcu::TestCaseGroup* createShaderModuleIdentifierTests (tcu::TestContext& testCtx, vk::PipelineConstructionType constructionType)
+{
+       // No pipelines are actually constructed in some of these variants, so adding them to a single group is fine.
+       GroupPtr mainGroup (new tcu::TestCaseGroup(testCtx, "shader_module_identifier", "Tests for VK_EXT_shader_module_identifier"));
+
+       if (constructionType == PIPELINE_CONSTRUCTION_TYPE_MONOLITHIC)
+       {
+               // Property tests.
+               GroupPtr propertiesGroup (new tcu::TestCaseGroup(testCtx, "properties", "Test shader module identifier extension properties"));
+
+               addFunctionCase(propertiesGroup.get(), "constant_algorithm_uuid", "", checkShaderModuleIdentifierSupport, constantAlgorithmUUIDCase);
+
+               mainGroup->addChild(propertiesGroup.release());
+       }
+
+       const struct
+       {
+               PipelineType            pipelineType;
+               bool                            useRTLibraries;
+               const char*                     name;
+       } pipelineTypeCases[] =
+       {
+               { PipelineType::COMPUTE,                false,  "compute"                       },
+               { PipelineType::GRAPHICS,               false,  "graphics"                      },
+               { PipelineType::RAY_TRACING,    false,  "ray_tracing"           },
+               { PipelineType::RAY_TRACING,    true,   "ray_tracing_libs"      },
+       };
+
+       const uint8_t pipelineCountCases[] = { uint8_t{1}, uint8_t{4} };
+
+       const std::vector<GraphicsShaderVec> graphicsShadersCases
+       {
+               { GraphicsShaderType::VERTEX },
+               { GraphicsShaderType::VERTEX, GraphicsShaderType::FRAG },
+               { GraphicsShaderType::VERTEX, GraphicsShaderType::TESS_CONTROL, GraphicsShaderType::TESS_EVAL, GraphicsShaderType::FRAG },
+               { GraphicsShaderType::VERTEX, GraphicsShaderType::GEOMETRY, GraphicsShaderType::FRAG },
+               { GraphicsShaderType::VERTEX, GraphicsShaderType::TESS_CONTROL, GraphicsShaderType::TESS_EVAL, GraphicsShaderType::GEOMETRY, GraphicsShaderType::FRAG },
+       };
+
+       const std::vector<RTShaderVec> rtShadersCases
+       {
+               { RayTracingShaderType::RAY_GEN, RayTracingShaderType::MISS },
+               { RayTracingShaderType::RAY_GEN, RayTracingShaderType::CLOSEST_HIT, RayTracingShaderType::MISS },
+               { RayTracingShaderType::RAY_GEN, RayTracingShaderType::ANY_HIT, RayTracingShaderType::CLOSEST_HIT, RayTracingShaderType::MISS },
+               { RayTracingShaderType::RAY_GEN, RayTracingShaderType::INTERSECTION, RayTracingShaderType::ANY_HIT, RayTracingShaderType::CLOSEST_HIT, RayTracingShaderType::MISS },
+               { RayTracingShaderType::RAY_GEN, RayTracingShaderType::CALLABLE },
+       };
+
+       const struct
+       {
+               bool            useSCs;
+               const char*     name;
+       } useSCCases[] =
+       {
+               { false,        "no_spec_constants"             },
+               { true,         "use_spec_constants"    },
+       };
+
+       // Tests checking the identifiers are constant.
+       if (constructionType == PIPELINE_CONSTRUCTION_TYPE_MONOLITHIC)
+       {
+               // Constant and unique module identifier tests.
+               GroupPtr constantIdsGroup (new tcu::TestCaseGroup(testCtx, "constant_identifiers", "Test shader modules have constant and unique identifiers"));
+
+               const struct
+               {
+                       ConstantModuleIdentifiersInstance::APICall      apiCall;
+                       const char*                                                                     name;
+               } apiCallCases[] =
+               {
+                       { ConstantModuleIdentifiersInstance::APICall::MODULE,           "module_id"                     },
+                       { ConstantModuleIdentifiersInstance::APICall::CREATE_INFO,      "create_info_id"        },
+                       { ConstantModuleIdentifiersInstance::APICall::BOTH,                     "both_ids"                      },
+               };
+
+               const struct
+               {
+                       bool                    differentDevice;
+                       const char*             name;
+               } differentDeviceCases[] =
+               {
+                       { false,        "same_device"           },
+                       { true,         "different_devices"     },
+               };
+
+               for (const auto& pipelineTypeCase : pipelineTypeCases)
+               {
+                       // Skip this case for constant module identifiers.
+                       if (pipelineTypeCase.useRTLibraries)
+                               continue;
+
+                       GroupPtr pipelineTypeGroup (new tcu::TestCaseGroup(testCtx, pipelineTypeCase.name, ""));
+
+                       for (const auto& pipelineCountCase : pipelineCountCases)
+                       {
+                               const auto countGroupName = std::to_string(static_cast<int>(pipelineCountCase)) + "_variants";
+
+                               GroupPtr pipelineCountGroup (new tcu::TestCaseGroup(testCtx, countGroupName.c_str(), ""));
+
+                               for (const auto& useSCCase : useSCCases)
+                               {
+                                       GroupPtr useSCGroup (new tcu::TestCaseGroup(testCtx, useSCCase.name, ""));
+
+                                       for (const auto& apiCallCase : apiCallCases)
+                                       {
+                                               GroupPtr apiCallGroup (new tcu::TestCaseGroup(testCtx, apiCallCase.name, ""));
+
+                                               for (const auto& differentDeviceCase : differentDeviceCases)
+                                               {
+                                                       GroupPtr differentDeviceGroup (new tcu::TestCaseGroup(testCtx, differentDeviceCase.name, ""));
+
+                                                       using Params = ConstantModuleIdentifiersInstance::Params;
+
+                                                       Params commonParams(
+                                                               pipelineTypeCase.pipelineType,
+                                                               {}, {}, pipelineCountCase, tcu::Nothing,
+                                                               useSCCase.useSCs, false, apiCallCase.apiCall, differentDeviceCase.differentDevice);
+
+                                                       if (pipelineTypeCase.pipelineType == PipelineType::GRAPHICS)
+                                                       {
+                                                               for (const auto& graphicsShadersCase : graphicsShadersCases)
+                                                               {
+                                                                       std::unique_ptr<Params> params (new Params(commonParams));
+                                                                       params->graphicsShaders = graphicsShadersCase;
+                                                                       differentDeviceGroup->addChild(new ConstantModuleIdentifiersCase(testCtx, toString(graphicsShadersCase), "", std::move(params)));
+                                                               }
+                                                       }
+                                                       else if (pipelineTypeCase.pipelineType == PipelineType::RAY_TRACING)
+                                                       {
+                                                               for (const auto& rtShadersCase : rtShadersCases)
+                                                               {
+                                                                       std::unique_ptr<Params> params (new Params(commonParams));
+                                                                       params->rtShaders = rtShadersCase;
+                                                                       differentDeviceGroup->addChild(new ConstantModuleIdentifiersCase(testCtx, toString(rtShadersCase), "", std::move(params)));
+                                                               }
+                                                       }
+                                                       else    // Compute
+                                                       {
+                                                               std::unique_ptr<Params> params (new Params(commonParams));
+                                                               differentDeviceGroup->addChild(new ConstantModuleIdentifiersCase(testCtx, "comp", "", std::move(params)));
+                                                       }
+
+                                                       apiCallGroup->addChild(differentDeviceGroup.release());
+                                               }
+
+                                               useSCGroup->addChild(apiCallGroup.release());
+                                       }
+
+                                       pipelineCountGroup->addChild(useSCGroup.release());
+                               }
+
+                               pipelineTypeGroup->addChild(pipelineCountGroup.release());
+                       }
+
+                       constantIdsGroup->addChild(pipelineTypeGroup.release());
+               }
+
+               mainGroup->addChild(constantIdsGroup.release());
+       }
+
+       // Tests creating pipelines using the module id extension structures.
+       {
+               const struct
+               {
+                       bool            useVkPipelineCache;
+                       const char*     name;
+               } pipelineCacheCases[] =
+               {
+                       { false,        "no_pipeline_cache"             },
+                       { true,         "use_pipeline_cache"    },
+               };
+
+               const struct
+               {
+                       UseModuleCase           moduleUse;
+                       const char*                     name;
+               } moduleUsageCases[] =
+               {
+                       { UseModuleCase::ID,                                            "use_id"                                        },
+                       { UseModuleCase::ZERO_LEN_ID,                           "zero_len_id"                           },
+                       { UseModuleCase::ZERO_LEN_ID_NULL_PTR,          "zero_len_id_null_ptr"          },
+                       { UseModuleCase::ZERO_LEN_ID_GARBAGE_PTR,       "zero_len_id_garbage_ptr"       },
+                       { UseModuleCase::ALL_ZEROS,                                     "all_zeros_id"                          },
+                       { UseModuleCase::ALL_ONES,                                      "all_ones_id"                           },
+                       { UseModuleCase::PSEUDORANDOM_ID,                       "pseudorandom_id"                       },
+               };
+
+               const struct
+               {
+                       CapturedPropertiesBits          capturedProperties;
+                       const char*                                     name;
+               } capturingCases[] =
+               {
+                       { CapturedPropertiesBits::NONE,                         "no_exec_properties"            },
+                       { CapturedPropertiesBits::STATS,                        "capture_stats"                         },
+                       { CapturedPropertiesBits::IRS,                          "capture_irs"                           },
+               };
+
+               uint32_t rndSeed = 1651848014u;
+
+               // Tests using pipelines created using shader identifiers.
+               GroupPtr pipelineFromIdsGroup (new tcu::TestCaseGroup(testCtx, "pipeline_from_id", "Test creating and using pipelines from shader module identifiers"));
+
+               for (const auto& pipelineTypeCase : pipelineTypeCases)
+               {
+                       if (pipelineTypeCase.pipelineType != PipelineType::GRAPHICS && constructionType != PipelineConstructionType::PIPELINE_CONSTRUCTION_TYPE_MONOLITHIC)
+                               continue;
+
+                       GroupPtr pipelineTypeGroup (new tcu::TestCaseGroup(testCtx, pipelineTypeCase.name, ""));
+
+                       for (const auto& pipelineCountCase : pipelineCountCases)
+                       {
+                               const auto countGroupName = std::to_string(static_cast<int>(pipelineCountCase)) + "_variants";
+
+                               GroupPtr pipelineCountGroup (new tcu::TestCaseGroup(testCtx, countGroupName.c_str(), ""));
+
+                               for (const auto& useSCCase : useSCCases)
+                               {
+                                       GroupPtr useSCGroup (new tcu::TestCaseGroup(testCtx, useSCCase.name, ""));
+
+                                       for (const auto& pipelineCacheCase : pipelineCacheCases)
+                                       {
+                                               GroupPtr pipelineCacheGroup (new tcu::TestCaseGroup(testCtx, pipelineCacheCase.name, ""));
+
+                                               for (const auto& moduleUsageCase : moduleUsageCases)
+                                               {
+                                                       GroupPtr moduleUsageGroup (new tcu::TestCaseGroup(testCtx, moduleUsageCase.name, ""));
+
+                                                       for (const auto& capturingCase : capturingCases)
+                                                       {
+                                                               // We are only going to attempt to capture properties in a specific subset of the tests.
+                                                               if (capturingCase.capturedProperties != CapturedPropertiesBits::NONE &&
+                                                                       (pipelineCountCase > 1u || moduleUsageCase.moduleUse != UseModuleCase::ID))
+                                                                       continue;
+
+                                                               GroupPtr captureGroup (new tcu::TestCaseGroup(testCtx, capturingCase.name, ""));
+
+                                                               DE_ASSERT(pipelineCountCase > 0u);
+                                                               const uint8_t pipelineToRun = (pipelineCountCase == 1u ? uint8_t{0} : static_cast<uint8_t>(pipelineCountCase - 2u));
+
+                                                               CreateAndUseIdsInstance::Params baseParams(
+                                                                       pipelineTypeCase.pipelineType,
+                                                                       {}, {}, pipelineCountCase, tcu::just(pipelineToRun),
+                                                                       useSCCase.useSCs, pipelineCacheCase.useVkPipelineCache,
+                                                                       constructionType, pipelineTypeCase.useRTLibraries,
+                                                                       moduleUsageCase.moduleUse,
+                                                                       static_cast<CapturedPropertiesFlags>(capturingCase.capturedProperties));
+
+                                                               if (pipelineTypeCase.pipelineType == PipelineType::GRAPHICS)
+                                                               {
+                                                                       for (const auto& graphicsShadersCase : graphicsShadersCases)
+                                                                       {
+                                                                               BaseParamsPtr params = baseParams.copy(rndSeed++);
+                                                                               params->graphicsShaders = graphicsShadersCase;
+                                                                               captureGroup->addChild(new CreateAndUseIdsCase(testCtx, toString(graphicsShadersCase), "", std::move(params)));
+                                                                       }
+                                                               }
+                                                               else if (pipelineTypeCase.pipelineType == PipelineType::RAY_TRACING)
+                                                               {
+                                                                       for (const auto& rtShadersCase : rtShadersCases)
+                                                                       {
+                                                                               BaseParamsPtr params = baseParams.copy(rndSeed++);
+                                                                               params->rtShaders = rtShadersCase;
+                                                                               captureGroup->addChild(new CreateAndUseIdsCase(testCtx, toString(rtShadersCase), "", std::move(params)));
+                                                                       }
+                                                               }
+                                                               else    // Compute
+                                                               {
+                                                                       BaseParamsPtr params = baseParams.copy(rndSeed++);
+                                                                       captureGroup->addChild(new CreateAndUseIdsCase(testCtx, "comp", "", std::move(params)));
+                                                               }
+
+                                                               moduleUsageGroup->addChild(captureGroup.release());
+                                                       }
+
+                                                       pipelineCacheGroup->addChild(moduleUsageGroup.release());
+                                               }
+
+                                               useSCGroup->addChild(pipelineCacheGroup.release());
+                                       }
+
+                                       pipelineCountGroup->addChild(useSCGroup.release());
+                               }
+
+                               pipelineTypeGroup->addChild(pipelineCountGroup.release());
+                       }
+
+                       pipelineFromIdsGroup->addChild(pipelineTypeGroup.release());
+               }
+
+               mainGroup->addChild(pipelineFromIdsGroup.release());
+       }
+
+       // HLSL tessellation test.
+       {
+               GroupPtr hlslTessGroup (new tcu::TestCaseGroup(testCtx, "hlsl_tessellation", "Tests checking HLSL tessellation shaders with module identifiers"));
+               hlslTessGroup->addChild(new HLSLTessellationCase(testCtx, "test", "", constructionType));
+               mainGroup->addChild(hlslTessGroup.release());
+       }
+
+       return mainGroup.release();
+}
+
+} // pipeline
+} // vkt
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineShaderModuleIdentifierTests.hpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineShaderModuleIdentifierTests.hpp
new file mode 100644 (file)
index 0000000..ac6ed4f
--- /dev/null
@@ -0,0 +1,40 @@
+#ifndef _VKTPIPELINESHADERMODULEIDENTIFIERTESTS_HPP
+#define _VKTPIPELINESHADERMODULEIDENTIFIERTESTS_HPP
+/*------------------------------------------------------------------------
+ * Vulkan Conformance Tests
+ * ------------------------
+ *
+ * Copyright (c) 2022 The Khronos Group Inc.
+ * Copyright (c) 2022 Valve Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *//*!
+ * \file
+ * \brief VK_EXT_shader_module_identifier tests
+ *//*--------------------------------------------------------------------*/
+
+#include "tcuTestCase.hpp"
+#include "vkPipelineConstructionUtil.hpp"
+
+namespace vkt
+{
+namespace pipeline
+{
+
+tcu::TestCaseGroup* createShaderModuleIdentifierTests (tcu::TestContext&, vk::PipelineConstructionType);
+
+} // pipeline
+} // vkt
+
+#endif // _VKTPIPELINESHADERMODULEIDENTIFIERTESTS_HPP
index 6c7b0af..6020613 100644 (file)
@@ -62,6 +62,7 @@
 #include "vktPipelineBindPointTests.hpp"
 #include "vktPipelineColorWriteEnableTests.hpp"
 #include "vktPipelineLibraryTests.hpp"
+#include "vktPipelineShaderModuleIdentifierTests.hpp"
 #include "vktTestGroupUtil.hpp"
 
 namespace vkt
@@ -113,19 +114,20 @@ void createChildren (tcu::TestCaseGroup* group, PipelineConstructionType pipelin
        group->addChild(createNoPositionTests                           (testCtx, pipelineConstructionType));
        group->addChild(createBindPointTests                            (testCtx, pipelineConstructionType));
        group->addChild(createColorWriteEnableTests                     (testCtx, pipelineConstructionType));
+       group->addChild(createShaderModuleIdentifierTests       (testCtx, pipelineConstructionType));
 
        // NOTE: all new pipeline tests should use GraphicsPipelineWrapper for pipeline creation
 
        if (pipelineConstructionType == PIPELINE_CONSTRUCTION_TYPE_MONOLITHIC)
        {
                // there is no support for pipelineConstructionType in amber
-               group->addChild(createMiscTests                                 (testCtx));
+               group->addChild(createMiscTests                                         (testCtx));
 
                // compute pipeline tests should not be repeated basing on pipelineConstructionType
-               group->addChild(createDerivativeTests                   (testCtx));
+               group->addChild(createDerivativeTests                           (testCtx));
 
                // dont repeat tests requiring timing execution of vkCreate*Pipelines
-               group->addChild(createCacheControlTests                 (testCtx));
+               group->addChild(createCacheControlTests                         (testCtx));
        }
        else if (pipelineConstructionType == PIPELINE_CONSTRUCTION_TYPE_LINK_TIME_OPTIMIZED_LIBRARY)
        {
index 10f64e2..bc752e9 100644 (file)
@@ -220935,6 +220935,1296 @@ dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_second
 dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_last
 dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_first_and_second
 dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_second_and_last
+dEQP-VK.pipeline.monolithic.shader_module_identifier.properties.constant_algorithm_uuid
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.module_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.module_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.create_info_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.create_info_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.both_ids.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.no_spec_constants.both_ids.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.module_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.module_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.create_info_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.create_info_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.both_ids.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.1_variants.use_spec_constants.both_ids.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.module_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.module_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.create_info_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.create_info_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.both_ids.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.no_spec_constants.both_ids.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.module_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.module_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.create_info_id.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.create_info_id.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.both_ids.same_device.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.compute.4_variants.use_spec_constants.both_ids.different_devices.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.module_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.create_info_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.no_spec_constants.both_ids.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.module_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.create_info_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.1_variants.use_spec_constants.both_ids.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.module_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.create_info_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.no_spec_constants.both_ids.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.module_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.create_info_id.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.same_device.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.graphics.4_variants.use_spec_constants.both_ids.different_devices.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.module_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.create_info_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.no_spec_constants.both_ids.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.module_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.create_info_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.1_variants.use_spec_constants.both_ids.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.module_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.create_info_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.no_spec_constants.both_ids.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.module_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.create_info_id.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.same_device.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.constant_identifiers.ray_tracing.4_variants.use_spec_constants.both_ids.different_devices.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.compute.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.comp
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_isec_ahit_chit_miss
+dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.rgen_call
+dEQP-VK.pipeline.monolithic.shader_module_identifier.hlsl_tessellation.test
 dEQP-VK.pipeline.monolithic.misc.position_to_ssbo
 dEQP-VK.pipeline.monolithic.misc.primitive_id_from_tess
 dEQP-VK.pipeline.monolithic.derivative.compute.derivative_by_handle
@@ -440934,6 +442224,327 @@ dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_
 dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_last
 dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_first_and_second
 dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_second_and_last
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.pipeline_library.shader_module_identifier.hlsl_tessellation.test
 dEQP-VK.pipeline.pipeline_library.graphics_library.fast.4
 dEQP-VK.pipeline.pipeline_library.graphics_library.fast.0_1111
 dEQP-VK.pipeline.pipeline_library.graphics_library.fast.0_112
@@ -660952,3 +662563,324 @@ dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disab
 dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disable_last
 dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disable_first_and_second
 dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disable_second_and_last
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_stats.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.use_id.capture_irs.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.1_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.no_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.no_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.use_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_null_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.zero_len_id_garbage_ptr.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_zeros_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.all_ones_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.pipeline_from_id.graphics.4_variants.use_spec_constants.use_pipeline_cache.pseudorandom_id.no_exec_properties.vert_tesc_tese_geom_frag
+dEQP-VK.pipeline.fast_linked_library.shader_module_identifier.hlsl_tessellation.test
index 9d0a425..d15e1d1 100755 (executable)
@@ -157,7 +157,6 @@ def prefixName (prefix, name):
        name = name.replace("2_D", "2D_")
        name = name.replace("3_D", "3D_")
 
-
        return prefix + name
 
 class Version:
diff --git a/external/vulkancts/scripts/src/extensions/VK_EXT_shader_module_identifier.json b/external/vulkancts/scripts/src/extensions/VK_EXT_shader_module_identifier.json
new file mode 100644 (file)
index 0000000..0277108
--- /dev/null
@@ -0,0 +1,14 @@
+{
+       "register_extension":
+       {
+               "type": "device",
+               "core": ""
+       },
+       "mandatory_features":
+       {
+               "VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT":
+               [
+                       { "features": ["shaderModuleIdentifier"],               "requirements": ["VK_EXT_shader_module_identifier"] }
+               ]
+       }
+}
index 46e05cd..f290c04 100644 (file)
@@ -30,6 +30,7 @@
 #include <utility>
 #include <iterator>
 #include <vector>
+#include <limits>
 
 namespace de
 {
@@ -136,6 +137,15 @@ const T* dataOrNull (const std::vector<T>& container)
        return (container.empty() ? nullptr : container.data());
 }
 
+// Returns the container size() as an uint32_t value.
+template <typename T>
+uint32_t sizeU32 (const T& container)
+{
+       const size_t sz = container.size();
+       DE_ASSERT(sz <= static_cast<size_t>(std::numeric_limits<uint32_t>::max()));
+       return static_cast<uint32_t>(sz);
+}
+
 } // de
 
 #endif // _DESTLUTIL_HPP