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 \
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
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
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
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
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
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
"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",
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"),
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"),
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"),
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"),
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"),
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"),
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"),
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"),
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,
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,
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,
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,
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,
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
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,
};
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,
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;
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;
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;
#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"
#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
#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
#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
#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
#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
#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
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;
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;
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;
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);
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);
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);
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);
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[] =
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[] =
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[] =
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[] =
#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"
#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"
#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"
#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"
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&) {}
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&) {}
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&) {}
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}; }
{ 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 },
{ 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 },
{ 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 },
{ 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 },
* 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;
* 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(); }
* 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>(); }
GetPipelineExecutableInternalRepresentationsKHRFunc getPipelineExecutableInternalRepresentationsKHR;
CmdWriteBufferMarker2AMDFunc cmdWriteBufferMarker2AMD;
GetQueueCheckpointData2NVFunc getQueueCheckpointData2NV;
+CmdTraceRaysIndirect2KHRFunc cmdTraceRaysIndirect2KHR;
DebugMarkerSetObjectTagEXTFunc debugMarkerSetObjectTagEXT;
DebugMarkerSetObjectNameEXTFunc debugMarkerSetObjectNameEXT;
CmdDebugMarkerBeginEXTFunc cmdDebugMarkerBeginEXT;
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;
SetDeviceMemoryPriorityEXTFunc setDeviceMemoryPriorityEXT;
GetDescriptorSetLayoutHostMappingInfoVALVEFunc getDescriptorSetLayoutHostMappingInfoVALVE;
GetDescriptorSetHostMappingVALVEFunc getDescriptorSetHostMappingVALVE;
+GetShaderModuleIdentifierEXTFunc getShaderModuleIdentifierEXT;
+GetShaderModuleCreateInfoIdentifierEXTFunc getShaderModuleCreateInfoIdentifierEXT;
CreateAccelerationStructureKHRFunc createAccelerationStructureKHR;
DestroyAccelerationStructureKHRFunc destroyAccelerationStructureKHR;
CmdBuildAccelerationStructuresKHRFunc cmdBuildAccelerationStructuresKHR;
#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"
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}; }
{ 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 },
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;
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(); }
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>(); }
{
return;
}
+ if (extName == "VK_KHR_ray_tracing_maintenance1")
+ {
+ return;
+ }
if (extName == "VK_KHR_portability_enumeration")
{
return;
{
return;
}
+ if (extName == "VK_EXT_image_compression_control")
+ {
+ return;
+ }
if (extName == "VK_EXT_4444_formats")
{
return;
{
return;
}
+ if (extName == "VK_EXT_pipeline_properties")
+ {
+ return;
+ }
if (extName == "VK_EXT_extended_dynamic_state2")
{
return;
{
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;
{
return;
}
+ if (extName == "VK_KHR_ray_tracing_maintenance1")
+ {
+ functions.push_back("vkCmdTraceRaysIndirect2KHR");
+ return;
+ }
if (extName == "VK_KHR_portability_enumeration")
{
return;
{
return;
}
+ if (extName == "VK_EXT_image_compression_control")
+ {
+ functions.push_back("vkGetImageSubresourceLayout2EXT");
+ return;
+ }
if (extName == "VK_EXT_4444_formats")
{
return;
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");
{
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");
"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",
"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",
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);
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);
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);
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);
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;
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;
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;
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;
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");
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");
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");
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));
}
}
+ 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 )
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);
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);
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);
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);
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),
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),
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),
const VkPipelineCreateFlags pipelineFlags,
const VkShaderModule shaderModule,
const VkPipelineShaderStageCreateFlags shaderFlags,
- const VkSpecializationInfo* specializationInfo)
+ const VkSpecializationInfo* specializationInfo,
+ const VkPipelineCache pipelineCache)
{
const VkPipelineShaderStageCreateInfo pipelineShaderStageParams =
{
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,
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,
#include "tcuVectorType.hpp"
#include "vkPipelineConstructionUtil.hpp"
+#include <memory>
+
namespace vk
{
{ 0.0f, 0.0f, 0.0f, 0.0f } // float blendConstants[4]
};
+
+namespace
+{
+
VkGraphicsPipelineLibraryCreateInfoEXT makeGraphicsPipelineLibraryCreateInfo(const VkGraphicsPipelineLibraryFlagsEXT flags)
{
return
};
}
+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)
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
{
// 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;
deBool useDefaultDepthStencilState;
deBool useDefaultColorBlendState;
deBool useDefaultMultisampleState;
+ bool failOnCompileWhenLinking;
VkGraphicsPipelineCreateInfo monolithicPipelineCreateInfo;
, useDefaultDepthStencilState (DE_FALSE)
, useDefaultColorBlendState (DE_FALSE)
, useDefaultMultisampleState (DE_FALSE)
+ , failOnCompileWhenLinking (false)
{
monolithicPipelineCreateInfo = initVulkanStructure();
}
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);
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,
{
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)
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
{
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;
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);
: (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)
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;
}
}
{
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
{
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;
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;
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;
}
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
{
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();
#include "tcuDefs.hpp"
#include "deSharedPtr.hpp"
#include <vector>
+#include <stdexcept>
namespace vk
{
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
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,
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,
#include "vkCmdUtil.hpp"
#include "deStringUtil.hpp"
+#include "deSTLUtil.hpp"
#include <vector>
#include <string>
{
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)
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)
{
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)
}
}
- 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
}
void RayTracingPipeline::addShader (VkShaderStageFlagBits shaderStage,
- VkShaderModule shaderModule,
+ VkShaderModule shaderModule,
deUint32 group,
const VkSpecializationInfo* specializationInfoPtr,
const VkPipelineShaderStageCreateFlags pipelineShaderStageCreateFlags,
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 =
{
};
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)
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;
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;
}
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,
#include <vector>
#include <limits>
+#include <stdexcept>
namespace vk
{
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;
class RayTracingPipeline
{
public:
+ class CompileRequiredError : public std::runtime_error
+ {
+ public:
+ CompileRequiredError (const std::string& error)
+ : std::runtime_error(error)
+ {}
+ };
+
RayTracingPipeline ();
~RayTracingPipeline ();
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);
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;
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);
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); }
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); }
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);
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);
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);
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);
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);
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;
}
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";
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";
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;
}
{
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;
}
}
}
}
+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)
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[] =
{
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"),
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));
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";
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";
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";
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";
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';
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;
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;
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;
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;
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;
typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT;
+typedef VkPipelineInfoKHR VkPipelineInfoEXT;
+
typedef VkTransformMatrixKHR VkTransformMatrixNV;
typedef VkAabbPositionsKHR VkAabbPositionsNV;
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;
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;
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;
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;
#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
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;
#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;
#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)
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,
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,
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,
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,
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,
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;
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;
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 {
+#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"
+#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"
#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"
#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
vktPipelineNoPositionTests.hpp
vktPipelineLibraryTests.cpp
vktPipelineLibraryTests.hpp
+ vktPipelineShaderModuleIdentifierTests.cpp
+ vktPipelineShaderModuleIdentifierTests.hpp
)
set(DEQP_VK_PIPELINE_LIBS
--- /dev/null
+/*------------------------------------------------------------------------
+ * 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, ©Region);
+
+ // 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, ©Region);
+ 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
--- /dev/null
+#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
#include "vktPipelineBindPointTests.hpp"
#include "vktPipelineColorWriteEnableTests.hpp"
#include "vktPipelineLibraryTests.hpp"
+#include "vktPipelineShaderModuleIdentifierTests.hpp"
#include "vktTestGroupUtil.hpp"
namespace vkt
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)
{
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
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
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
name = name.replace("2_D", "2D_")
name = name.replace("3_D", "3D_")
-
return prefix + name
class Version:
--- /dev/null
+{
+ "register_extension":
+ {
+ "type": "device",
+ "core": ""
+ },
+ "mandatory_features":
+ {
+ "VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT":
+ [
+ { "features": ["shaderModuleIdentifier"], "requirements": ["VK_EXT_shader_module_identifier"] }
+ ]
+ }
+}
#include <utility>
#include <iterator>
#include <vector>
+#include <limits>
namespace de
{
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