Add tests for VK_EXT_fragment_density_map2
authorPiotr Byszewski <piotr.byszewski@mobica.com>
Tue, 14 Apr 2020 13:23:43 +0000 (15:23 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 19 Jun 2020 08:07:40 +0000 (04:07 -0400)
Components: Vulkan

VK-GL-CTS issue: 2301

Affects:
dEQP-VK.renderpass2.fragment_density_map.*
dEQP-VK.api.info.get_physical_device_properties2.features

Change-Id: I5d60f93a362766763ab83e972627af70bfb65c2a

22 files changed:
android/cts/master/vk-master-2020-03-01.txt
android/cts/master/vk-master.txt
external/vulkancts/framework/vulkan/vkBasicTypes.inl
external/vulkancts/framework/vulkan/vkDeviceFeatures.inl
external/vulkancts/framework/vulkan/vkDeviceFeatures2.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl
external/vulkancts/framework/vulkan/vkDeviceProperties.inl
external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDecl.inl
external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDefs.inl
external/vulkancts/framework/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl
external/vulkancts/framework/vulkan/vkExtensionFunctions.inl
external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl
external/vulkancts/framework/vulkan/vkStrUtil.inl
external/vulkancts/framework/vulkan/vkStrUtilImpl.inl
external/vulkancts/framework/vulkan/vkStructTypes.inl
external/vulkancts/framework/vulkan/vkVulkan_c.inl
external/vulkancts/modules/vulkan/renderpass/vktRenderPassFragmentDensityMapTests.cpp
external/vulkancts/mustpass/master/vk-default.txt
external/vulkancts/scripts/gen_framework.py
external/vulkancts/scripts/src/vulkan_core.h

index efa6afe..b67025f 100644 (file)
@@ -142484,390 +142484,876 @@ dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_64.d32_sfloat
 dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_64.d32_sfloat_s8_uint_separate_layouts.stencil_max
 dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_64.d32_sfloat_s8_uint_separate_layouts.depth_max_unused_resolve
 dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_64.d32_sfloat_s8_uint_separate_layouts.stencil_max_unused_resolve
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.properties.2_subsampled_samplers
+dEQP-VK.renderpass2.fragment_density_map.properties.4_subsampled_samplers
+dEQP-VK.renderpass2.fragment_density_map.properties.6_subsampled_samplers
+dEQP-VK.renderpass2.fragment_density_map.properties.8_subsampled_samplers
+dEQP-VK.renderpass2.fragment_density_map.properties.subsampled_loads
+dEQP-VK.renderpass2.fragment_density_map.properties.subsampled_coarse_reconstruction
 dEQP-VK.ubo.random.descriptor_indexing.0
 dEQP-VK.ubo.random.descriptor_indexing.1
 dEQP-VK.ubo.random.descriptor_indexing.2
index 5ee86da..97f7292 100644 (file)
@@ -431382,390 +431382,876 @@ dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_64.d32_sfloat
 dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_64.d32_sfloat_s8_uint_separate_layouts.stencil_max
 dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_64.d32_sfloat_s8_uint_separate_layouts.depth_max_unused_resolve
 dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_64.d32_sfloat_s8_uint_separate_layouts.stencil_max_unused_resolve
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.properties.2_subsampled_samplers
+dEQP-VK.renderpass2.fragment_density_map.properties.4_subsampled_samplers
+dEQP-VK.renderpass2.fragment_density_map.properties.6_subsampled_samplers
+dEQP-VK.renderpass2.fragment_density_map.properties.8_subsampled_samplers
+dEQP-VK.renderpass2.fragment_density_map.properties.subsampled_loads
+dEQP-VK.renderpass2.fragment_density_map.properties.subsampled_coarse_reconstruction
 dEQP-VK.ubo.2_level_array.std140.float.vertex
 dEQP-VK.ubo.2_level_array.std140.float.fragment
 dEQP-VK.ubo.2_level_array.std140.float.both
index 74a40bd..3a1c7be 100644 (file)
@@ -563,6 +563,8 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT          = 1000297000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV                                        = 1000300000,
        VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV                                                      = 1000300001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_2_EXT                           = 1000332000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_2_EXT                         = 1000332001,
        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,
@@ -2392,6 +2394,7 @@ typedef deUint32 VkBufferUsageFlags;
 enum VkImageViewCreateFlagBits
 {
        VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT       = 0x00000001,
+       VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT      = 0x00000002,
        VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM                                         = 0x7FFFFFFF,
 };
 typedef deUint32 VkImageViewCreateFlags;
@@ -3373,7 +3376,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*);
 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
-#define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
+#define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
@@ -3402,6 +3405,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*);
 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
+#define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
 #define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6
 #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 3
 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 2
index a11da39..3b5fb10 100644 (file)
@@ -26,6 +26,7 @@ namespace vk
 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
+#define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
@@ -59,6 +60,7 @@ namespace vk
 #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_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
+#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
@@ -221,63 +223,66 @@ template<> void initFromBlob<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(VkPhy
 template<> void initFromBlob<VkPhysicalDevicePrivateDataFeaturesEXT>(VkPhysicalDevicePrivateDataFeaturesEXT&, const AllBlobs&) {}
 template<> void initFromBlob<VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT>(VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT&, const AllBlobs&) {}
 template<> void initFromBlob<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(VkPhysicalDeviceDiagnosticsConfigFeaturesNV&, const AllBlobs&) {}
+template<> void initFromBlob<VkPhysicalDeviceFragmentDensityMapFeatures2EXT>(VkPhysicalDeviceFragmentDensityMapFeatures2EXT&, const AllBlobs&) {}
 template<> void initFromBlob<VkPhysicalDeviceRayTracingFeaturesKHR>(VkPhysicalDeviceRayTracingFeaturesKHR&, const AllBlobs&) {}
 
 
-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, 61}; }
-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, 60}; }
-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, 59}; }
-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, 58}; }
-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, 57}; }
-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, 56}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 55}; }
-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, 54}; }
-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, 53}; }
-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, 52}; }
-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, 51}; }
-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, 50}; }
-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, 49}; }
-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, 48}; }
-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, 47}; }
-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, 46}; }
-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, 45}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 44}; }
-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, 43}; }
-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, 42}; }
-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, 41}; }
-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, 40}; }
-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, 39}; }
-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, 38}; }
-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, 37}; }
-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, 36}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 35}; }
-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, 34}; }
-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, 33}; }
-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, 32}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 31}; }
-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, 30}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 29}; }
-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, 28}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrivateDataFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 27}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 26}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR, VK_KHR_RAY_TRACING_EXTENSION_NAME, VK_KHR_RAY_TRACING_SPEC_VERSION, 25}; }
-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, 24}; }
-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, 23}; }
-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, 22}; }
-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, 21}; }
-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, 20}; }
-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, 19}; }
-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, 18}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 17}; }
-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, 16}; }
-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, 15}; }
-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, 14}; }
-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, 13}; }
-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, 12}; }
-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, 11}; }
-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, 10}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubgroupSizeControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 9}; }
-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, 8}; }
+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, 63}; }
+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, 62}; }
+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, 61}; }
+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, 60}; }
+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, 59}; }
+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, 58}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 57}; }
+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, 56}; }
+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, 55}; }
+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, 54}; }
+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, 53}; }
+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, 52}; }
+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, 51}; }
+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, 50}; }
+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, 49}; }
+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, 48}; }
+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, 47}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 46}; }
+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, 45}; }
+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, 44}; }
+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, 43}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapFeatures2EXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_2_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 42}; }
+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, 41}; }
+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, 40}; }
+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, 39}; }
+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, 38}; }
+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, 37}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 36}; }
+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, 35}; }
+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, 34}; }
+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, 33}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 32}; }
+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, 31}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 30}; }
+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, 29}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrivateDataFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 28}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 27}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR, VK_KHR_RAY_TRACING_EXTENSION_NAME, VK_KHR_RAY_TRACING_SPEC_VERSION, 26}; }
+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, 25}; }
+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, 24}; }
+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, 23}; }
+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, 22}; }
+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, 21}; }
+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, 20}; }
+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, 19}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 18}; }
+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, 17}; }
+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, 16}; }
+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, 15}; }
+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, 14}; }
+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, 13}; }
+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, 12}; }
+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, 11}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubgroupSizeControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 10}; }
+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, 9}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION, 8}; }
 template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTimelineSemaphoreFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME, VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION, 7}; }
 template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTransformFeedbackFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 6}; }
 template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceUniformBufferStandardLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION, 5}; }
@@ -310,6 +315,7 @@ static const FeatureStructCreationData featureStructCreationArray[] =
        { createFeatureStructWrapper<VkPhysicalDeviceExclusiveScissorFeaturesNV>, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMapFeatures2EXT>, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceHostQueryResetFeatures>, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION },
@@ -343,6 +349,7 @@ static const FeatureStructCreationData featureStructCreationArray[] =
        { createFeatureStructWrapper<VkPhysicalDeviceShadingRateImageFeaturesNV>, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceSubgroupSizeControlFeaturesEXT>, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT>, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceTimelineSemaphoreFeatures>, VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME, VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceTransformFeedbackFeaturesEXT>, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceUniformBufferStandardLayoutFeatures>, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION },
index e9afc9f..c49dc44 100644 (file)
@@ -16,6 +16,8 @@ VkPhysicalDeviceBufferDeviceAddressFeaturesEXT                deviceBufferDeviceAddressFeature
 VkPhysicalDeviceBufferDeviceAddressFeatures                    deviceBufferDeviceAddressFeatures[count];
 VkPhysicalDeviceDescriptorIndexingFeatures                     deviceDescriptorIndexingFeatures[count];
 VkPhysicalDeviceTimelineSemaphoreFeatures                      deviceTimelineSemaphoreFeatures[count];
+VkPhysicalDeviceFragmentDensityMapFeaturesEXT          deviceFragmentDensityMapFeaturesEXT[count];
+VkPhysicalDeviceFragmentDensityMapFeatures2EXT         deviceFragmentDensityMapFeatures2EXT[count];
 
 const bool isConditionalRenderingFeaturesEXT   = checkExtension(properties, "VK_EXT_conditional_rendering");
 const bool isScalarBlockLayoutFeatures                 = checkExtension(properties, "VK_EXT_scalar_block_layout")                      || context.contextSupports(vk::ApiVersion(1, 2, 0));
@@ -32,6 +34,8 @@ const bool isBufferDeviceAddressFeaturesEXT           = checkExtension(properties, "VK_EX
 const bool isBufferDeviceAddressFeatures               = checkExtension(properties, "VK_KHR_buffer_device_address")            || context.contextSupports(vk::ApiVersion(1, 2, 0));
 const bool isDescriptorIndexingFeatures                        = checkExtension(properties, "VK_EXT_descriptor_indexing")                      || context.contextSupports(vk::ApiVersion(1, 2, 0));
 const bool isTimelineSemaphoreFeatures                 = checkExtension(properties, "VK_KHR_timeline_semaphore")                       || context.contextSupports(vk::ApiVersion(1, 2, 0));
+const bool isFragmentDensityMapFeaturesEXT             = checkExtension(properties, "VK_EXT_fragment_density_map");
+const bool isFragmentDensityMapFeatures2EXT            = checkExtension(properties, "VK_EXT_fragment_density_map2");
 
 for (int ndx = 0; ndx < count; ++ndx)
 {
@@ -50,6 +54,8 @@ for (int ndx = 0; ndx < count; ++ndx)
        deMemset(&deviceBufferDeviceAddressFeatures[ndx],               0xFF * ndx, sizeof(VkPhysicalDeviceBufferDeviceAddressFeatures));
        deMemset(&deviceDescriptorIndexingFeatures[ndx],                0xFF * ndx, sizeof(VkPhysicalDeviceDescriptorIndexingFeatures));
        deMemset(&deviceTimelineSemaphoreFeatures[ndx],                 0xFF * ndx, sizeof(VkPhysicalDeviceTimelineSemaphoreFeatures));
+       deMemset(&deviceFragmentDensityMapFeaturesEXT[ndx],             0xFF * ndx, sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT));
+       deMemset(&deviceFragmentDensityMapFeatures2EXT[ndx],    0xFF * ndx, sizeof(VkPhysicalDeviceFragmentDensityMapFeatures2EXT));
 
        deviceConditionalRenderingFeaturesEXT[ndx].sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT;
        deviceConditionalRenderingFeaturesEXT[ndx].pNext = &deviceScalarBlockLayoutFeatures[ndx];
@@ -94,7 +100,13 @@ for (int ndx = 0; ndx < count; ++ndx)
        deviceDescriptorIndexingFeatures[ndx].pNext = &deviceTimelineSemaphoreFeatures[ndx];
 
        deviceTimelineSemaphoreFeatures[ndx].sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES;
-       deviceTimelineSemaphoreFeatures[ndx].pNext = DE_NULL;
+       deviceTimelineSemaphoreFeatures[ndx].pNext = &deviceFragmentDensityMapFeaturesEXT[ndx];
+
+       deviceFragmentDensityMapFeaturesEXT[ndx].sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT;
+       deviceFragmentDensityMapFeaturesEXT[ndx].pNext = &deviceFragmentDensityMapFeatures2EXT[ndx];
+
+       deviceFragmentDensityMapFeatures2EXT[ndx].sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_2_EXT;
+       deviceFragmentDensityMapFeatures2EXT[ndx].pNext = DE_NULL;
 
        deMemset(&extFeatures.features, 0xcd, sizeof(extFeatures.features));
        extFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
@@ -132,6 +144,10 @@ if (isDescriptorIndexingFeatures)
        log << TestLog::Message << deviceDescriptorIndexingFeatures[0] << TestLog::EndMessage;
 if (isTimelineSemaphoreFeatures)
        log << TestLog::Message << deviceTimelineSemaphoreFeatures[0] << TestLog::EndMessage;
+if (isFragmentDensityMapFeaturesEXT)
+       log << TestLog::Message << deviceFragmentDensityMapFeaturesEXT[0] << TestLog::EndMessage;
+if (isFragmentDensityMapFeatures2EXT)
+       log << TestLog::Message << deviceFragmentDensityMapFeatures2EXT[0] << TestLog::EndMessage;
 
 if (isConditionalRenderingFeaturesEXT &&
        (deviceConditionalRenderingFeaturesEXT[0].conditionalRendering != deviceConditionalRenderingFeaturesEXT[1].conditionalRendering ||
@@ -243,3 +259,15 @@ if (isTimelineSemaphoreFeatures &&
 {
                TCU_FAIL("Mismatch between VkPhysicalDeviceTimelineSemaphoreFeatures");
 }
+if (isFragmentDensityMapFeaturesEXT &&
+       (deviceFragmentDensityMapFeaturesEXT[0].fragmentDensityMap != deviceFragmentDensityMapFeaturesEXT[1].fragmentDensityMap ||
+        deviceFragmentDensityMapFeaturesEXT[0].fragmentDensityMapDynamic != deviceFragmentDensityMapFeaturesEXT[1].fragmentDensityMapDynamic ||
+        deviceFragmentDensityMapFeaturesEXT[0].fragmentDensityMapNonSubsampledImages != deviceFragmentDensityMapFeaturesEXT[1].fragmentDensityMapNonSubsampledImages))
+{
+               TCU_FAIL("Mismatch between VkPhysicalDeviceFragmentDensityMapFeaturesEXT");
+}
+if (isFragmentDensityMapFeatures2EXT &&
+       (deviceFragmentDensityMapFeatures2EXT[0].fragmentDensityMapDeferred != deviceFragmentDensityMapFeatures2EXT[1].fragmentDensityMapDeferred))
+{
+               TCU_FAIL("Mismatch between VkPhysicalDeviceFragmentDensityMapFeatures2EXT");
+}
index 3567540..fa33803 100644 (file)
@@ -22,6 +22,7 @@ const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                        getDiagnosticsConfigF
 const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV&                                  getExclusiveScissorFeatures                                             (void) const;
 const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                             getExtendedDynamicStateFeaturesEXT                              (void) const;
 const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                               getFragmentDensityMapFeaturesEXT                                (void) const;
+const vk::VkPhysicalDeviceFragmentDensityMapFeatures2EXT&                              getFragmentDensityMapFeatures2EXT                               (void) const;
 const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                 getFragmentShaderBarycentricFeatures                    (void) const;
 const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                  getFragmentShaderInterlockFeaturesEXT                   (void) const;
 const vk::VkPhysicalDeviceHostQueryResetFeatures&                                              getHostQueryResetFeatures                                               (void) const;
@@ -55,6 +56,7 @@ const vk::VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                        getShaderSubgro
 const vk::VkPhysicalDeviceShadingRateImageFeaturesNV&                                  getShadingRateImageFeatures                                             (void) const;
 const vk::VkPhysicalDeviceSubgroupSizeControlFeaturesEXT&                              getSubgroupSizeControlFeaturesEXT                               (void) const;
 const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                             getTexelBufferAlignmentFeaturesEXT                              (void) const;
+const vk::VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT&                        getTextureCompressionASTCHDRFeaturesEXT                 (void) const;
 const vk::VkPhysicalDeviceTimelineSemaphoreFeatures&                                   getTimelineSemaphoreFeatures                                    (void) const;
 const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                        getTransformFeedbackFeaturesEXT                                 (void) const;
 const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                 getUniformBufferStandardLayoutFeatures                  (void) const;
index cdd2c9e..b846193 100644 (file)
@@ -22,6 +22,7 @@ const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                        Context::getDiagnosti
 const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV&                                  Context::getExclusiveScissorFeatures                                    (void) const { return m_device->getExclusiveScissorFeatures();                                  }
 const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                             Context::getExtendedDynamicStateFeaturesEXT                             (void) const { return m_device->getExtendedDynamicStateFeaturesEXT();                   }
 const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                               Context::getFragmentDensityMapFeaturesEXT                               (void) const { return m_device->getFragmentDensityMapFeaturesEXT();                             }
+const vk::VkPhysicalDeviceFragmentDensityMapFeatures2EXT&                              Context::getFragmentDensityMapFeatures2EXT                              (void) const { return m_device->getFragmentDensityMapFeatures2EXT();                    }
 const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                 Context::getFragmentShaderBarycentricFeatures                   (void) const { return m_device->getFragmentShaderBarycentricFeatures();                 }
 const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                  Context::getFragmentShaderInterlockFeaturesEXT                  (void) const { return m_device->getFragmentShaderInterlockFeaturesEXT();                }
 const vk::VkPhysicalDeviceHostQueryResetFeatures&                                              Context::getHostQueryResetFeatures                                              (void) const { return m_device->getHostQueryResetFeatures();                                    }
@@ -55,6 +56,7 @@ const vk::VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                        Context::getSha
 const vk::VkPhysicalDeviceShadingRateImageFeaturesNV&                                  Context::getShadingRateImageFeatures                                    (void) const { return m_device->getShadingRateImageFeatures();                                  }
 const vk::VkPhysicalDeviceSubgroupSizeControlFeaturesEXT&                              Context::getSubgroupSizeControlFeaturesEXT                              (void) const { return m_device->getSubgroupSizeControlFeaturesEXT();                    }
 const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                             Context::getTexelBufferAlignmentFeaturesEXT                             (void) const { return m_device->getTexelBufferAlignmentFeaturesEXT();                   }
+const vk::VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT&                        Context::getTextureCompressionASTCHDRFeaturesEXT                (void) const { return m_device->getTextureCompressionASTCHDRFeaturesEXT();              }
 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();               }
index 696deac..a180e88 100644 (file)
@@ -22,6 +22,7 @@ const VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                    getDiagnosticsConfigFeatu
 const VkPhysicalDeviceExclusiveScissorFeaturesNV&                                      getExclusiveScissorFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExclusiveScissorFeaturesNV>();                                    }
 const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                         getExtendedDynamicStateFeaturesEXT                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>();                               }
 const VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                           getFragmentDensityMapFeaturesEXT                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>();                                 }
+const VkPhysicalDeviceFragmentDensityMapFeatures2EXT&                          getFragmentDensityMapFeatures2EXT                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapFeatures2EXT>();                                }
 const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                     getFragmentShaderBarycentricFeatures                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>();                   }
 const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                      getFragmentShaderInterlockFeaturesEXT                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>();                    }
 const VkPhysicalDeviceHostQueryResetFeatures&                                          getHostQueryResetFeatures                                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceHostQueryResetFeatures>();                                                }
@@ -55,6 +56,7 @@ const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                    getShaderSubgroupEx
 const VkPhysicalDeviceShadingRateImageFeaturesNV&                                      getShadingRateImageFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShadingRateImageFeaturesNV>();                                    }
 const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT&                          getSubgroupSizeControlFeaturesEXT                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSubgroupSizeControlFeaturesEXT>();                                }
 const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                         getTexelBufferAlignmentFeaturesEXT                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>();                               }
+const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT&                    getTextureCompressionASTCHDRFeaturesEXT                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT>();                  }
 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>();                   }
index 768830e..c70ae56 100644 (file)
@@ -17,6 +17,7 @@ namespace vk
 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
+#define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
@@ -33,7 +34,8 @@ namespace vk
 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
-#define DECL_AMD_SHADER_CORE_EXTENSION_NAME "not_existent_property"
+#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_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
 #define DECL_SUBGROUP_EXTENSION_NAME "not_existent_property"
 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
@@ -44,35 +46,37 @@ namespace vk
 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
 
 
-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, 37); }
-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, 36); }
-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, 35); }
-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, 34); }
-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, 33); }
-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, 32); }
-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, 31); }
-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, 30); }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDriverProperties>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, DECL_DRIVER_EXTENSION_NAME, 0, 29); }
-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, 28); }
-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, 27); }
-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, 26); }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceInlineUniformBlockPropertiesEXT>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 25); }
-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, 24); }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMaintenance3Properties>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, VK_KHR_MAINTENANCE3_EXTENSION_NAME, VK_KHR_MAINTENANCE3_SPEC_VERSION, 23); }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMemoryProperties2>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, DECL_2_MEMORY_EXTENSION_NAME, 0, 22); }
-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, 21); }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMultiviewProperties>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 20); }
-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, 19); }
-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, 18); }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePointClippingProperties>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, DECL_POINT_CLIPPING_EXTENSION_NAME, 0, 17); }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceProtectedMemoryProperties>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 16); }
-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, 15); }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceRayTracingPropertiesKHR>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR, VK_KHR_RAY_TRACING_EXTENSION_NAME, VK_KHR_RAY_TRACING_SPEC_VERSION, 14); }
-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, 13); }
-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, 12); }
-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, 11); }
-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, 10); }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderCorePropertiesAMD>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD, DECL_AMD_SHADER_CORE_EXTENSION_NAME, 0, 9); }
+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, 39); }
+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, 38); }
+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, 37); }
+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, 36); }
+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, 35); }
+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, 34); }
+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, 33); }
+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, 32); }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDriverProperties>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, DECL_DRIVER_EXTENSION_NAME, 0, 31); }
+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, 30); }
+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, 29); }
+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, 28); }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapProperties2EXT>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_2_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 27); }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceInlineUniformBlockPropertiesEXT>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 26); }
+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, 25); }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMaintenance3Properties>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, VK_KHR_MAINTENANCE3_EXTENSION_NAME, VK_KHR_MAINTENANCE3_SPEC_VERSION, 24); }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMemoryProperties2>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, DECL_2_MEMORY_EXTENSION_NAME, 0, 23); }
+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, 22); }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMultiviewProperties>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 21); }
+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, 20); }
+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, 19); }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePointClippingProperties>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, DECL_POINT_CLIPPING_EXTENSION_NAME, 0, 18); }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceProtectedMemoryProperties>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 17); }
+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, 16); }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceRayTracingPropertiesKHR>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR, VK_KHR_RAY_TRACING_EXTENSION_NAME, VK_KHR_RAY_TRACING_SPEC_VERSION, 15); }
+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, 14); }
+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, 13); }
+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, 12); }
+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, 11); }
+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, 10); }
+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, 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<VkPhysicalDeviceSubgroupSizeControlPropertiesEXT>(void) { return PropertyDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 6); }
@@ -97,6 +101,7 @@ static const PropertyStructMapItem propertyStructCreatorMap[] =
        { createPropertyStructWrapper<VkPhysicalDeviceExternalMemoryHostPropertiesEXT>, VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceFloatControlsProperties>, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION },
+       { createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMapProperties2EXT>, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceInlineUniformBlockPropertiesEXT>, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceLineRasterizationPropertiesEXT>, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceMaintenance3Properties>, VK_KHR_MAINTENANCE3_EXTENSION_NAME, VK_KHR_MAINTENANCE3_SPEC_VERSION },
@@ -113,7 +118,8 @@ static const PropertyStructMapItem propertyStructCreatorMap[] =
        { createPropertyStructWrapper<VkPhysicalDeviceRobustness2PropertiesEXT>, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceSamplerFilterMinmaxProperties>, VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME, VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceSampleLocationsPropertiesEXT>, VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME, VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION },
-       { createPropertyStructWrapper<VkPhysicalDeviceShaderCorePropertiesAMD>, DECL_AMD_SHADER_CORE_EXTENSION_NAME, 0 },
+       { 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<VkPhysicalDeviceShadingRateImagePropertiesNV>, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceSubgroupProperties>, DECL_SUBGROUP_EXTENSION_NAME, 0 },
        { createPropertyStructWrapper<VkPhysicalDeviceSubgroupSizeControlPropertiesEXT>, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION },
index 7c3707f..4d998de 100644 (file)
@@ -13,6 +13,7 @@ const vk::VkPhysicalDeviceDriverProperties&                                                   getDriverProperties                                                     (voi
 const vk::VkPhysicalDeviceExternalMemoryHostPropertiesEXT&                     getExternalMemoryHostPropertiesEXT                      (void) const;
 const vk::VkPhysicalDeviceFloatControlsProperties&                                     getFloatControlsProperties                                      (void) const;
 const vk::VkPhysicalDeviceFragmentDensityMapPropertiesEXT&                     getFragmentDensityMapPropertiesEXT                      (void) const;
+const vk::VkPhysicalDeviceFragmentDensityMapProperties2EXT&                    getFragmentDensityMapProperties2EXT                     (void) const;
 const vk::VkPhysicalDeviceInlineUniformBlockPropertiesEXT&                     getInlineUniformBlockPropertiesEXT                      (void) const;
 const vk::VkPhysicalDeviceLineRasterizationPropertiesEXT&                      getLineRasterizationPropertiesEXT                       (void) const;
 const vk::VkPhysicalDeviceMaintenance3Properties&                                      getMaintenance3Properties                                       (void) const;
@@ -30,6 +31,7 @@ const vk::VkPhysicalDeviceRobustness2PropertiesEXT&                                   getRobustness2Properties
 const vk::VkPhysicalDeviceSamplerFilterMinmaxProperties&                       getSamplerFilterMinmaxProperties                        (void) const;
 const vk::VkPhysicalDeviceSampleLocationsPropertiesEXT&                                getSampleLocationsPropertiesEXT                         (void) const;
 const vk::VkPhysicalDeviceShaderCorePropertiesAMD&                                     getShaderCorePropertiesAMD                                      (void) const;
+const vk::VkPhysicalDeviceShaderCoreProperties2AMD&                                    getShaderCoreProperties2AMD                                     (void) const;
 const vk::VkPhysicalDeviceShadingRateImagePropertiesNV&                                getShadingRateImageProperties                           (void) const;
 const vk::VkPhysicalDeviceSubgroupProperties&                                          getSubgroupProperties                                           (void) const;
 const vk::VkPhysicalDeviceSubgroupSizeControlPropertiesEXT&                    getSubgroupSizeControlPropertiesEXT                     (void) const;
index a57e1a6..189afc7 100644 (file)
@@ -13,6 +13,7 @@ const vk::VkPhysicalDeviceDriverProperties&                                                   Context::getDriverProperties
 const vk::VkPhysicalDeviceExternalMemoryHostPropertiesEXT&                     Context::getExternalMemoryHostPropertiesEXT                     (void) const { return m_device->getExternalMemoryHostPropertiesEXT();                   }
 const vk::VkPhysicalDeviceFloatControlsProperties&                                     Context::getFloatControlsProperties                                     (void) const { return m_device->getFloatControlsProperties();                                   }
 const vk::VkPhysicalDeviceFragmentDensityMapPropertiesEXT&                     Context::getFragmentDensityMapPropertiesEXT                     (void) const { return m_device->getFragmentDensityMapPropertiesEXT();                   }
+const vk::VkPhysicalDeviceFragmentDensityMapProperties2EXT&                    Context::getFragmentDensityMapProperties2EXT            (void) const { return m_device->getFragmentDensityMapProperties2EXT();                  }
 const vk::VkPhysicalDeviceInlineUniformBlockPropertiesEXT&                     Context::getInlineUniformBlockPropertiesEXT                     (void) const { return m_device->getInlineUniformBlockPropertiesEXT();                   }
 const vk::VkPhysicalDeviceLineRasterizationPropertiesEXT&                      Context::getLineRasterizationPropertiesEXT                      (void) const { return m_device->getLineRasterizationPropertiesEXT();                    }
 const vk::VkPhysicalDeviceMaintenance3Properties&                                      Context::getMaintenance3Properties                                      (void) const { return m_device->getMaintenance3Properties();                                    }
@@ -30,6 +31,7 @@ const vk::VkPhysicalDeviceRobustness2PropertiesEXT&                                   Context::getRobustness2P
 const vk::VkPhysicalDeviceSamplerFilterMinmaxProperties&                       Context::getSamplerFilterMinmaxProperties                       (void) const { return m_device->getSamplerFilterMinmaxProperties();                             }
 const vk::VkPhysicalDeviceSampleLocationsPropertiesEXT&                                Context::getSampleLocationsPropertiesEXT                        (void) const { return m_device->getSampleLocationsPropertiesEXT();                              }
 const vk::VkPhysicalDeviceShaderCorePropertiesAMD&                                     Context::getShaderCorePropertiesAMD                                     (void) const { return m_device->getShaderCorePropertiesAMD();                                   }
+const vk::VkPhysicalDeviceShaderCoreProperties2AMD&                                    Context::getShaderCoreProperties2AMD                            (void) const { return m_device->getShaderCoreProperties2AMD();                                  }
 const vk::VkPhysicalDeviceShadingRateImagePropertiesNV&                                Context::getShadingRateImageProperties                          (void) const { return m_device->getShadingRateImageProperties();                                }
 const vk::VkPhysicalDeviceSubgroupProperties&                                          Context::getSubgroupProperties                                          (void) const { return m_device->getSubgroupProperties();                                                }
 const vk::VkPhysicalDeviceSubgroupSizeControlPropertiesEXT&                    Context::getSubgroupSizeControlPropertiesEXT            (void) const { return m_device->getSubgroupSizeControlPropertiesEXT();                  }
index 4472000..158b0e2 100644 (file)
@@ -13,6 +13,7 @@ const VkPhysicalDeviceDriverProperties&                                                       getDriverProperties                                                     (void) c
 const VkPhysicalDeviceExternalMemoryHostPropertiesEXT&                 getExternalMemoryHostPropertiesEXT                      (void) const { return m_devicePropertiesFull.getPropertyType<VkPhysicalDeviceExternalMemoryHostPropertiesEXT>();                        }
 const VkPhysicalDeviceFloatControlsProperties&                                 getFloatControlsProperties                                      (void) const { return m_devicePropertiesFull.getPropertyType<VkPhysicalDeviceFloatControlsProperties>();                                        }
 const VkPhysicalDeviceFragmentDensityMapPropertiesEXT&                 getFragmentDensityMapPropertiesEXT                      (void) const { return m_devicePropertiesFull.getPropertyType<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>();                        }
+const VkPhysicalDeviceFragmentDensityMapProperties2EXT&                        getFragmentDensityMapProperties2EXT                     (void) const { return m_devicePropertiesFull.getPropertyType<VkPhysicalDeviceFragmentDensityMapProperties2EXT>();                       }
 const VkPhysicalDeviceInlineUniformBlockPropertiesEXT&                 getInlineUniformBlockPropertiesEXT                      (void) const { return m_devicePropertiesFull.getPropertyType<VkPhysicalDeviceInlineUniformBlockPropertiesEXT>();                        }
 const VkPhysicalDeviceLineRasterizationPropertiesEXT&                  getLineRasterizationPropertiesEXT                       (void) const { return m_devicePropertiesFull.getPropertyType<VkPhysicalDeviceLineRasterizationPropertiesEXT>();                         }
 const VkPhysicalDeviceMaintenance3Properties&                                  getMaintenance3Properties                                       (void) const { return m_devicePropertiesFull.getPropertyType<VkPhysicalDeviceMaintenance3Properties>();                                         }
@@ -30,6 +31,7 @@ const VkPhysicalDeviceRobustness2PropertiesEXT&                                       getRobustness2PropertiesEXT
 const VkPhysicalDeviceSamplerFilterMinmaxProperties&                   getSamplerFilterMinmaxProperties                        (void) const { return m_devicePropertiesFull.getPropertyType<VkPhysicalDeviceSamplerFilterMinmaxProperties>();                          }
 const VkPhysicalDeviceSampleLocationsPropertiesEXT&                            getSampleLocationsPropertiesEXT                         (void) const { return m_devicePropertiesFull.getPropertyType<VkPhysicalDeviceSampleLocationsPropertiesEXT>();                           }
 const VkPhysicalDeviceShaderCorePropertiesAMD&                                 getShaderCorePropertiesAMD                                      (void) const { return m_devicePropertiesFull.getPropertyType<VkPhysicalDeviceShaderCorePropertiesAMD>();                                        }
+const VkPhysicalDeviceShaderCoreProperties2AMD&                                        getShaderCoreProperties2AMD                                     (void) const { return m_devicePropertiesFull.getPropertyType<VkPhysicalDeviceShaderCoreProperties2AMD>();                                       }
 const VkPhysicalDeviceShadingRateImagePropertiesNV&                            getShadingRateImageProperties                           (void) const { return m_devicePropertiesFull.getPropertyType<VkPhysicalDeviceShadingRateImagePropertiesNV>();                           }
 const VkPhysicalDeviceSubgroupProperties&                                              getSubgroupProperties                                           (void) const { return m_devicePropertiesFull.getPropertyType<VkPhysicalDeviceSubgroupProperties>();                                                     }
 const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT&                        getSubgroupSizeControlPropertiesEXT                     (void) const { return m_devicePropertiesFull.getPropertyType<VkPhysicalDeviceSubgroupSizeControlPropertiesEXT>();                       }
index 9c0449a..42589ea 100644 (file)
@@ -776,6 +776,10 @@ void getInstanceExtensionFunctions (deUint32 apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_fragment_density_map2")
+       {
+               return;
+       }
        if (extName == "VK_KHR_android_surface")
        {
                functions.push_back("vkCreateAndroidSurfaceKHR");
@@ -1776,6 +1780,10 @@ void getDeviceExtensionFunctions (deUint32 apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_EXT_fragment_density_map2")
+       {
+               return;
+       }
        if (extName == "VK_KHR_android_surface")
        {
                return;
index 4c5ec26..906a296 100644 (file)
@@ -1891,6 +1891,16 @@ template<> VkStructureType getStructureType<VkDeviceDiagnosticsConfigCreateInfoN
        return VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentDensityMapFeatures2EXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_2_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentDensityMapProperties2EXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_2_EXT;
+}
+
 template<> VkStructureType getStructureType<VkAndroidSurfaceCreateInfoKHR> (void)
 {
        return VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
index dec785d..39eb554 100644 (file)
@@ -885,6 +885,8 @@ std::ostream&       operator<<      (std::ostream& s, const VkPrivateDataSlotCreateInfoEXT&
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceDiagnosticsConfigFeaturesNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDeviceDiagnosticsConfigCreateInfoNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapFeatures2EXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapProperties2EXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkAndroidSurfaceCreateInfoKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkAndroidHardwareBufferUsageANDROID& value);
 std::ostream&  operator<<      (std::ostream& s, const VkAndroidHardwareBufferPropertiesANDROID& value);
index 397942b..5176817 100644 (file)
@@ -568,6 +568,8 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT:    return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV:                                  return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV";
                case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV:                                                return "VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_2_EXT:                             return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_2_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_2_EXT:                   return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_2_EXT";
                case VK_STRUCTURE_TYPE_MAX_ENUM:                                                                                                                return "VK_STRUCTURE_TYPE_MAX_ENUM";
                default:                                                                                                                                                                return DE_NULL;
        }
@@ -2484,8 +2486,9 @@ tcu::Format::Bitfield<32> getImageViewCreateFlagsStr (VkImageViewCreateFlags val
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT, "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT"),
-               tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM,                                   "VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM"),
+               tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT,         "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT,        "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM,                                           "VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -9590,6 +9593,29 @@ std::ostream& operator<< (std::ostream& s, const VkDeviceDiagnosticsConfigCreate
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapFeatures2EXT& value)
+{
+       s << "VkPhysicalDeviceFragmentDensityMapFeatures2EXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tfragmentDensityMapDeferred = " << value.fragmentDensityMapDeferred << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapProperties2EXT& value)
+{
+       s << "VkPhysicalDeviceFragmentDensityMapProperties2EXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsubsampledLoads = " << value.subsampledLoads << '\n';
+       s << "\tsubsampledCoarseReconstructionEarlyAccess = " << value.subsampledCoarseReconstructionEarlyAccess << '\n';
+       s << "\tmaxSubsampledArrayLayers = " << value.maxSubsampledArrayLayers << '\n';
+       s << "\tmaxDescriptorSetSubsampledSamplers = " << value.maxDescriptorSetSubsampledSamplers << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkAndroidSurfaceCreateInfoKHR& value)
 {
        s << "VkAndroidSurfaceCreateInfoKHR = {\n";
index e61ff84..a887840 100644 (file)
@@ -4552,6 +4552,23 @@ struct VkDeviceDiagnosticsConfigCreateInfoNV
        VkDeviceDiagnosticsConfigFlagsNV        flags;
 };
 
+struct VkPhysicalDeviceFragmentDensityMapFeatures2EXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                fragmentDensityMapDeferred;
+};
+
+struct VkPhysicalDeviceFragmentDensityMapProperties2EXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                subsampledLoads;
+       VkBool32                subsampledCoarseReconstructionEarlyAccess;
+       deUint32                maxSubsampledArrayLayers;
+       deUint32                maxDescriptorSetSubsampledSamplers;
+};
+
 struct VkAndroidSurfaceCreateInfoKHR
 {
        VkStructureType                                         sType;
index 1022b46..15793f8 100644 (file)
@@ -604,6 +604,8 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
     VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_2_EXT = 1000332000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_2_EXT = 1000332001,
     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,
@@ -1723,6 +1725,7 @@ typedef VkFlags VkBufferViewCreateFlags;
 
 typedef enum VkImageViewCreateFlagBits {
     VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
+    VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
     VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkImageViewCreateFlagBits;
 typedef VkFlags VkImageViewCreateFlags;
@@ -10915,6 +10918,27 @@ typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
 #define VK_QCOM_render_pass_store_ops_SPEC_VERSION 2
 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
 
+
+
+#define VK_EXT_fragment_density_map2 1
+#define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
+#define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
+typedef struct VkPhysicalDeviceFragmentDensityMapFeatures2EXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           fragmentDensityMapDeferred;
+} VkPhysicalDeviceFragmentDensityMapFeatures2EXT;
+
+typedef struct VkPhysicalDeviceFragmentDensityMapProperties2EXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           subsampledLoads;
+    VkBool32           subsampledCoarseReconstructionEarlyAccess;
+    deUint32           maxSubsampledArrayLayers;
+    deUint32           maxDescriptorSetSubsampledSamplers;
+} VkPhysicalDeviceFragmentDensityMapProperties2EXT;
+
+
 #ifdef __cplusplus
 }
 #endif
index 01a8803..b99ab7e 100644 (file)
 #include "vkCmdUtil.hpp"
 #include "vkRefUtil.hpp"
 #include "vkObjUtil.hpp"
+#include "vkBarrierUtil.hpp"
 #include "vkBuilderUtil.hpp"
+#include "tcuStringTemplate.hpp"
+#include "tcuTextureUtil.hpp"
 #include "tcuTestLog.hpp"
 #include <sstream>
 #include <vector>
 // - render_copy tests check if it's possible to copy results using input attachment descriptor ( this simulates deferred rendering behaviour )
 // - non_divisible_density_size tests check if subsampled images work when its dimension is not divisible by minFragmentDensityTexelSize
 // - N_samples tests check if multisampling works with VK_EXT_fragment_density_map extension
-// - static_* tests use density map loaded from CPU.
+// - static_* tests use density map loaded from CPU during vkCmdBeginRenderPass.
 // - dynamic_* tests use density map rendered on a GPU in a separate render pass
+// - deffered_* tests use density map loaded from CPU during VkEndCommandBuffer.
 // - *_nonsubsampled tests check if it's possible to use nonsubsampled images instead of subsampled ones
 
-// There are 3 render passes performed during the test:
+// There are 3 render passes performed during most of the tests:
 //  - render pass that produces density map ( this rp is skipped when density map is static )
 //  - render pass that produces subsampled image using density map and eventually copies results to different image ( render_copy )
 //  - render pass that copies subsampled image to traditional image using sampler with VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT flag.
 //    ( because subsampled images cannot be retrieved to CPU in any other way ).
+// There are few tests that use additional subpass that resamples subsampled image using diferent density map.
+
+// Code of FragmentDensityMapTestInstance is also used to test subsampledLoads, subsampledCoarseReconstructionEarlyAccess,
+// maxDescriptorSetSubsampledSamplers properties.
+
+// set value of DRY_RUN_WITHOUT_FDM_EXTENSION to 1 for dummy run hat checks the correctness of the code without using VK_EXT_fragment_density_map extension
+#define DRY_RUN_WITHOUT_FDM_EXTENSION 0
 
 namespace vkt
 {
@@ -69,24 +80,20 @@ using namespace vk;
 namespace
 {
 
-// set value of DRY_RUN_WITHOUT_FDM_EXTENSION to 1 if you want to check the correctness of the code without using VK_EXT_fragment_density_map extension
-#define DRY_RUN_WITHOUT_FDM_EXTENSION 0
-
 struct TestParams
 {
-       TestParams(bool dynamicDensity, bool nonSubsampled, bool multiview, bool copy, float renderSizeMultiplier, VkSampleCountFlagBits samples, const tcu::UVec2& area )
-               : dynamicDensityMap{ dynamicDensity }, nonSubsampledImages{ nonSubsampled }, multiView{ multiview }, makeCopy{ copy }, densityMapSize{16,16}, colorSamples{ samples }, fragmentArea{ area }, densityMapFormat{ VK_FORMAT_R8G8_UNORM }
-       {
-               renderSize              = tcu::UVec2(deFloorFloatToInt32(renderSizeMultiplier * static_cast<float>(densityMapSize.x())), deFloorFloatToInt32(renderSizeMultiplier * static_cast<float>(densityMapSize.y())));
-       }
        bool                                    dynamicDensityMap;
+       bool                                    deferredDensityMap;
        bool                                    nonSubsampledImages;
-       bool                                    multiView;
+       bool                                    subsampledLoads;
+       bool                                    coarseReconstruction;
+       deUint32                                samplersCount;
+       deUint32                                viewCount;
        bool                                    makeCopy;
-       tcu::UVec2                              densityMapSize;
-       tcu::UVec2                              renderSize;
+       float                                   renderMultiplier;
        VkSampleCountFlagBits   colorSamples;
        tcu::UVec2                              fragmentArea;
+       tcu::UVec2                              densityMapSize;
        VkFormat                                densityMapFormat;
 };
 
@@ -97,61 +104,39 @@ struct Vertex4RGBA
        tcu::Vec4       color;
 };
 
-std::vector<Vertex4RGBA> createFullscreenQuadRG(void)
+std::vector<Vertex4RGBA> createFullscreenMesh(deUint32 viewCount, tcu::Vec2 redGradient, tcu::Vec2 greenGradient)
 {
-       const Vertex4RGBA lowerLeftVertex       = { tcu::Vec4(-1.0f, 1.0f, 0.0f, 1.0f),         tcu::Vec4(0.0f, 1.0f, 0.0f, 1.0f),      tcu::Vec4(0.0f, 1.0f, 0.0f, 1.0f) };
-       const Vertex4RGBA upperLeftVertex       = { tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f),        tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f),      tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f) };
-       const Vertex4RGBA lowerRightVertex      = { tcu::Vec4(1.0f, 1.0f, 0.0f, 1.0f),          tcu::Vec4(1.0f, 1.0f, 0.0f, 1.0f),      tcu::Vec4(1.0f, 1.0f, 0.0f, 1.0f) };
-       const Vertex4RGBA upperRightVertex      = { tcu::Vec4(1.0f, -1.0f, 0.0f, 1.0f),         tcu::Vec4(1.0f, 0.0f, 0.0f, 1.0f),      tcu::Vec4(1.0f, 0.0f, 0.0f, 1.0f) };
+       DE_ASSERT(viewCount > 0);
 
-       return
-       {
-               lowerLeftVertex, lowerRightVertex, upperLeftVertex,
-               upperLeftVertex, lowerRightVertex, upperRightVertex
-       };
-}
-
-std::vector<Vertex4RGBA> createFullscreenQuadDensity(float densityX, float densityY)
-{
-       const Vertex4RGBA lowerLeftVertex       = { tcu::Vec4(-1.0f, 1.0f, 0.0f, 1.0f),         tcu::Vec4(0.0f, 1.0f, 0.0f, 1.0f),      tcu::Vec4(densityX, densityY, 0.0f, 1.0f) };
-       const Vertex4RGBA upperLeftVertex       = { tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f),        tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f),      tcu::Vec4(densityX, densityY, 0.0f, 1.0f) };
-       const Vertex4RGBA lowerRightVertex      = { tcu::Vec4(1.0f, 1.0f, 0.0f, 1.0f),          tcu::Vec4(1.0f, 1.0f, 0.0f, 1.0f),      tcu::Vec4(densityX, densityY, 0.0f, 1.0f) };
-       const Vertex4RGBA upperRightVertex      = { tcu::Vec4(1.0f, -1.0f, 0.0f, 1.0f),         tcu::Vec4(1.0f, 0.0f, 0.0f, 1.0f),      tcu::Vec4(densityX, densityY, 0.0f, 1.0f) };
+       const auto&             r               = redGradient;
+       const auto&             g               = greenGradient;
+       const float             step    = 2.0f / static_cast<float>(viewCount);
+       float                   xStart  = -1.0f;
 
-       return
+       std::vector<Vertex4RGBA> resultMesh;
+       for (deUint32 viewIndex = 0; viewIndex < viewCount ; ++viewIndex)
        {
-               lowerLeftVertex, lowerRightVertex, upperLeftVertex,
-               upperLeftVertex, lowerRightVertex, upperRightVertex
-       };
-};
+               const float             fIndex          = static_cast<float>(viewIndex);
+               const deUint32  nextIndex       = viewIndex + 1;
+               const float             xEnd            = (nextIndex == viewCount) ? 1.0f : (-1.0f + step * static_cast<float>(nextIndex));
 
-std::vector<Vertex4RGBA> createFullscreenMeshOutput(bool isMultiview)
-{
-       float midX = isMultiview ? 0.0f : 1.0f;
-
-       const Vertex4RGBA lowerLeftVertex0      = { tcu::Vec4(-1.0f, 1.0f, 0.0f, 1.0f),         tcu::Vec4(0.0f, 1.0f, 0.0f, 1.0f),      tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f) };
-       const Vertex4RGBA upperLeftVertex0      = { tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f),        tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f),      tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f) };
-       const Vertex4RGBA lowerRightVertex0     = { tcu::Vec4(midX, 1.0f, 0.0f, 1.0f),          tcu::Vec4(1.0f, 1.0f, 0.0f, 1.0f),      tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f) };
-       const Vertex4RGBA upperRightVertex0     = { tcu::Vec4(midX, -1.0f, 0.0f, 1.0f),         tcu::Vec4(1.0f, 0.0f, 0.0f, 1.0f),      tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f) };
-
-       const Vertex4RGBA lowerLeftVertex1      = { tcu::Vec4(midX, 1.0f, 0.0f, 1.0f),          tcu::Vec4(0.0f, 1.0f, 1.0f, 1.0f),      tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f) };
-       const Vertex4RGBA upperLeftVertex1      = { tcu::Vec4(midX, -1.0f, 0.0f, 1.0f),         tcu::Vec4(0.0f, 0.0f, 1.0f, 1.0f),      tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f) };
-       const Vertex4RGBA lowerRightVertex1     = { tcu::Vec4(1.0f, 1.0f, 0.0f, 1.0f),          tcu::Vec4(1.0f, 1.0f, 1.0f, 1.0f),      tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f) };
-       const Vertex4RGBA upperRightVertex1     = { tcu::Vec4(1.0f, -1.0f, 0.0f, 1.0f),         tcu::Vec4(1.0f, 0.0f, 1.0f, 1.0f),      tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f) };
+               // quad vertex                                                  position                                                uv                                                              color
+               const Vertex4RGBA lowerLeftVertex       = { { xStart,  1.0f, 0.0f, 1.0f },      { 0.0f, 1.0f, fIndex, 1.0f },   { r.x(), g.y(), 0.0f, 1.0f } };
+               const Vertex4RGBA upperLeftVertex       = { { xStart, -1.0f, 0.0f, 1.0f },      { 0.0f, 0.0f, fIndex, 1.0f },   { r.x(), g.x(), 0.0f, 1.0f } };
+               const Vertex4RGBA lowerRightVertex      = { {   xEnd,  1.0f, 0.0f, 1.0f },      { 1.0f, 1.0f, fIndex, 1.0f },   { r.y(), g.y(), 0.0f, 1.0f } };
+               const Vertex4RGBA upperRightVertex      = { {   xEnd, -1.0f, 0.0f, 1.0f },      { 1.0f, 0.0f, fIndex, 1.0f },   { r.y(), g.x(), 0.0f, 1.0f } };
 
-       if(isMultiview)
-               return
+               const std::vector<Vertex4RGBA> viewData
                {
-                       lowerLeftVertex0, lowerRightVertex0, upperLeftVertex0,
-                       upperLeftVertex0, lowerRightVertex0, upperRightVertex0,
-                       lowerLeftVertex1, lowerRightVertex1, upperLeftVertex1,
-                       upperLeftVertex1, lowerRightVertex1, upperRightVertex1
+                       lowerLeftVertex, lowerRightVertex, upperLeftVertex,
+                       upperLeftVertex, lowerRightVertex, upperRightVertex
                };
-       return
-       {
-               lowerLeftVertex0, lowerRightVertex0, upperLeftVertex0,
-               upperLeftVertex0, lowerRightVertex0, upperRightVertex0
-       };
+
+               resultMesh.insert(resultMesh.end(), viewData.begin(), viewData.end());
+               xStart = xEnd;
+       }
+
+       return resultMesh;
 }
 
 template <typename T>
@@ -243,13 +228,20 @@ void prepareImageAndImageView     (const DeviceInterface&                 vk,
        imageView = createImageView(vk, vkDevice, &imageViewCreateInfo);
 }
 
-template<typename AttachmentDesc, typename AttachmentRef, typename SubpassDesc, typename SubpassDep, typename RenderPassCreateInfo>
 Move<VkRenderPass> createRenderPassProduceDynamicDensityMap(const DeviceInterface&     vk,
                                                                                                                        VkDevice                                vkDevice,
+                                                                                                                       deUint32                                viewMask,
                                                                                                                        const TestParams&               testParams)
 {
-       VkImageLayout densityPassFinalLayout = testParams.dynamicDensityMap ? VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT : VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
-       std::vector<AttachmentDesc>             attachmentDescriptions =
+       DE_ASSERT(testParams.dynamicDensityMap);
+
+       typedef AttachmentDescription2  AttachmentDesc;
+       typedef AttachmentReference2    AttachmentRef;
+       typedef SubpassDescription2             SubpassDesc;
+       typedef SubpassDependency2              SubpassDep;
+       typedef RenderPassCreateInfo2   RenderPassCreateInfo;
+
+       std::vector<AttachmentDesc> attachmentDescriptions
        {
                {
                        DE_NULL,                                                                                                                        // const void*                                          pNext
@@ -261,7 +253,11 @@ Move<VkRenderPass> createRenderPassProduceDynamicDensityMap(const DeviceInterfac
                        VK_ATTACHMENT_LOAD_OP_DONT_CARE,                                                                        // VkAttachmentLoadOp                           stencilLoadOp
                        VK_ATTACHMENT_STORE_OP_DONT_CARE,                                                                       // VkAttachmentStoreOp                          stencilStoreOp
                        VK_IMAGE_LAYOUT_UNDEFINED,                                                                                      // VkImageLayout                                        initialLayout
-                       densityPassFinalLayout                                                                                          // VkImageLayout                                        finalLayout
+#if DRY_RUN_WITHOUT_FDM_EXTENSION
+                       VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL                                                        // VkImageLayout                                        finalLayout
+#else
+                       VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT                                        // VkImageLayout                                        finalLayout
+#endif
                }
        };
 
@@ -270,13 +266,13 @@ Move<VkRenderPass> createRenderPassProduceDynamicDensityMap(const DeviceInterfac
                { DE_NULL, 0u, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT }
        };
 
-       std::vector<SubpassDesc>        subpassDescriptions
+       std::vector<SubpassDesc> subpassDescriptions
        {
                {
                        DE_NULL,
                        (VkSubpassDescriptionFlags)0,                                                                           // VkSubpassDescriptionFlags            flags
                        VK_PIPELINE_BIND_POINT_GRAPHICS,                                                                        // VkPipelineBindPoint                          pipelineBindPoint
-                       testParams.multiView ? 0x3u : 0x0u,                                                                     // deUint32                                                     viewMask
+                       viewMask,                                                                                                                       // deUint32                                                     viewMask
                        0u,                                                                                                                                     // deUint32                                                     inputAttachmentCount
                        DE_NULL,                                                                                                                        // const VkAttachmentReference*         pInputAttachments
                        static_cast<deUint32>(colorAttachmentRefs.size()),                                      // deUint32                                                     colorAttachmentCount
@@ -288,43 +284,49 @@ Move<VkRenderPass> createRenderPassProduceDynamicDensityMap(const DeviceInterfac
                }
        };
 
-       std::vector<SubpassDep>         subpassDependencies;
-       if ( testParams.dynamicDensityMap )
+       std::vector<SubpassDep> subpassDependencies
        {
-               subpassDependencies.emplace_back(
-                       SubpassDep(
-                               DE_NULL,                                                                                                                // const void*                          pNext
-                               0u,                                                                                                                             // uint32_t                                     srcSubpass
-                               VK_SUBPASS_EXTERNAL,                                                                                    // uint32_t                                     dstSubpass
-                               VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,                                  // VkPipelineStageFlags         srcStageMask
-                               VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT,                             // VkPipelineStageFlags         dstStageMask
-                               VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                                   // VkAccessFlags                        srcAccessMask
-                               VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,                                    // VkAccessFlags                        dstAccessMask
-                               VK_DEPENDENCY_BY_REGION_BIT,                                                                    // VkDependencyFlags            dependencyFlags
-                               0u                                                                                                                              // deInt32                                      viewOffset
-                       )
-               );
+               {
+                       DE_NULL,                                                                                                                        // const void*                          pNext
+                       0u,                                                                                                                                     // uint32_t                                     srcSubpass
+                       VK_SUBPASS_EXTERNAL,                                                                                            // uint32_t                                     dstSubpass
+#if DRY_RUN_WITHOUT_FDM_EXTENSION
+                       VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,                                          // VkPipelineStageFlags         srcStageMask
+                       VK_PIPELINE_STAGE_TRANSFER_BIT,                                                                         // VkPipelineStageFlags         dstStageMask
+                       VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                                           // VkAccessFlags                        srcAccessMask
+                       VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,                                                            // VkAccessFlags                        dstAccessMask
+#else
+                       VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,                                          // VkPipelineStageFlags         srcStageMask
+                       VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT,                                     // VkPipelineStageFlags         dstStageMask
+                       VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                                           // VkAccessFlags                        srcAccessMask
+                       VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,                                            // VkAccessFlags                        dstAccessMask
+#endif
+                       VK_DEPENDENCY_BY_REGION_BIT,                                                                            // VkDependencyFlags            dependencyFlags
+                       0u                                                                                                                                      // deInt32                                      viewOffset
+               }
        };
 
        vk::VkRenderPassMultiviewCreateInfo     renderPassMultiviewCreateInfo;
-       void*                                                           renderPassInfoPNext     = DE_NULL;
-       std::vector<deUint32>                           viewMasks(subpassDescriptions.size(), 0x3u);
+       void*                                                           renderPassInfoPNext = DE_NULL;
+       std::vector<deUint32>                           viewMasks(subpassDescriptions.size(), viewMask);
 
-       if (testParams.multiView)
+       if (testParams.viewCount > 1)
        {
-
-               renderPassMultiviewCreateInfo.sType                                     = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO;
-               renderPassMultiviewCreateInfo.pNext                                     = renderPassInfoPNext;
-               renderPassMultiviewCreateInfo.subpassCount                      = static_cast<deUint32>(viewMasks.size());
-               renderPassMultiviewCreateInfo.pViewMasks                        = viewMasks.data();
-               renderPassMultiviewCreateInfo.dependencyCount           = 0;
-               renderPassMultiviewCreateInfo.pViewOffsets                      = DE_NULL;
-               renderPassMultiviewCreateInfo.correlationMaskCount      = 0U;
-               renderPassMultiviewCreateInfo.pCorrelationMasks         = DE_NULL;
-               renderPassInfoPNext                                                                     = (void*)&renderPassMultiviewCreateInfo;
+               renderPassMultiviewCreateInfo =
+               {
+                       VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
+                       renderPassInfoPNext,
+                       static_cast<deUint32>(viewMasks.size()),
+                       viewMasks.data(),
+                       0,
+                       DE_NULL,
+                       0U,
+                       DE_NULL
+               };
+               renderPassInfoPNext = (void*)&renderPassMultiviewCreateInfo;
        }
 
-       const RenderPassCreateInfo      renderPassInfo(
+       const RenderPassCreateInfo renderPassInfo(
                renderPassInfoPNext,                                                                                                    // const void*                                          pNext
                (VkRenderPassCreateFlags)0,                                                                                             // VkRenderPassCreateFlags                      flags
                static_cast<deUint32>(attachmentDescriptions.size()),                                   // deUint32                                                     attachmentCount
@@ -340,214 +342,225 @@ Move<VkRenderPass> createRenderPassProduceDynamicDensityMap(const DeviceInterfac
        return renderPassInfo.createRenderPass(vk, vkDevice);
 }
 
-template<typename AttachmentDesc, typename AttachmentRef, typename SubpassDesc, typename SubpassDep, typename RenderPassCreateInfo>
-Move<VkRenderPass> createRenderPassProduceSubsampledImage(const                                DeviceInterface&        vk,
-                                                                                                                 VkDevice                      vkDevice,
-                                                                                                                 const TestParams&     testParams)
+Move<VkRenderPass> createRenderPassProduceSubsampledImage(const DeviceInterface&       vk,
+                                                                                                                 VkDevice                                      vkDevice,
+                                                                                                                 deUint32                                      viewMask,
+                                                                                                                 bool                                          makeCopySubpass,
+                                                                                                                 bool                                          resampleSubsampled,
+                                                                                                                 const TestParams&                     testParams)
 {
+       typedef AttachmentDescription2  AttachmentDesc;
+       typedef AttachmentReference2    AttachmentRef;
+       typedef SubpassDescription2             SubpassDesc;
+       typedef SubpassDependency2              SubpassDep;
+       typedef RenderPassCreateInfo2   RenderPassCreateInfo;
+
+       const void* constNullPtr                                = DE_NULL;
+       deUint32        multisampleAttachmentIndex      = 0;
+       deUint32        copyAttachmentIndex                     = 0;
+       deUint32        densityMapAttachmentIndex       = 0;
+
        // add color image
-       std::vector<AttachmentDesc>             attachmentDescriptions
+       VkAttachmentLoadOp                      loadOp = resampleSubsampled ? VK_ATTACHMENT_LOAD_OP_LOAD : VK_ATTACHMENT_LOAD_OP_CLEAR;
+       std::vector<AttachmentDesc> attachmentDescriptions
        {
                // Output color attachment
                {
-                       DE_NULL,                                                                                                                                // const void*                                          pNext
-                       (VkAttachmentDescriptionFlags)0,                                                                                // VkAttachmentDescriptionFlags         flags
-                       VK_FORMAT_R8G8B8A8_UNORM,                                                                                               // VkFormat                                                     format
-                       testParams.colorSamples,                                                                                                // VkSampleCountFlagBits                        samples
-                       VK_ATTACHMENT_LOAD_OP_CLEAR,                                                                                    // VkAttachmentLoadOp                           loadOp
-                       VK_ATTACHMENT_STORE_OP_STORE,                                                                                   // VkAttachmentStoreOp                          storeOp
-                       VK_ATTACHMENT_LOAD_OP_DONT_CARE,                                                                                // VkAttachmentLoadOp                           stencilLoadOp
-                       VK_ATTACHMENT_STORE_OP_DONT_CARE,                                                                               // VkAttachmentStoreOp                          stencilStoreOp
-                       VK_IMAGE_LAYOUT_UNDEFINED,                                                                                              // VkImageLayout                                        initialLayout
-                       VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                                                                // VkImageLayout                                        finalLayout
+                       DE_NULL,                                                                                                                        // const void*                                          pNext
+                       (VkAttachmentDescriptionFlags)0,                                                                        // VkAttachmentDescriptionFlags         flags
+                       VK_FORMAT_R8G8B8A8_UNORM,                                                                                       // VkFormat                                                     format
+                       testParams.colorSamples,                                                                                        // VkSampleCountFlagBits                        samples
+                       loadOp,                                                                                                                         // VkAttachmentLoadOp                           loadOp
+                       VK_ATTACHMENT_STORE_OP_STORE,                                                                           // VkAttachmentStoreOp                          storeOp
+                       VK_ATTACHMENT_LOAD_OP_DONT_CARE,                                                                        // VkAttachmentLoadOp                           stencilLoadOp
+                       VK_ATTACHMENT_STORE_OP_DONT_CARE,                                                                       // VkAttachmentStoreOp                          stencilStoreOp
+                       VK_IMAGE_LAYOUT_UNDEFINED,                                                                                      // VkImageLayout                                        initialLayout
+                       VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                                                        // VkImageLayout                                        finalLayout
                }
        };
-       deUint32 multisampleAttachmentIndex     = 0;
-       deUint32 copyAttachmentIndex            = 0;
-       deUint32 densityMapAttachmentIndex      = 0;
 
        // add resolve image when we use more than one sample per fragment
        if (testParams.colorSamples != VK_SAMPLE_COUNT_1_BIT)
        {
                multisampleAttachmentIndex = static_cast<deUint32>(attachmentDescriptions.size());
                attachmentDescriptions.emplace_back(
-                       AttachmentDesc(
-                               DE_NULL,                                                                                                                        // const void*                                          pNext
-                               (VkAttachmentDescriptionFlags)0,                                                                        // VkAttachmentDescriptionFlags         flags
-                               VK_FORMAT_R8G8B8A8_UNORM,                                                                                       // VkFormat                                                     format
-                               VK_SAMPLE_COUNT_1_BIT,                                                                                          // VkSampleCountFlagBits                        samples
-                               VK_ATTACHMENT_LOAD_OP_CLEAR,                                                                            // VkAttachmentLoadOp                           loadOp
-                               VK_ATTACHMENT_STORE_OP_STORE,                                                                           // VkAttachmentStoreOp                          storeOp
-                               VK_ATTACHMENT_LOAD_OP_DONT_CARE,                                                                        // VkAttachmentLoadOp                           stencilLoadOp
-                               VK_ATTACHMENT_STORE_OP_DONT_CARE,                                                                       // VkAttachmentStoreOp                          stencilStoreOp
-                               VK_IMAGE_LAYOUT_UNDEFINED,                                                                                      // VkImageLayout                                        initialLayout
-                               VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                                                        // VkImageLayout                                        finalLayout
-                       )
+                       constNullPtr,                                                                                                           // const void*                                          pNext
+                       (VkAttachmentDescriptionFlags)0,                                                                        // VkAttachmentDescriptionFlags         flags
+                       VK_FORMAT_R8G8B8A8_UNORM,                                                                                       // VkFormat                                                     format
+                       VK_SAMPLE_COUNT_1_BIT,                                                                                          // VkSampleCountFlagBits                        samples
+                       VK_ATTACHMENT_LOAD_OP_CLEAR,                                                                            // VkAttachmentLoadOp                           loadOp
+                       VK_ATTACHMENT_STORE_OP_STORE,                                                                           // VkAttachmentStoreOp                          storeOp
+                       VK_ATTACHMENT_LOAD_OP_DONT_CARE,                                                                        // VkAttachmentLoadOp                           stencilLoadOp
+                       VK_ATTACHMENT_STORE_OP_DONT_CARE,                                                                       // VkAttachmentStoreOp                          stencilStoreOp
+                       VK_IMAGE_LAYOUT_UNDEFINED,                                                                                      // VkImageLayout                                        initialLayout
+                       VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                                                        // VkImageLayout                                        finalLayout
                );
        }
 
        // add color image copy ( when render_copy is used )
-       if (testParams.makeCopy)
+       if (makeCopySubpass)
        {
                copyAttachmentIndex = static_cast<deUint32>(attachmentDescriptions.size());
                attachmentDescriptions.emplace_back(
-                       AttachmentDesc(
-                               DE_NULL,                                                                                                                        // const void*                                          pNext
-                               (VkAttachmentDescriptionFlags)0,                                                                        // VkAttachmentDescriptionFlags         flags
-                               VK_FORMAT_R8G8B8A8_UNORM,                                                                                       // VkFormat                                                     format
-                               testParams.colorSamples,                                                                                        // VkSampleCountFlagBits                        samples
-                               VK_ATTACHMENT_LOAD_OP_CLEAR,                                                                            // VkAttachmentLoadOp                           loadOp
-                               VK_ATTACHMENT_STORE_OP_STORE,                                                                           // VkAttachmentStoreOp                          storeOp
-                               VK_ATTACHMENT_LOAD_OP_DONT_CARE,                                                                        // VkAttachmentLoadOp                           stencilLoadOp
-                               VK_ATTACHMENT_STORE_OP_DONT_CARE,                                                                       // VkAttachmentStoreOp                          stencilStoreOp
-                               VK_IMAGE_LAYOUT_UNDEFINED,                                                                                      // VkImageLayout                                        initialLayout
-                               VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                                                        // VkImageLayout                                        finalLayout
-                       )
+                       constNullPtr,                                                                                                           // const void*                                          pNext
+                       (VkAttachmentDescriptionFlags)0,                                                                        // VkAttachmentDescriptionFlags         flags
+                       VK_FORMAT_R8G8B8A8_UNORM,                                                                                       // VkFormat                                                     format
+                       testParams.colorSamples,                                                                                        // VkSampleCountFlagBits                        samples
+                       VK_ATTACHMENT_LOAD_OP_CLEAR,                                                                            // VkAttachmentLoadOp                           loadOp
+                       VK_ATTACHMENT_STORE_OP_STORE,                                                                           // VkAttachmentStoreOp                          storeOp
+                       VK_ATTACHMENT_LOAD_OP_DONT_CARE,                                                                        // VkAttachmentLoadOp                           stencilLoadOp
+                       VK_ATTACHMENT_STORE_OP_DONT_CARE,                                                                       // VkAttachmentStoreOp                          stencilStoreOp
+                       VK_IMAGE_LAYOUT_UNDEFINED,                                                                                      // VkImageLayout                                        initialLayout
+                       VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                                                        // VkImageLayout                                        finalLayout
                );
        }
 
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
        // add density map
-       {
-               densityMapAttachmentIndex = static_cast<deUint32>(attachmentDescriptions.size());
-               attachmentDescriptions.emplace_back(
-                       AttachmentDesc(
-                               DE_NULL,                                                                                                                        // const void*                                          pNext
-                               (VkAttachmentDescriptionFlags)0,                                                                        // VkAttachmentDescriptionFlags         flags
-                               testParams.densityMapFormat,                                                                            // VkFormat                                                     format
-                               VK_SAMPLE_COUNT_1_BIT,                                                                                          // VkSampleCountFlagBits                        samples
-                               VK_ATTACHMENT_LOAD_OP_LOAD,                                                                                     // VkAttachmentLoadOp                           loadOp
-                               VK_ATTACHMENT_STORE_OP_DONT_CARE,                                                                       // VkAttachmentStoreOp                          storeOp
-                               VK_ATTACHMENT_LOAD_OP_DONT_CARE,                                                                        // VkAttachmentLoadOp                           stencilLoadOp
-                               VK_ATTACHMENT_STORE_OP_DONT_CARE,                                                                       // VkAttachmentStoreOp                          stencilStoreOp
-                               VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT,                                       // VkImageLayout                                        initialLayout
-                               VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT                                        // VkImageLayout                                        finalLayout
-                       )
-               );
-       }
-#endif
+       densityMapAttachmentIndex = static_cast<deUint32>(attachmentDescriptions.size());
+       attachmentDescriptions.emplace_back(
+               constNullPtr,                                                                                                                   // const void*                                          pNext
+               (VkAttachmentDescriptionFlags)0,                                                                                // VkAttachmentDescriptionFlags         flags
+               testParams.densityMapFormat,                                                                                    // VkFormat                                                     format
+               VK_SAMPLE_COUNT_1_BIT,                                                                                                  // VkSampleCountFlagBits                        samples
+               VK_ATTACHMENT_LOAD_OP_LOAD,                                                                                             // VkAttachmentLoadOp                           loadOp
+               VK_ATTACHMENT_STORE_OP_DONT_CARE,                                                                               // VkAttachmentStoreOp                          storeOp
+               VK_ATTACHMENT_LOAD_OP_DONT_CARE,                                                                                // VkAttachmentLoadOp                           stencilLoadOp
+               VK_ATTACHMENT_STORE_OP_DONT_CARE,                                                                               // VkAttachmentStoreOp                          stencilStoreOp
+               VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT,                                               // VkImageLayout                                        initialLayout
+               VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT                                                // VkImageLayout                                        finalLayout
+       );
 
        std::vector<AttachmentRef> colorAttachmentRefs0
        {
                { DE_NULL, 0u, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT }
        };
 
-       std::vector<AttachmentRef> resolveAttachmentRefs0;
-
-       // for multisampled scenario without copying results - we need to add resolve attachment
-       if(testParams.colorSamples!= VK_SAMPLE_COUNT_1_BIT && !testParams.makeCopy)
+       // for multisampled scenario we need to add resolve attachment
+       // (for makeCopy scenario it is used in second subpass)
+       AttachmentRef*  pResolveAttachments             = DE_NULL;
+       AttachmentRef   resolveAttachmentRef
        {
-               resolveAttachmentRefs0.push_back( { DE_NULL, multisampleAttachmentIndex, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT } );
+               DE_NULL,
+               multisampleAttachmentIndex,
+               VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
+               VK_IMAGE_ASPECT_COLOR_BIT
        };
+       if (testParams.colorSamples != VK_SAMPLE_COUNT_1_BIT)
+               pResolveAttachments = &resolveAttachmentRef;
 
        std::vector<SubpassDesc> subpassDescriptions
        {
                {
                        DE_NULL,
-                       (VkSubpassDescriptionFlags)0,                                                                                           // VkSubpassDescriptionFlags    flags
-                       VK_PIPELINE_BIND_POINT_GRAPHICS,                                                                                        // VkPipelineBindPoint                  pipelineBindPoint
-                       testParams.multiView ? 0x3u : 0x0u,                                                                                     // deUint32                                             viewMask
-                       0u,                                                                                                                                                     // deUint32                                             inputAttachmentCount
-                       DE_NULL,                                                                                                                                        // const VkAttachmentReference* pInputAttachments
-                       static_cast<deUint32>(colorAttachmentRefs0.size()),                                                     // deUint32                                             colorAttachmentCount
-                       colorAttachmentRefs0.data(),                                                                                            // const VkAttachmentReference* pColorAttachments
-                       resolveAttachmentRefs0.empty() ? DE_NULL : resolveAttachmentRefs0.data(),       // const VkAttachmentReference* pResolveAttachments
-                       DE_NULL,                                                                                                                                        // const VkAttachmentReference* pDepthStencilAttachment
-                       0u,                                                                                                                                                     // deUint32                                             preserveAttachmentCount
-                       DE_NULL                                                                                                                                         // const deUint32*                              pPreserveAttachments
+                       (VkSubpassDescriptionFlags)0,                                                   // VkSubpassDescriptionFlags    flags
+                       VK_PIPELINE_BIND_POINT_GRAPHICS,                                                // VkPipelineBindPoint                  pipelineBindPoint
+                       viewMask,                                                                                               // deUint32                                             viewMask
+                       0u,                                                                                                             // deUint32                                             inputAttachmentCount
+                       DE_NULL,                                                                                                // const VkAttachmentReference* pInputAttachments
+                       static_cast<deUint32>(colorAttachmentRefs0.size()),             // deUint32                                             colorAttachmentCount
+                       colorAttachmentRefs0.data(),                                                    // const VkAttachmentReference* pColorAttachments
+                       makeCopySubpass ? DE_NULL : pResolveAttachments,                // const VkAttachmentReference* pResolveAttachments
+                       DE_NULL,                                                                                                // const VkAttachmentReference* pDepthStencilAttachment
+                       0u,                                                                                                             // deUint32                                             preserveAttachmentCount
+                       DE_NULL                                                                                                 // const deUint32*                              pPreserveAttachments
                }
        };
 
-       std::vector<AttachmentRef> inputAttachmentRefs1
+       std::vector<AttachmentRef>      inputAttachmentRefs1
        {
                { DE_NULL, 0u, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT }
        };
-       std::vector<AttachmentRef> colorAttachmentRefs1
+       std::vector<AttachmentRef>      colorAttachmentRefs1
        {
                { DE_NULL, copyAttachmentIndex, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT }
        };
-       std::vector<AttachmentRef> resolveAttachmentRefs1;
-       if (testParams.makeCopy)
-       {
-               if (testParams.colorSamples != VK_SAMPLE_COUNT_1_BIT)
-                       resolveAttachmentRefs1.push_back({ DE_NULL, multisampleAttachmentIndex, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT });
-
-               subpassDescriptions.push_back(
-                       {
-                               DE_NULL,
-                               (VkSubpassDescriptionFlags)0,                                                                                           // VkSubpassDescriptionFlags    flags
-                               VK_PIPELINE_BIND_POINT_GRAPHICS,                                                                                        // VkPipelineBindPoint                  pipelineBindPoint
-                               testParams.multiView ? 0x3u : 0x0u,                                                                                     // deUint32                                             viewMask
-                               static_cast<deUint32>(inputAttachmentRefs1.size()),                                                     // deUint32                                             inputAttachmentCount
-                               inputAttachmentRefs1.data(),                                                                                            // const VkAttachmentReference* pInputAttachments
-                               static_cast<deUint32>(colorAttachmentRefs1.size()),                                                     // deUint32                                             colorAttachmentCount
-                               colorAttachmentRefs1.data(),                                                                                            // const VkAttachmentReference* pColorAttachments
-                               resolveAttachmentRefs1.empty() ? DE_NULL : resolveAttachmentRefs1.data(),       // const VkAttachmentReference* pResolveAttachments
-                               DE_NULL,                                                                                                                                        // const VkAttachmentReference* pDepthStencilAttachment
-                               0u,                                                                                                                                                     // deUint32                                             preserveAttachmentCount
-                               DE_NULL                                                                                                                                         // const deUint32*                              pPreserveAttachments
-                       }
-               );
-       }
+       std::vector<SubpassDep>         subpassDependencies;
 
-       std::vector<SubpassDep> subpassDependencies;
-       if(testParams.makeCopy)
+       if (makeCopySubpass)
        {
+               subpassDescriptions.push_back({
+                       DE_NULL,
+                       (VkSubpassDescriptionFlags)0,                                                   // VkSubpassDescriptionFlags    flags
+                       VK_PIPELINE_BIND_POINT_GRAPHICS,                                                // VkPipelineBindPoint                  pipelineBindPoint
+                       viewMask,                                                                                               // deUint32                                             viewMask
+                       static_cast<deUint32>(inputAttachmentRefs1.size()),             // deUint32                                             inputAttachmentCount
+                       inputAttachmentRefs1.data(),                                                    // const VkAttachmentReference* pInputAttachments
+                       static_cast<deUint32>(colorAttachmentRefs1.size()),             // deUint32                                             colorAttachmentCount
+                       colorAttachmentRefs1.data(),                                                    // const VkAttachmentReference* pColorAttachments
+                       pResolveAttachments,                                                                    // const VkAttachmentReference* pResolveAttachments
+                       DE_NULL,                                                                                                // const VkAttachmentReference* pDepthStencilAttachment
+                       0u,                                                                                                             // deUint32                                             preserveAttachmentCount
+                       DE_NULL                                                                                                 // const deUint32*                              pPreserveAttachments
+               });
+
                VkDependencyFlags dependencyFlags = VK_DEPENDENCY_BY_REGION_BIT;
-               if (testParams.multiView)
+               if (testParams.viewCount > 1)
                        dependencyFlags |= VK_DEPENDENCY_VIEW_LOCAL_BIT;
 
-               subpassDependencies.push_back({
-                               DE_NULL,                                                                                                                        // const void*                          pNext
-                               0u,                                                                                                                                     // uint32_t                                     srcSubpass
-                               1u,                                                                                                                                     // uint32_t                                     dstSubpass
-                               VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,                                          // VkPipelineStageFlags         srcStageMask
-                               VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,                                                          // VkPipelineStageFlags         dstStageMask
-                               VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                                           // VkAccessFlags                        srcAccessMask
-                               VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,                                                            // VkAccessFlags                        dstAccessMask
-                               dependencyFlags,                                                                                                        // VkDependencyFlags            dependencyFlags
-                               0u                                                                                                                                      // deInt32                                      viewOffset
-               });
+               subpassDependencies.emplace_back(
+                       constNullPtr,                                                                                                                           // const void*                          pNext
+                       0u,                                                                                                                                                     // uint32_t                                     srcSubpass
+                       1u,                                                                                                                                                     // uint32_t                                     dstSubpass
+                       VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,                                                          // VkPipelineStageFlags         srcStageMask
+                       VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,                                                                          // VkPipelineStageFlags         dstStageMask
+                       VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                                                           // VkAccessFlags                        srcAccessMask
+                       VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,                                                                            // VkAccessFlags                        dstAccessMask
+                       dependencyFlags,                                                                                                                        // VkDependencyFlags            dependencyFlags
+                       0u                                                                                                                                                      // deInt32                                      viewOffset
+               );
        }
-       subpassDependencies.push_back({
-                       DE_NULL,                                                                                                                                // const void*                          pNext
-                       testParams.makeCopy ? 1u : 0u,                                                                                  // uint32_t                                     srcSubpass
-                       VK_SUBPASS_EXTERNAL,                                                                                                    // uint32_t                                     dstSubpass
-                       VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,                                                  // VkPipelineStageFlags         srcStageMask
-                       VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,                                                                  // VkPipelineStageFlags         dstStageMask
-                       VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                                                   // VkAccessFlags                        srcAccessMask
-                       VK_ACCESS_SHADER_READ_BIT,                                                                                              // VkAccessFlags                        dstAccessMask
-                       VK_DEPENDENCY_BY_REGION_BIT,                                                                                    // VkDependencyFlags            dependencyFlags
-                       0u                                                                                                                                              // deInt32                                      viewOffset
-               });
 
-       VkRenderPassFragmentDensityMapCreateInfoEXT renderPassFragmentDensityMap;
-       renderPassFragmentDensityMap.sType                                                      = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT;
-       renderPassFragmentDensityMap.pNext                                                      = DE_NULL;
-       renderPassFragmentDensityMap.fragmentDensityMapAttachment       = { densityMapAttachmentIndex, VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT };
+       VkPipelineStageFlags dstStageMask = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT;
+
+       // for coarse reconstruction we need to put barrier on vertex stage
+       if (testParams.coarseReconstruction)
+               dstStageMask = VK_PIPELINE_STAGE_VERTEX_SHADER_BIT;
+
+       subpassDependencies.emplace_back(
+               constNullPtr,                                                                                                                                   // const void*                          pNext
+               static_cast<deUint32>(subpassDescriptions.size())-1u,                                                   // uint32_t                                     srcSubpass
+               VK_SUBPASS_EXTERNAL,                                                                                                                    // uint32_t                                     dstSubpass
+               VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,                                                                  // VkPipelineStageFlags         srcStageMask
+               dstStageMask,                                                                                                                                   // VkPipelineStageFlags         dstStageMask
+               VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                                                                   // VkAccessFlags                        srcAccessMask
+               VK_ACCESS_SHADER_READ_BIT,                                                                                                              // VkAccessFlags                        dstAccessMask
+               VK_DEPENDENCY_BY_REGION_BIT,                                                                                                    // VkDependencyFlags            dependencyFlags
+               0u                                                                                                                                                              // deInt32                                      viewOffset
+       );
+
+       VkRenderPassFragmentDensityMapCreateInfoEXT renderPassFragmentDensityMap =
+       {
+               VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
+               DE_NULL,
+               { densityMapAttachmentIndex, VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT }
+       };
 
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
        void* renderPassInfoPNext = (void*)&renderPassFragmentDensityMap;
-#else
-       void* renderPassInfoPNext = DE_NULL;
+
+#if DRY_RUN_WITHOUT_FDM_EXTENSION
+       // density map description is at the end - pop it from vector
+       attachmentDescriptions.pop_back();
+       renderPassInfoPNext = DE_NULL;
 #endif
 
        vk::VkRenderPassMultiviewCreateInfo     renderPassMultiviewCreateInfo;
-       std::vector<deUint32>                           viewMasks(subpassDescriptions.size(), 0x3u);
-       deInt32                                                         pViewOffsets = 0;
+       std::vector<deUint32>                           viewMasks               (subpassDescriptions.size(), viewMask);
+       deInt32                                                         pViewOffsets    (0);
 
-       if (testParams.multiView)
+       if (testParams.viewCount > 1)
        {
-
-               renderPassMultiviewCreateInfo.sType                                     = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO;
-               renderPassMultiviewCreateInfo.pNext                                     = renderPassInfoPNext;
-               renderPassMultiviewCreateInfo.subpassCount                      = static_cast<deUint32>(viewMasks.size());
-               renderPassMultiviewCreateInfo.pViewMasks                        = viewMasks.data();
-               renderPassMultiviewCreateInfo.dependencyCount           = testParams.makeCopy ? 1 : 0;
-               renderPassMultiviewCreateInfo.pViewOffsets                      = testParams.makeCopy ? &pViewOffsets : DE_NULL;
-               renderPassMultiviewCreateInfo.correlationMaskCount      = 0U;
-               renderPassMultiviewCreateInfo.pCorrelationMasks         = DE_NULL;
-               renderPassInfoPNext                                                                     = (void*)&renderPassMultiviewCreateInfo;
+               renderPassMultiviewCreateInfo =
+               {
+                       VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
+                       renderPassInfoPNext,
+                       static_cast<deUint32>(viewMasks.size()),                                                                // deUint32                             subpassCount
+                       viewMasks.data(),                                                                                                               // const deUint32*              pViewMasks
+                       makeCopySubpass ? 1u : 0u,                                                                                              // deUint32                             dependencyCount
+                       makeCopySubpass ? &pViewOffsets : DE_NULL,                                                              // const deInt32*               pViewOffsets
+                       0u,                                                                                                                                             // deUint32                             correlationMaskCount
+                       DE_NULL,                                                                                                                                // const deUint32*              pCorrelationMasks
+               };
+               renderPassInfoPNext = (void*)&renderPassMultiviewCreateInfo;
        }
 
        const RenderPassCreateInfo      renderPassInfo(
@@ -566,17 +579,20 @@ Move<VkRenderPass> createRenderPassProduceSubsampledImage(const                           DeviceInterfa
        return renderPassInfo.createRenderPass(vk, vkDevice);
 }
 
-template<typename AttachmentDesc, typename AttachmentRef, typename SubpassDesc, typename SubpassDep, typename RenderPassCreateInfo>
 Move<VkRenderPass> createRenderPassOutputSubsampledImage(const DeviceInterface&        vk,
-                                                                                                       VkDevice                                vkDevice,
-                                                                                                       const TestParams&               testParams)
+                                                                                                                VkDevice                               vkDevice)
 {
-       DE_UNREF(testParams);
-       // copy subsampled image to ordinary image - you cannot retrieve subsampled image to CPU in any way. You must first convert it into plain image through rendering
-       std::vector<AttachmentDesc>             attachmentDescriptions =
+       typedef AttachmentDescription2  AttachmentDesc;
+       typedef AttachmentReference2    AttachmentRef;
+       typedef SubpassDescription2             SubpassDesc;
+       typedef RenderPassCreateInfo2   RenderPassCreateInfo;
+
+       // copy subsampled image to ordinary image - you cannot retrieve subsampled image to CPU in any way.
+       // You must first convert it into plain image through rendering
+       std::vector<AttachmentDesc> attachmentDescriptions =
        {
                // output attachment
-               AttachmentDesc(
+               {
                        DE_NULL,                                                                                        // const void*                                          pNext
                        (VkAttachmentDescriptionFlags)0,                                        // VkAttachmentDescriptionFlags         flags
                        VK_FORMAT_R8G8B8A8_UNORM,                                                       // VkFormat                                                     format
@@ -587,7 +603,7 @@ Move<VkRenderPass> createRenderPassOutputSubsampledImage(const DeviceInterface&
                        VK_ATTACHMENT_STORE_OP_DONT_CARE,                                       // VkAttachmentStoreOp                          stencilStoreOp
                        VK_IMAGE_LAYOUT_UNDEFINED,                                                      // VkImageLayout                                        initialLayout
                        VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL                        // VkImageLayout                                        finalLayout
-               ),
+               },
        };
 
        std::vector<AttachmentRef> colorAttachmentRefs
@@ -595,7 +611,7 @@ Move<VkRenderPass> createRenderPassOutputSubsampledImage(const DeviceInterface&
                { DE_NULL, 0u, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT }
        };
 
-       std::vector<SubpassDesc>        subpassDescriptions =
+       std::vector<SubpassDesc> subpassDescriptions =
        {
                {
                        DE_NULL,
@@ -629,9 +645,9 @@ Move<VkRenderPass> createRenderPassOutputSubsampledImage(const DeviceInterface&
        return renderPassInfo.createRenderPass(vk, vkDevice);
 }
 
-Move<VkFramebuffer> createFrameBuffer( const DeviceInterface& vk, VkDevice vkDevice, VkRenderPass renderPass, deUint32 width, deUint32 height, const std::vector<VkImageView>& imageViews)
+Move<VkFramebuffer> createFrameBuffer( const DeviceInterface& vk, VkDevice vkDevice, VkRenderPass renderPass, VkExtent3D size, const std::vector<VkImageView>& imageViews)
 {
-       const VkFramebufferCreateInfo   framebufferParams =
+       const VkFramebufferCreateInfo framebufferParams =
        {
                VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO,      // VkStructureType                      sType;
                DE_NULL,                                                                        // const void*                          pNext;
@@ -639,109 +655,233 @@ Move<VkFramebuffer> createFrameBuffer( const DeviceInterface& vk, VkDevice vkDev
                renderPass,                                                                     // VkRenderPass                         renderPass;
                static_cast<deUint32>(imageViews.size()),       // deUint32                                     attachmentCount;
                imageViews.data(),                                                      // const VkImageView*           pAttachments;
-               width,                                                                          // deUint32                                     width;
-               height,                                                                         // deUint32                                     height;
+               size.width,                                                                     // deUint32                                     width;
+               size.height,                                                            // deUint32                                     height;
                1u                                                                                      // deUint32                                     layers;
        };
 
        return createFramebuffer(vk, vkDevice, &framebufferParams);
 }
 
-class FragmentDensityMapTest : public vkt::TestCase
-{
-public:
-                                                                               FragmentDensityMapTest  (tcu::TestContext&      testContext,
-                                                                                                                                const std::string&     name,
-                                                                                                                                const std::string&     description,
-                                                                                                                                const TestParams&      testParams);
-       virtual void                                            initPrograms                    (SourceCollections&     sourceCollections) const;
-       virtual TestInstance*                           createInstance                  (Context&                       context) const;
-       virtual void                                            checkSupport                    (Context& context) const;
-
-private:
-       const TestParams                                        m_testParams;
-};
-
-class FragmentDensityMapTestInstance : public vkt::TestInstance
+void copyBufferToImage(const DeviceInterface&                                  vk,
+                                          VkDevice                                                                     device,
+                                          VkQueue                                                                      queue,
+                                          deUint32                                                                     queueFamilyIndex,
+                                          const VkBuffer&                                                      buffer,
+                                          VkDeviceSize                                                         bufferSize,
+                                          const VkExtent3D&                                            imageSize,
+                                          deUint32                                                                     arrayLayers,
+                                          VkImage                                                                      destImage)
 {
-public:
-                                                                                                       FragmentDensityMapTestInstance  (Context&                                       context,
-                                                                                                                                                                        const TestParams&                      testParams);
-       virtual tcu::TestStatus                                                 iterate                                                 (void);
-private:
-       tcu::TestStatus                                                                 verifyImage                                             (void);
-
-       TestParams                                                                              m_testParams;
-
-       VkPhysicalDeviceFragmentDensityMapPropertiesEXT m_fragmentDensityMapProperties;
+       Move<VkCommandPool>             cmdPool                                 = createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
+       Move<VkCommandBuffer>   cmdBuffer                               = allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
+       Move<VkFence>                   fence                                   = createFence(vk, device);
+       VkImageLayout                   destImageLayout                 = VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT;
+       VkPipelineStageFlags    destImageDstStageFlags  = VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT;
+       VkAccessFlags                   finalAccessMask                 = VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT;
+
+#if DRY_RUN_WITHOUT_FDM_EXTENSION
+       destImageLayout                 = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
+       destImageDstStageFlags  = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT;
+       finalAccessMask                 = VK_ACCESS_SHADER_READ_BIT;
+#endif
 
-       Move<VkCommandPool>                                                             m_cmdPool;
+       const VkCommandBufferBeginInfo cmdBufferBeginInfo =
+       {
+               VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,            // VkStructureType                                      sType;
+               DE_NULL,                                                                                        // const void*                                          pNext;
+               VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,            // VkCommandBufferUsageFlags            flags;
+               (const VkCommandBufferInheritanceInfo*)DE_NULL,
+       };
 
-       Move<VkImage>                                                                   m_densityMapImage;
-       de::MovePtr<Allocation>                                                 m_densityMapImageAlloc;
-       Move<VkImageView>                                                               m_densityMapImageView;
+       const VkBufferImageCopy copyRegion =
+       {
+               0,                                                                                                      // VkDeviceSize                                 bufferOffset
+               0,                                                                                                      // deUint32                                             bufferRowLength
+               0,                                                                                                      // deUint32                                             bufferImageHeight
+               { VK_IMAGE_ASPECT_COLOR_BIT, 0, 0, arrayLayers },       // VkImageSubresourceLayers             imageSubresource
+               { 0, 0, 0 },                                                                            // VkOffset3D                                   imageOffset
+               imageSize                                                                                       // VkExtent3D                                   imageExtent
+       };
 
-       Move<VkImage>                                                                   m_colorImage;
-       de::MovePtr<Allocation>                                                 m_colorImageAlloc;
-       Move<VkImageView>                                                               m_colorImageView;
+       // Barriers for copying buffer to image
+       const VkBufferMemoryBarrier preBufferBarrier = makeBufferMemoryBarrier(
+               VK_ACCESS_HOST_WRITE_BIT,                                                       // VkAccessFlags        srcAccessMask;
+               VK_ACCESS_TRANSFER_READ_BIT,                                            // VkAccessFlags        dstAccessMask;
+               buffer,                                                                                         // VkBuffer                     buffer;
+               0u,                                                                                                     // VkDeviceSize         offset;
+               bufferSize                                                                                      // VkDeviceSize         size;
+       );
 
-       Move<VkImage>                                                                   m_colorCopyImage;
-       de::MovePtr<Allocation>                                                 m_colorCopyImageAlloc;
-       Move<VkImageView>                                                               m_colorCopyImageView;
+       const VkImageSubresourceRange subresourceRange
+       {                                                                                                               // VkImageSubresourceRange      subresourceRange;
+               VK_IMAGE_ASPECT_COLOR_BIT,                                                      // VkImageAspectFlags           aspect;
+               0u,                                                                                                     // deUint32                                     baseMipLevel;
+               1u,                                                                                                     // deUint32                                     mipLevels;
+               0u,                                                                                                     // deUint32                                     baseArraySlice;
+               arrayLayers                                                                                     // deUint32                                     arraySize;
+       };
 
-       Move<VkImage>                                                                   m_colorResolvedImage;
-       de::MovePtr<Allocation>                                                 m_colorResolvedImageAlloc;
-       Move<VkImageView>                                                               m_colorResolvedImageView;
+       const VkImageMemoryBarrier preImageBarrier = makeImageMemoryBarrier(
+               0u,                                                                                                     // VkAccessFlags                        srcAccessMask;
+               VK_ACCESS_TRANSFER_WRITE_BIT,                                           // VkAccessFlags                        dstAccessMask;
+               VK_IMAGE_LAYOUT_UNDEFINED,                                                      // VkImageLayout                        oldLayout;
+               VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,                           // VkImageLayout                        newLayout;
+               destImage,                                                                                      // VkImage                                      image;
+               subresourceRange                                                                        // VkImageSubresourceRange      subresourceRange;
+       );
 
-       Move<VkImage>                                                                   m_outputImage;
-       de::MovePtr<Allocation>                                                 m_outputImageAlloc;
-       Move<VkImageView>                                                               m_outputImageView;
+       const VkImageMemoryBarrier postImageBarrier = makeImageMemoryBarrier(
+               VK_ACCESS_TRANSFER_WRITE_BIT,                                           // VkAccessFlags                        srcAccessMask;
+               finalAccessMask,                                                                        // VkAccessFlags                        dstAccessMask;
+               VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,                           // VkImageLayout                        oldLayout;
+               destImageLayout,                                                                        // VkImageLayout                        newLayout;
+               destImage,                                                                                      // VkImage                                      image;
+               subresourceRange                                                                        // VkImageSubresourceRange      subresourceRange;
+       );
 
-       Move<VkSampler>                                                                 m_colorSampler;
+       VK_CHECK(vk.beginCommandBuffer(*cmdBuffer, &cmdBufferBeginInfo));
+       vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, &preBufferBarrier, 1, &preImageBarrier);
+       vk.cmdCopyBufferToImage(*cmdBuffer, buffer, destImage, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1u, &copyRegion);
+       vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, destImageDstStageFlags, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &postImageBarrier);
+       VK_CHECK(vk.endCommandBuffer(*cmdBuffer));
 
-       Move<VkRenderPass>                                                              m_renderPassProduceDynamicDensityMap;
-       Move<VkRenderPass>                                                              m_renderPassProduceSubsampledImage;
-       Move<VkRenderPass>                                                              m_renderPassOutputSubsampledImage;
-       Move<VkFramebuffer>                                                             m_framebufferProduceDynamicDensityMap;
-       Move<VkFramebuffer>                                                             m_framebufferProduceSubsampledImage;
-       Move<VkFramebuffer>                                                             m_framebufferOutputSubsampledImage;
+       const VkPipelineStageFlags pipelineStageFlags = VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT;
 
-       Move<VkDescriptorSetLayout>                                             m_descriptorSetLayoutProduceSubsampled;
+       const VkSubmitInfo submitInfo =
+       {
+               VK_STRUCTURE_TYPE_SUBMIT_INFO,  // VkStructureType                              sType;
+               DE_NULL,                                                // const void*                                  pNext;
+               0u,                                                             // deUint32                                             waitSemaphoreCount;
+               DE_NULL,                                                // const VkSemaphore*                   pWaitSemaphores;
+               &pipelineStageFlags,                    // const VkPipelineStageFlags*  pWaitDstStageMask;
+               1u,                                                             // deUint32                                             commandBufferCount;
+               &cmdBuffer.get(),                               // const VkCommandBuffer*               pCommandBuffers;
+               0u,                                                             // deUint32                                             signalSemaphoreCount;
+               DE_NULL                                                 // const VkSemaphore*                   pSignalSemaphores;
+       };
 
-       Move<VkDescriptorSetLayout>                                             m_descriptorSetLayoutCopySubsampledImage;
-       Move<VkDescriptorPool>                                                  m_descriptorPoolCopySubsampledImage;
-       Move<VkDescriptorSet>                                                   m_descriptorSetCopySubsampledImage;
+       try
+       {
+               VK_CHECK(vk.queueSubmit(queue, 1, &submitInfo, *fence));
+               VK_CHECK(vk.waitForFences(device, 1, &fence.get(), true, ~(0ull) /* infinity */));
+       }
+       catch (...)
+       {
+               VK_CHECK(vk.deviceWaitIdle(device));
+               throw;
+       }
+}
 
-       Move<VkDescriptorSetLayout>                                             m_descriptorSetLayoutOutputSubsampledImage;
-       Move<VkDescriptorPool>                                                  m_descriptorPoolOutputSubsampledImage;
-       Move<VkDescriptorSet>                                                   m_descriptorSetOutputSubsampledImage;
+class FragmentDensityMapTest : public vkt::TestCase
+{
+public:
+                                                       FragmentDensityMapTest  (tcu::TestContext&      testContext,
+                                                                                                        const std::string&     name,
+                                                                                                        const std::string&     description,
+                                                                                                        const TestParams&      testParams);
+       virtual void                    initPrograms                    (SourceCollections&     sourceCollections) const;
+       virtual TestInstance*   createInstance                  (Context&                       context) const;
+       virtual void                    checkSupport                    (Context&                       context) const;
 
-       Move<VkShaderModule>                                                    m_vertexCommonShaderModule;
-       Move<VkShaderModule>                                                    m_fragmentShaderModuleProduceSubsampledImage;
-       Move<VkShaderModule>                                                    m_fragmentShaderModuleCopySubsampledImage;
-       Move<VkShaderModule>                                                    m_fragmentShaderModuleOutputSubsampledImage;
+private:
+       const TestParams                m_testParams;
+};
 
-       std::vector<Vertex4RGBA>                                                m_verticesDDM;
-       Move<VkBuffer>                                                                  m_vertexBufferDDM;
-       de::MovePtr<Allocation>                                                 m_vertexBufferAllocDDM;
+class FragmentDensityMapTestInstance : public vkt::TestInstance
+{
+public:
+                                                                       FragmentDensityMapTestInstance  (Context&                       context,
+                                                                                                                                        const TestParams&      testParams);
+       virtual tcu::TestStatus                 iterate                                                 (void);
 
-       std::vector<Vertex4RGBA>                                                m_vertices;
-       Move<VkBuffer>                                                                  m_vertexBuffer;
-       de::MovePtr<Allocation>                                                 m_vertexBufferAlloc;
+private:
 
-       std::vector<Vertex4RGBA>                                                m_verticesOutput;
-       Move<VkBuffer>                                                                  m_vertexBufferOutput;
-       de::MovePtr<Allocation>                                                 m_vertexBufferOutputAlloc;
+       tcu::TestStatus                                 verifyImage                                             (void);
 
-       Move<VkPipelineLayout>                                                  m_pipelineLayoutNoDescriptors;
-       Move<VkPipelineLayout>                                                  m_pipelineLayoutCopySubsampledImage;
-       Move<VkPipelineLayout>                                                  m_pipelineLayoutOutputSubsampledImage;
-       Move<VkPipeline>                                                                m_graphicsPipelineProduceDynamicDensityMap;
-       Move<VkPipeline>                                                                m_graphicsPipelineProduceSubsampledImage;
-       Move<VkPipeline>                                                                m_graphicsPipelineCopySubsampledImage;
-       Move<VkPipeline>                                                                m_graphicsPipelineOutputSubsampledImage;
+private:
 
-       Move<VkCommandBuffer>                                                   m_cmdBuffer;
+       typedef de::SharedPtr<Unique<VkSampler> >       VkSamplerSp;
+       typedef de::SharedPtr<Unique<VkImage> >         VkImageSp;
+       typedef de::SharedPtr<Allocation>                       AllocationSp;
+       typedef de::SharedPtr<Unique<VkImageView> >     VkImageViewSp;
+
+       TestParams                                              m_testParams;
+       tcu::UVec2                                              m_renderSize;
+       tcu::Vec2                                               m_densityValue;
+       deUint32                                                m_viewMask;
+
+       Move<VkCommandPool>                             m_cmdPool;
+
+       std::vector<VkImageSp>                  m_densityMapImages;
+       std::vector<AllocationSp>               m_densityMapImageAllocs;
+       std::vector<VkImageViewSp>              m_densityMapImageViews;
+
+       Move<VkImage>                                   m_colorImage;
+       de::MovePtr<Allocation>                 m_colorImageAlloc;
+       Move<VkImageView>                               m_colorImageView;
+
+       Move<VkImage>                                   m_colorCopyImage;
+       de::MovePtr<Allocation>                 m_colorCopyImageAlloc;
+       Move<VkImageView>                               m_colorCopyImageView;
+
+       Move<VkImage>                                   m_colorResolvedImage;
+       de::MovePtr<Allocation>                 m_colorResolvedImageAlloc;
+       Move<VkImageView>                               m_colorResolvedImageView;
+
+       Move<VkImage>                                   m_outputImage;
+       de::MovePtr<Allocation>                 m_outputImageAlloc;
+       Move<VkImageView>                               m_outputImageView;
+
+       std::vector<VkSamplerSp>                m_colorSamplers;
+
+       Move<VkRenderPass>                              m_renderPassProduceDynamicDensityMap;
+       Move<VkRenderPass>                              m_renderPassProduceSubsampledImage;
+       Move<VkRenderPass>                              m_renderPassUpdateSubsampledImage;
+       Move<VkRenderPass>                              m_renderPassOutputSubsampledImage;
+       Move<VkFramebuffer>                             m_framebufferProduceDynamicDensityMap;
+       Move<VkFramebuffer>                             m_framebufferProduceSubsampledImage;
+       Move<VkFramebuffer>                             m_framebufferUpdateSubsampledImage;
+       Move<VkFramebuffer>                             m_framebufferOutputSubsampledImage;
+
+       Move<VkDescriptorSetLayout>             m_descriptorSetLayoutProduceSubsampled;
+
+       Move<VkDescriptorSetLayout>             m_descriptorSetLayoutOperateOnSubsampledImage;
+       Move<VkDescriptorPool>                  m_descriptorPoolOperateOnSubsampledImage;
+       Move<VkDescriptorSet>                   m_descriptorSetOperateOnSubsampledImage;
+
+       Move<VkDescriptorSetLayout>             m_descriptorSetLayoutOutputSubsampledImage;
+       Move<VkDescriptorPool>                  m_descriptorPoolOutputSubsampledImage;
+       Move<VkDescriptorSet>                   m_descriptorSetOutputSubsampledImage;
+
+       Move<VkShaderModule>                    m_vertexCommonShaderModule;
+       Move<VkShaderModule>                    m_fragmentShaderModuleProduceSubsampledImage;
+       Move<VkShaderModule>                    m_fragmentShaderModuleCopySubsampledImage;
+       Move<VkShaderModule>                    m_fragmentShaderModuleUpdateSubsampledImage;
+       Move<VkShaderModule>                    m_fragmentShaderModuleOutputSubsampledImage;
+
+       std::vector<Vertex4RGBA>                m_verticesDDM;
+       Move<VkBuffer>                                  m_vertexBufferDDM;
+       de::MovePtr<Allocation>                 m_vertexBufferAllocDDM;
+
+       std::vector<Vertex4RGBA>                m_vertices;
+       Move<VkBuffer>                                  m_vertexBuffer;
+       de::MovePtr<Allocation>                 m_vertexBufferAlloc;
+
+       std::vector<Vertex4RGBA>                m_verticesOutput;
+       Move<VkBuffer>                                  m_vertexBufferOutput;
+       de::MovePtr<Allocation>                 m_vertexBufferOutputAlloc;
+
+       Move<VkPipelineLayout>                  m_pipelineLayoutNoDescriptors;
+       Move<VkPipelineLayout>                  m_pipelineLayoutOperateOnSubsampledImage;
+       Move<VkPipelineLayout>                  m_pipelineLayoutOutputSubsampledImage;
+       Move<VkPipeline>                                m_graphicsPipelineProduceDynamicDensityMap;
+       Move<VkPipeline>                                m_graphicsPipelineProduceSubsampledImage;
+       Move<VkPipeline>                                m_graphicsPipelineCopySubsampledImage;
+       Move<VkPipeline>                                m_graphicsPipelineUpdateSubsampledImage;
+       Move<VkPipeline>                                m_graphicsPipelineOutputSubsampledImage;
+
+       Move<VkCommandBuffer>                   m_cmdBuffer;
 };
 
 FragmentDensityMapTest::FragmentDensityMapTest (tcu::TestContext&      testContext,
@@ -751,12 +891,12 @@ FragmentDensityMapTest::FragmentDensityMapTest (tcu::TestContext& testContext,
        : vkt::TestCase (testContext, name, description)
        , m_testParams  (testParams)
 {
+       DE_ASSERT(testParams.samplersCount > 0);
 }
 
 void FragmentDensityMapTest::initPrograms(SourceCollections& sourceCollections) const
 {
-       std::ostringstream densityVertexGLSL;
-       densityVertexGLSL <<
+       sourceCollections.glslSources.add("vert") << glu::VertexSource(
                "#version 450\n"
                "#extension GL_EXT_multiview : enable\n"
                "layout(location = 0) in  vec4 inPosition;\n"
@@ -769,11 +909,37 @@ void FragmentDensityMapTest::initPrograms(SourceCollections& sourceCollections)
                "       gl_Position = inPosition;\n"
                "       outUV = inUV;\n"
                "       outColor = inColor;\n"
-               "}\n";
-       sourceCollections.glslSources.add("densitymap_vert") << glu::VertexSource(densityVertexGLSL.str());
+               "}\n"
+       );
+
+#if DRY_RUN_WITHOUT_FDM_EXTENSION
+       sourceCollections.glslSources.add("frag_produce_subsampled") << glu::FragmentSource(
+               "#version 450\n"
+               "#extension GL_EXT_multiview : enable\n"
+               "layout(location = 0) in vec4 inUV;\n"
+               "layout(location = 1) in vec4 inColor;\n"
+               "layout(location = 0) out vec4 fragColor;\n"
+               "void main(void)\n"
+               "{\n"
+               "       fragColor = vec4(inColor.x, inColor.y, 0.5, 0.5);\n"
+               "}\n"
+       );
 
-       std::ostringstream densityFragmentProduceGLSL;
-       densityFragmentProduceGLSL <<
+       sourceCollections.glslSources.add("frag_update_subsampled") << glu::FragmentSource(
+               "#version 450\n"
+               "#extension GL_EXT_multiview : enable\n"
+               "layout(location = 0) in vec4 inUV;\n"
+               "layout(location = 1) in vec4 inColor;\n"
+               "layout(location = 0) out vec4 fragColor;\n"
+               "void main(void)\n"
+               "{\n"
+               "       if (gl_FragCoord.y < 0.5)\n"
+               "               discard;\n"
+               "       fragColor = vec4(inColor.x, inColor.y, 0.5, 0.5);\n"
+               "}\n"
+       );
+#else
+       sourceCollections.glslSources.add("frag_produce_subsampled") << glu::FragmentSource(
                "#version 450\n"
                "#extension GL_EXT_fragment_invocation_density : enable\n"
                "#extension GL_EXT_multiview : enable\n"
@@ -783,65 +949,108 @@ void FragmentDensityMapTest::initPrograms(SourceCollections& sourceCollections)
                "void main(void)\n"
                "{\n"
                "       fragColor = vec4(inColor.x, inColor.y, 1.0/float(gl_FragSizeEXT.x), 1.0/(gl_FragSizeEXT.y));\n"
-               "}\n";
-       sourceCollections.glslSources.add("densitymap_frag_produce") << glu::FragmentSource(densityFragmentProduceGLSL.str());
+               "}\n"
+       );
 
-       std::ostringstream densityFragmentCopyGLSL;
-       densityFragmentCopyGLSL <<
+       sourceCollections.glslSources.add("frag_update_subsampled") << glu::FragmentSource(
                "#version 450\n"
                "#extension GL_EXT_fragment_invocation_density : enable\n"
                "#extension GL_EXT_multiview : enable\n"
                "layout(location = 0) in vec4 inUV;\n"
                "layout(location = 1) in vec4 inColor;\n"
-               "layout(input_attachment_index = 0, set = 0, binding = 0) uniform subpassInput inputAtt;\n"
                "layout(location = 0) out vec4 fragColor;\n"
                "void main(void)\n"
                "{\n"
-               "       fragColor = subpassLoad(inputAtt);\n"
-               "}\n";
-       sourceCollections.glslSources.add("densitymap_frag_copy") << glu::FragmentSource(densityFragmentCopyGLSL.str());
-
-       std::ostringstream densityFragmentCopyMultisampledGLSL;
-       densityFragmentCopyMultisampledGLSL <<
+               "       if (gl_FragCoord.y < 0.5)\n"
+               "               discard;\n"
+               "       fragColor = vec4(inColor.x, inColor.y, 1.0/float(gl_FragSizeEXT.x), 1.0/(gl_FragSizeEXT.y));\n"
+               "}\n"
+       );
+#endif
+       sourceCollections.glslSources.add("frag_copy_subsampled") << glu::FragmentSource(
                "#version 450\n"
                "#extension GL_EXT_fragment_invocation_density : enable\n"
                "#extension GL_EXT_multiview : enable\n"
                "layout(location = 0) in vec4 inUV;\n"
                "layout(location = 1) in vec4 inColor;\n"
-               "layout(input_attachment_index = 0, set = 0, binding = 0) uniform subpassInputMS inputAtt;\n"
+               "layout(input_attachment_index = 0, set = 0, binding = 0) uniform subpassInput inputAtt;\n"
                "layout(location = 0) out vec4 fragColor;\n"
                "void main(void)\n"
                "{\n"
-               "       fragColor = subpassLoad(inputAtt, gl_SampleID);\n"
-               "}\n";
-       sourceCollections.glslSources.add("densitymap_frag_copy_ms") << glu::FragmentSource(densityFragmentCopyMultisampledGLSL.str());
+               "       fragColor = subpassLoad(inputAtt);\n"
+               "}\n"
+       );
 
-       std::ostringstream densityFragmentOutput2DGLSL;
-       densityFragmentOutput2DGLSL <<
+       sourceCollections.glslSources.add("frag_copy_subsampled_ms") << glu::FragmentSource(
                "#version 450\n"
+               "#extension GL_EXT_fragment_invocation_density : enable\n"
+               "#extension GL_EXT_multiview : enable\n"
                "layout(location = 0) in vec4 inUV;\n"
                "layout(location = 1) in vec4 inColor;\n"
-               "layout(binding = 0)  uniform sampler2D subsampledImage;\n"
+               "layout(input_attachment_index = 0, set = 0, binding = 0) uniform subpassInputMS inputAtt;\n"
                "layout(location = 0) out vec4 fragColor;\n"
                "void main(void)\n"
                "{\n"
-               "       fragColor = texture(subsampledImage, inUV.xy);\n"
-               "}\n";
-       sourceCollections.glslSources.add("densitymap_frag_output_2d") << glu::FragmentSource(densityFragmentOutput2DGLSL.str());
+               "       fragColor = subpassLoad(inputAtt, gl_SampleID);\n"
+               "}\n"
+       );
 
-       std::ostringstream densityFragmentOutput2DArrayGLSL;
-       densityFragmentOutput2DArrayGLSL <<
+       const char* samplersDefTemplate =
+               "layout(binding = ${BINDING})  uniform ${SAMPLER} subsampledImage${BINDING};\n";
+       const char* sumColorsTemplate =
+               "       fragColor += texture(subsampledImage${BINDING}, inUV.${COMPONENTS});\n";
+
+       const char* densitymapOutputTemplate =
                "#version 450\n"
                "layout(location = 0) in vec4 inUV;\n"
                "layout(location = 1) in vec4 inColor;\n"
-               "layout(binding = 0)  uniform sampler2DArray subsampledImage;\n"
+               "${SAMPLERS_DEF}"
                "layout(location = 0) out vec4 fragColor;\n"
                "void main(void)\n"
                "{\n"
-               "       fragColor = texture(subsampledImage, inUV.xyz);\n"
+               "       fragColor = vec4(0);\n"
+               "${SUM_COLORS}"
+               "       fragColor /= float(${COUNT});\n"
                "}\n";
-       sourceCollections.glslSources.add("densitymap_frag_output_2darray") << glu::FragmentSource(densityFragmentOutput2DArrayGLSL.str());
 
+       std::map<std::string, std::string> parameters
+       {
+               { "SAMPLER",            "" },
+               { "BINDING",            "" },
+               { "COMPONENTS",         "" },
+               { "COUNT",                      std::to_string(m_testParams.samplersCount) },
+               { "SAMPLERS_DEF",       "" },
+               { "SUM_COLORS",         "" },
+       };
+
+       std::string sampler2dDefs;
+       std::string sampler2dSumColors;
+       std::string sampler2dArrayDefs;
+       std::string sampler2dArraySumColors;
+       for (deUint32 samplerIndex = 0; samplerIndex < m_testParams.samplersCount; ++samplerIndex)
+       {
+               parameters["BINDING"]            = std::to_string(samplerIndex);
+
+               parameters["COMPONENTS"]         = "xy";
+               parameters["SAMPLER"]            = "sampler2D";
+               sampler2dDefs                           += tcu::StringTemplate(samplersDefTemplate).specialize(parameters);
+               sampler2dSumColors                      += tcu::StringTemplate(sumColorsTemplate).specialize(parameters);
+
+               parameters["COMPONENTS"]         = "xyz";
+               parameters["SAMPLER"]            = "sampler2DArray";
+               sampler2dArrayDefs                      += tcu::StringTemplate(samplersDefTemplate).specialize(parameters);
+               sampler2dArraySumColors         += tcu::StringTemplate(sumColorsTemplate).specialize(parameters);
+       }
+
+       parameters["SAMPLERS_DEF"]      = sampler2dDefs;
+       parameters["SUM_COLORS"]        = sampler2dSumColors;
+       sourceCollections.glslSources.add("frag_output_2d")
+               << glu::FragmentSource(tcu::StringTemplate(densitymapOutputTemplate).specialize(parameters));
+
+       parameters["SAMPLERS_DEF"]      = sampler2dArrayDefs;
+       parameters["SUM_COLORS"]        = sampler2dArraySumColors;
+       sourceCollections.glslSources.add("frag_output_2darray")
+               << glu::FragmentSource(tcu::StringTemplate(densitymapOutputTemplate).specialize(parameters));
 }
 
 TestInstance* FragmentDensityMapTest::createInstance(Context& context) const
@@ -854,19 +1063,18 @@ void FragmentDensityMapTest::checkSupport(Context& context) const
        const InstanceInterface&        vki                                     = context.getInstanceInterface();
        const VkPhysicalDevice          vkPhysicalDevice        = context.getPhysicalDevice();
 
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
+#if DRY_RUN_WITHOUT_FDM_EXTENSION
+       if (m_testParams.viewCount > 1)
+       {
+               context.requireDeviceFunctionality("VK_KHR_multiview");
+               if (!context.getMultiviewFeatures().multiview)
+                       TCU_THROW(NotSupportedError, "Implementation does not support multiview feature");
+       }
+#else
        context.requireDeviceFunctionality("VK_EXT_fragment_density_map");
 
-       VkPhysicalDeviceFeatures2 features;
-       deMemset(&features, 0, sizeof(VkPhysicalDeviceFeatures2));
-       features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
-
-       VkPhysicalDeviceFragmentDensityMapFeaturesEXT fragmentDensityMapFeatures;
-       deMemset(&fragmentDensityMapFeatures, 0, sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT));
-       fragmentDensityMapFeatures.sType        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT;
-       features.pNext                                          = &fragmentDensityMapFeatures;
-
-       vki.getPhysicalDeviceFeatures2(vkPhysicalDevice, &features);
+       const auto& fragmentDensityMapFeatures          = context.getFragmentDensityMapFeaturesEXT();
+       const auto& fragmentDensityMapProperties2       = context.getFragmentDensityMapProperties2EXT();
 
        if (!fragmentDensityMapFeatures.fragmentDensityMap)
                TCU_THROW(NotSupportedError, "fragmentDensityMap feature is not supported");
@@ -874,115 +1082,134 @@ void FragmentDensityMapTest::checkSupport(Context& context) const
                TCU_THROW(NotSupportedError, "fragmentDensityMapDynamic feature is not supported");
        if (m_testParams.nonSubsampledImages && !fragmentDensityMapFeatures.fragmentDensityMapNonSubsampledImages)
                TCU_THROW(NotSupportedError, "fragmentDensityMapNonSubsampledImages feature is not supported");
-#endif
-       if (m_testParams.multiView)
+
+       if (m_testParams.deferredDensityMap)
        {
-               context.requireDeviceFunctionality("VK_KHR_multiview");
-               const vk::VkPhysicalDeviceMultiviewFeatures& multiviewFeatures = context.getMultiviewFeatures();
-               if (!multiviewFeatures.multiview)
-                       TCU_THROW(NotSupportedError, "Implementation does not support multiview feature");
+               context.requireDeviceFunctionality("VK_EXT_fragment_density_map2");
+               if (!context.getFragmentDensityMapFeatures2EXT().fragmentDensityMapDeferred)
+                       TCU_THROW(NotSupportedError, "fragmentDensityMapDeferred feature is not supported");
        }
+       if (m_testParams.subsampledLoads)
        {
-               vk::VkImageUsageFlags   colorImageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT;
-               if (m_testParams.makeCopy)
-                       colorImageUsage |= VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
-               deUint32                                colorImageCreateFlags                   = m_testParams.nonSubsampledImages ? 0u : (deUint32)VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT;
-#else
-               deUint32                                colorImageCreateFlags                   = 0u;
-#endif
-               VkImageFormatProperties imageFormatProperties(getPhysicalDeviceImageFormatProperties(vki, vkPhysicalDevice, VK_FORMAT_R8G8B8A8_UNORM, VK_IMAGE_TYPE_2D, VK_IMAGE_TILING_OPTIMAL, colorImageUsage, colorImageCreateFlags));
-               if ((imageFormatProperties.sampleCounts & m_testParams.colorSamples) == 0)
-                       TCU_THROW(NotSupportedError, "Color image type not supported");
+               context.requireDeviceFunctionality("VK_EXT_fragment_density_map2");
+               if (!fragmentDensityMapProperties2.subsampledLoads)
+                       TCU_THROW(NotSupportedError, "subsampledLoads property is not supported");
        }
-}
-
-FragmentDensityMapTestInstance::FragmentDensityMapTestInstance(Context&                        context,
-                                                                                                                       const TestParams&       testParams)
-       : vkt::TestInstance     ( context )
-       , m_testParams          ( testParams )
-{
-       const DeviceInterface&          vk                                              = m_context.getDeviceInterface();
-       const VkDevice                          vkDevice                                = m_context.getDevice();
-       const VkPhysicalDevice          vkPhysicalDevice                = m_context.getPhysicalDevice();
-       const deUint32                          queueFamilyIndex                = m_context.getUniversalQueueFamilyIndex();
-       SimpleAllocator                         memAlloc                                (vk, vkDevice, getPhysicalDeviceMemoryProperties(m_context.getInstanceInterface(), vkPhysicalDevice));
-       const VkComponentMapping        componentMappingRGBA    = { VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_B, VK_COMPONENT_SWIZZLE_A };
-
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
+       if (m_testParams.coarseReconstruction)
        {
-               VkPhysicalDeviceProperties2 properties;
-               deMemset(&properties, 0, sizeof(VkPhysicalDeviceProperties2));
-               properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
+               context.requireDeviceFunctionality("VK_EXT_fragment_density_map2");
+               if (!fragmentDensityMapProperties2.subsampledCoarseReconstructionEarlyAccess)
+                       TCU_THROW(NotSupportedError, "subsampledCoarseReconstructionEarlyAccess property is not supported");
+       }
 
-               deMemset(&m_fragmentDensityMapProperties, 0, sizeof(VkPhysicalDeviceFragmentDensityMapPropertiesEXT));
-               m_fragmentDensityMapProperties.sType    = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT;
-               properties.pNext                                                = &m_fragmentDensityMapProperties;
+       if (m_testParams.viewCount > 1)
+       {
+               context.requireDeviceFunctionality("VK_KHR_multiview");
+               if (!context.getMultiviewFeatures().multiview)
+                       TCU_THROW(NotSupportedError, "Implementation does not support multiview feature");
 
-               context.getInstanceInterface().getPhysicalDeviceProperties2(vkPhysicalDevice, &properties);
+               if (m_testParams.viewCount > 2)
+               {
+                       context.requireDeviceFunctionality("VK_EXT_fragment_density_map2");
+                       if (m_testParams.viewCount > fragmentDensityMapProperties2.maxSubsampledArrayLayers)
+                               TCU_THROW(NotSupportedError, "Maximum number of VkImageView array layers for usages supporting subsampled samplers is to small");
+               }
        }
-#else
+
+       if (!m_testParams.nonSubsampledImages && (m_testParams.samplersCount > 1))
        {
-               m_fragmentDensityMapProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT;
-               m_fragmentDensityMapProperties.minFragmentDensityTexelSize.width        = 1u;
-               m_fragmentDensityMapProperties.maxFragmentDensityTexelSize.width        = 1u;
-               m_fragmentDensityMapProperties.minFragmentDensityTexelSize.height       = 1u;
-               m_fragmentDensityMapProperties.maxFragmentDensityTexelSize.height       = 1u;
-               m_fragmentDensityMapProperties.fragmentDensityInvocations                       = DE_FALSE;
-               m_testParams.fragmentArea.x()                                                                           = 1u;
-               m_testParams.fragmentArea.y()                                                                           = 1u;
+               context.requireDeviceFunctionality("VK_EXT_fragment_density_map2");
+               if (m_testParams.samplersCount > fragmentDensityMapProperties2.maxDescriptorSetSubsampledSamplers)
+                       TCU_THROW(NotSupportedError, "Required number of subsampled samplers is not supported");
        }
 #endif
 
+       vk::VkImageUsageFlags   colorImageUsage                 = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT;
+       if (m_testParams.makeCopy)
+               colorImageUsage |= VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
+
+       deUint32                                colorImageCreateFlags   = m_testParams.nonSubsampledImages ? 0u : (deUint32)VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT;
+       VkImageFormatProperties imageFormatProperties   (getPhysicalDeviceImageFormatProperties(vki, vkPhysicalDevice, VK_FORMAT_R8G8B8A8_UNORM, VK_IMAGE_TYPE_2D, VK_IMAGE_TILING_OPTIMAL, colorImageUsage, colorImageCreateFlags));
+
+       if ((imageFormatProperties.sampleCounts & m_testParams.colorSamples) == 0)
+               TCU_THROW(NotSupportedError, "Color image type not supported");
+}
+
+FragmentDensityMapTestInstance::FragmentDensityMapTestInstance(Context&                                context,
+                                                                                                                          const TestParams&    testParams)
+       : vkt::TestInstance     (context)
+       , m_testParams          (testParams)
+{
+       m_renderSize            = tcu::UVec2(deFloorFloatToInt32(m_testParams.renderMultiplier * static_cast<float>(m_testParams.densityMapSize.x())),
+                                                                        deFloorFloatToInt32(m_testParams.renderMultiplier * static_cast<float>(m_testParams.densityMapSize.y())));
+       m_densityValue          = tcu::Vec2(1.0f / static_cast<float>(m_testParams.fragmentArea.x()),
+                                                                       1.0f / static_cast<float>(m_testParams.fragmentArea.y()));
+       m_viewMask                      = (m_testParams.viewCount > 1) ? ((1u << m_testParams.viewCount) - 1u) : 0u;
+
+       const DeviceInterface&          vk                                                      = m_context.getDeviceInterface();
+       const VkDevice                          vkDevice                                        = m_context.getDevice();
+       const VkPhysicalDevice          vkPhysicalDevice                        = m_context.getPhysicalDevice();
+       const deUint32                          queueFamilyIndex                        = m_context.getUniversalQueueFamilyIndex();
+       SimpleAllocator                         memAlloc                                        (vk, vkDevice, getPhysicalDeviceMemoryProperties(m_context.getInstanceInterface(), vkPhysicalDevice));
+       const VkComponentMapping        componentMappingRGBA            = makeComponentMappingRGBA();
+
        // calculate all image sizes, image usage flags, view types etc.
-       VkExtent3D                              densityMapImageSize                             { m_testParams.densityMapSize.x(), m_testParams.densityMapSize.y(), 1 };
-       deUint32                                densityMapImageLayers                   = m_testParams.multiView ? 2 : 1 ;
-       VkImageViewType                 densityImageViewType                    = m_testParams.multiView ? VK_IMAGE_VIEW_TYPE_2D_ARRAY : VK_IMAGE_VIEW_TYPE_2D;
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
-       vk::VkImageUsageFlags   densityMapImageUsage                    = m_testParams.dynamicDensityMap ? VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT : VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT;
-#else
-       vk::VkImageUsageFlags   densityMapImageUsage                    = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
-#endif
-       deUint32                                densityMapImageViewCreateFlags  = m_testParams.dynamicDensityMap ? (deUint32)VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT : 0u;
-
-       VkExtent3D                              colorMapImageSize                               = m_testParams.multiView ?
-                                                                                                                         VkExtent3D{ m_testParams.renderSize.x() / 2, m_testParams.renderSize.y(), 1 } :
-                                                                                                                         VkExtent3D{ m_testParams.renderSize.x(), m_testParams.renderSize.y(), 1 };
-       deUint32                                colorImageLayers                                = m_testParams.multiView ? 2 : 1 ;
-       VkImageViewType                 colorImageViewType                              = m_testParams.multiView ? VK_IMAGE_VIEW_TYPE_2D_ARRAY : VK_IMAGE_VIEW_TYPE_2D;
-       vk::VkImageUsageFlags   colorImageUsage                                 = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT;
+       deUint32                                        densitiMapCount                         = 1 + m_testParams.subsampledLoads;
+       VkExtent3D                                      densityMapImageSize                     { m_testParams.densityMapSize.x(), m_testParams.densityMapSize.y(), 1 };
+       deUint32                                        densityMapImageLayers           = m_testParams.viewCount;
+       VkImageViewType                         densityMapImageViewType         = (m_testParams.viewCount > 1) ? VK_IMAGE_VIEW_TYPE_2D_ARRAY : VK_IMAGE_VIEW_TYPE_2D;
+       vk::VkImageUsageFlags           densityMapImageUsage            = VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+       deUint32                                        densityMapImageViewFlags        = 0u;
+
+       VkExtent3D                                      colorImageSize                          { m_renderSize.x() / m_testParams.viewCount, m_renderSize.y(), 1 };
+       deUint32                                        colorImageLayers                        = densityMapImageLayers;
+       VkImageViewType                         colorImageViewType                      = densityMapImageViewType;
+       vk::VkImageUsageFlags           colorImageUsage                         = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT;
+       deUint32                                        colorImageCreateFlags           = m_testParams.nonSubsampledImages ? 0u : (deUint32)VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT;
+       bool                                            isColorImageMultisampled        = m_testParams.colorSamples != VK_SAMPLE_COUNT_1_BIT;
+
+       VkExtent3D                                      outputImageSize                         { m_renderSize.x(), m_renderSize.y(), 1 };
+
+       if (m_testParams.dynamicDensityMap)
+       {
+               DE_ASSERT(!m_testParams.subsampledLoads);
+
+               densityMapImageUsage            = VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
+               densityMapImageViewFlags        = (deUint32)VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT;
+       }
+       else if (m_testParams.deferredDensityMap)
+               densityMapImageViewFlags        = (deUint32)VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT;
        if (m_testParams.makeCopy)
-               colorImageUsage  |= VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
-       deUint32                                colorImageCreateFlags                   = m_testParams.nonSubsampledImages ? 0u : (deUint32)VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT;
-#else
-       deUint32                                colorImageCreateFlags                   = 0u;
-#endif
+               colorImageUsage                         |= VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT;
 
-       VkExtent3D                              outputMapImageSize                              { m_testParams.renderSize.x(), m_testParams.renderSize.y(), 1 };
+#if DRY_RUN_WITHOUT_FDM_EXTENSION
+       colorImageCreateFlags           = 0u;
+       densityMapImageUsage            = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+       densityMapImageViewFlags        = 0u;
+#endif
 
        // Create subsampled color image
        prepareImageAndImageView(vk, vkDevice, memAlloc, colorImageCreateFlags, VK_FORMAT_R8G8B8A8_UNORM,
-               colorMapImageSize, colorImageLayers, m_testParams.colorSamples,
+               colorImageSize, colorImageLayers, m_testParams.colorSamples,
                colorImageUsage, queueFamilyIndex, 0u, colorImageViewType,
                componentMappingRGBA, { VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, colorImageLayers },
                m_colorImage, m_colorImageAlloc, m_colorImageView);
 
        // Create subsampled color image for resolve operation ( when multisampling is used )
-       if( m_testParams.colorSamples != VK_SAMPLE_COUNT_1_BIT)
+       if (isColorImageMultisampled)
        {
                prepareImageAndImageView(vk, vkDevice, memAlloc, colorImageCreateFlags, VK_FORMAT_R8G8B8A8_UNORM,
-                       colorMapImageSize, colorImageLayers, VK_SAMPLE_COUNT_1_BIT,
+                       colorImageSize, colorImageLayers, VK_SAMPLE_COUNT_1_BIT,
                        VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT, queueFamilyIndex, 0u, colorImageViewType,
                        componentMappingRGBA, { VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, colorImageLayers },
                        m_colorResolvedImage, m_colorResolvedImageAlloc, m_colorResolvedImageView);
        }
 
-       // create subsampled image copy
+       // Create subsampled image copy
        if (m_testParams.makeCopy)
        {
                prepareImageAndImageView(vk, vkDevice, memAlloc, colorImageCreateFlags, VK_FORMAT_R8G8B8A8_UNORM,
-                       colorMapImageSize, colorImageLayers, m_testParams.colorSamples,
+                       colorImageSize, colorImageLayers, m_testParams.colorSamples,
                        VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT, queueFamilyIndex, 0u, colorImageViewType,
                        componentMappingRGBA, { VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, colorImageLayers },
                        m_colorCopyImage, m_colorCopyImageAlloc, m_colorCopyImageView);
@@ -990,23 +1217,33 @@ FragmentDensityMapTestInstance::FragmentDensityMapTestInstance(Context&                  contex
 
        // Create output image ( data from subsampled color image will be copied into it using sampler with VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT )
        prepareImageAndImageView(vk, vkDevice, memAlloc, 0u, VK_FORMAT_R8G8B8A8_UNORM,
-               outputMapImageSize, 1u, VK_SAMPLE_COUNT_1_BIT,
+               outputImageSize, 1u, VK_SAMPLE_COUNT_1_BIT,
                VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT, queueFamilyIndex, 0u, VK_IMAGE_VIEW_TYPE_2D,
                componentMappingRGBA, { VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u },
                m_outputImage, m_outputImageAlloc, m_outputImageView);
 
-       // Create density map image
-       prepareImageAndImageView(vk, vkDevice, memAlloc, 0u, m_testParams.densityMapFormat,
-               densityMapImageSize, densityMapImageLayers, VK_SAMPLE_COUNT_1_BIT,
-               densityMapImageUsage, queueFamilyIndex, densityMapImageViewCreateFlags, densityImageViewType,
-               componentMappingRGBA, { VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, densityMapImageLayers },
-               m_densityMapImage, m_densityMapImageAlloc, m_densityMapImageView);
+       // Create density map image/images
+       for (deUint32 mapIndex = 0; mapIndex < densitiMapCount; ++mapIndex)
+       {
+               Move<VkImage>                   densityMapImage;
+               de::MovePtr<Allocation> densityMapImageAlloc;
+               Move<VkImageView>               densityMapImageView;
+
+               prepareImageAndImageView(vk, vkDevice, memAlloc, 0u, m_testParams.densityMapFormat,
+                       densityMapImageSize, densityMapImageLayers, VK_SAMPLE_COUNT_1_BIT,
+                       densityMapImageUsage, queueFamilyIndex, densityMapImageViewFlags, densityMapImageViewType,
+                       componentMappingRGBA, { VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, densityMapImageLayers },
+                       densityMapImage, densityMapImageAlloc, densityMapImageView);
+
+               m_densityMapImages.push_back(VkImageSp(new Unique<VkImage>(densityMapImage)));
+               m_densityMapImageAllocs.push_back(AllocationSp(densityMapImageAlloc.release()));
+               m_densityMapImageViews.push_back(VkImageViewSp(new Unique<VkImageView>(densityMapImageView)));
+       }
 
-       // create and fill staging buffer, copy its data to density map image
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
-       if ( !m_testParams.dynamicDensityMap )
+       // Create and fill staging buffer, copy its data to density map image
+       if (!m_testParams.dynamicDensityMap)
        {
-               tcu::TextureFormat                              densityMapTextureFormat = vk::mapVkFormat(m_testParams.densityMapFormat);
+               tcu::TextureFormat                              densityMapTextureFormat = vk::mapVkFormat(m_testParams.densityMapFormat);
                VkDeviceSize                                    stagingBufferSize               = tcu::getPixelSize(densityMapTextureFormat) * densityMapImageSize.width * densityMapImageSize.height * densityMapImageLayers;
                const vk::VkBufferCreateInfo    stagingBufferCreateInfo =
                {
@@ -1023,100 +1260,114 @@ FragmentDensityMapTestInstance::FragmentDensityMapTestInstance(Context&                       contex
                const vk::VkMemoryRequirements  stagingRequirements = vk::getBufferMemoryRequirements(vk, vkDevice, *stagingBuffer);
                de::MovePtr<vk::Allocation>             stagingAllocation       = memAlloc.allocate(stagingRequirements, MemoryRequirement::HostVisible);
                VK_CHECK(vk.bindBufferMemory(vkDevice, *stagingBuffer, stagingAllocation->getMemory(), stagingAllocation->getOffset()));
-               tcu::PixelBufferAccess                  stagingBufferAccess     = tcu::PixelBufferAccess(densityMapTextureFormat, densityMapImageSize.width, densityMapImageSize.height, densityMapImageLayers, stagingAllocation->getHostPtr());
+               tcu::PixelBufferAccess                  stagingBufferAccess     (densityMapTextureFormat, densityMapImageSize.width, densityMapImageSize.height, densityMapImageLayers, stagingAllocation->getHostPtr());
+               tcu::Vec4                                               fragmentArea            (m_densityValue.x(), m_densityValue.y(), 0.0f, 1.0f);
 
-               tcu::Vec4 fragmentArea { 1.0f / static_cast<float>(testParams.fragmentArea.x()), 1.0f / static_cast<float>(testParams.fragmentArea.y()), 0.0f, 1.0f };
-               for (int z = 0; z < stagingBufferAccess.getDepth(); z++)
-                       for (int y = 0; y < stagingBufferAccess.getHeight(); y++)
-                               for (int x = 0; x < stagingBufferAccess.getWidth(); x++)
-                                       stagingBufferAccess.setPixel(fragmentArea, x, y, z);
-               flushAlloc(vk, vkDevice, *stagingAllocation);
-
-               std::vector<VkBufferImageCopy> copyRegions =
+               for (deUint32 mapIndex = 0; mapIndex < densitiMapCount; ++mapIndex)
                {
-                       {
-                               0,                                                                                                                      // VkDeviceSize                                 bufferOffset
-                               0,                                                                                                                      // deUint32                                             bufferRowLength
-                               0,                                                                                                                      // deUint32                                             bufferImageHeight
-                               { VK_IMAGE_ASPECT_COLOR_BIT, 0, 0, densityMapImageLayers },     // VkImageSubresourceLayers             imageSubresource
-                               { 0, 0, 0 },                                                                                            // VkOffset3D                                   imageOffset
-                               densityMapImageSize                                                                                     // VkExtent3D                                   imageExtent
-                       }
-               };
-
-               vk::copyBufferToImage
-               (
-                       vk, vkDevice, m_context.getUniversalQueue(), queueFamilyIndex,
-                       *stagingBuffer, stagingBufferSize, copyRegions, DE_NULL,
-                       VK_IMAGE_ASPECT_COLOR_BIT, 1, densityMapImageLayers,
-                       *m_densityMapImage,
-                       VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT,
-                       VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
-               );
+                       // Fill staging buffer with one color
+                       tcu::clear(stagingBufferAccess, fragmentArea);
+                       flushAlloc(vk, vkDevice, *stagingAllocation);
+
+                       copyBufferToImage
+                       (
+                               vk, vkDevice, m_context.getUniversalQueue(), queueFamilyIndex,
+                               *stagingBuffer, stagingBufferSize,
+                               densityMapImageSize, densityMapImageLayers, **m_densityMapImages[mapIndex]
+                       );
+
+                       std::swap(fragmentArea.m_data[0], fragmentArea.m_data[1]);
+               }
        }
-#endif
 
-       // create a sampler that is able to read from subsampled image
-       {
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
-               deUint32 samplerCreateFlags = m_testParams.nonSubsampledImages ? 0u : (deUint32)VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT;
-#else
-               deUint32 samplerCreateFlags = 0u;
-#endif
-               const struct VkSamplerCreateInfo                samplerInfo
-               {
-                       VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,                  // sType
-                       DE_NULL,                                                                                // pNext
-                       (VkSamplerCreateFlags)samplerCreateFlags,               // flags
-                       VK_FILTER_NEAREST,                                                              // magFilter
-                       VK_FILTER_NEAREST,                                                              // minFilter
-                       VK_SAMPLER_MIPMAP_MODE_NEAREST,                                 // mipmapMode
-                       VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,                  // addressModeU
-                       VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,                  // addressModeV
-                       VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,                  // addressModeW
-                       0.0f,                                                                                   // mipLodBias
-                       VK_FALSE,                                                                               // anisotropyEnable
-                       1.0f,                                                                                   // maxAnisotropy
-                       DE_FALSE,                                                                               // compareEnable
-                       VK_COMPARE_OP_ALWAYS,                                                   // compareOp
-                       0.0f,                                                                                   // minLod
-                       0.0f,                                                                                   // maxLod
-                       VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,                // borderColor
-                       VK_FALSE,                                                                               // unnormalizedCoords
-               };
-               m_colorSampler = createSampler(vk, vkDevice, &samplerInfo);
-       }
+       deUint32 samplerCreateFlags = (deUint32)VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT;
+       if (m_testParams.coarseReconstruction)
+               samplerCreateFlags              |= (deUint32)VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT;
+       if (m_testParams.nonSubsampledImages)
+               samplerCreateFlags              = 0u;
 
-       // Create render passes
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
-       if ( testParams.dynamicDensityMap )
+#if DRY_RUN_WITHOUT_FDM_EXTENSION
+       samplerCreateFlags = 0u;
 #endif
-               m_renderPassProduceDynamicDensityMap    = createRenderPassProduceDynamicDensityMap<AttachmentDescription2, AttachmentReference2, SubpassDescription2, SubpassDependency2, RenderPassCreateInfo2>(vk, vkDevice, testParams);
-       m_renderPassProduceSubsampledImage              = createRenderPassProduceSubsampledImage<AttachmentDescription2, AttachmentReference2, SubpassDescription2, SubpassDependency2, RenderPassCreateInfo2>(vk, vkDevice, testParams);
-       m_renderPassOutputSubsampledImage               = createRenderPassOutputSubsampledImage<AttachmentDescription2, AttachmentReference2, SubpassDescription2, SubpassDependency2, RenderPassCreateInfo2>(vk, vkDevice, testParams);
 
-       // Create framebuffers
-#if  !DRY_RUN_WITHOUT_FDM_EXTENSION
-       if ( testParams.dynamicDensityMap )
-#endif
-               m_framebufferProduceDynamicDensityMap = createFrameBuffer(vk, vkDevice, *m_renderPassProduceDynamicDensityMap, densityMapImageSize.width, densityMapImageSize.height, { *m_densityMapImageView });
+       const struct VkSamplerCreateInfo samplerInfo
+       {
+               VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,                  // sType
+               DE_NULL,                                                                                // pNext
+               (VkSamplerCreateFlags)samplerCreateFlags,               // flags
+               VK_FILTER_NEAREST,                                                              // magFilter
+               VK_FILTER_NEAREST,                                                              // minFilter
+               VK_SAMPLER_MIPMAP_MODE_NEAREST,                                 // mipmapMode
+               VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,                  // addressModeU
+               VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,                  // addressModeV
+               VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,                  // addressModeW
+               0.0f,                                                                                   // mipLodBias
+               VK_FALSE,                                                                               // anisotropyEnable
+               1.0f,                                                                                   // maxAnisotropy
+               DE_FALSE,                                                                               // compareEnable
+               VK_COMPARE_OP_ALWAYS,                                                   // compareOp
+               0.0f,                                                                                   // minLod
+               0.0f,                                                                                   // maxLod
+               VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,                // borderColor
+               VK_FALSE,                                                                               // unnormalizedCoords
+       };
 
-       std::vector<VkImageView> imageViewsProduceSubsampledImage;
-       imageViewsProduceSubsampledImage.push_back(*m_colorImageView);
-       if (testParams.colorSamples != VK_SAMPLE_COUNT_1_BIT)
+       // Create a sampler that are able to read from subsampled image
+       // (more than one sampler is needed only for 4 maxDescriptorSetSubsampledSamplers tests)
+       for (deUint32 samplerIndex = 0; samplerIndex < testParams.samplersCount; ++samplerIndex)
+               m_colorSamplers.push_back(VkSamplerSp(new Unique<VkSampler>(createSampler(vk, vkDevice, &samplerInfo))));
+
+       // Create render passes
+       if (testParams.dynamicDensityMap)
+               m_renderPassProduceDynamicDensityMap    = createRenderPassProduceDynamicDensityMap(vk, vkDevice, m_viewMask, testParams);
+       m_renderPassProduceSubsampledImage                      = createRenderPassProduceSubsampledImage(vk, vkDevice, m_viewMask, testParams.makeCopy, false, testParams);
+       if (testParams.subsampledLoads)
+               m_renderPassUpdateSubsampledImage               = createRenderPassProduceSubsampledImage(vk, vkDevice, m_viewMask, false, true, testParams);
+       m_renderPassOutputSubsampledImage                       = createRenderPassOutputSubsampledImage(vk, vkDevice);
+
+       std::vector<VkImageView> imageViewsProduceSubsampledImage = { *m_colorImageView };
+       if (isColorImageMultisampled)
                imageViewsProduceSubsampledImage.push_back(*m_colorResolvedImageView);
        if (testParams.makeCopy)
                imageViewsProduceSubsampledImage.push_back(*m_colorCopyImageView);
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
-       imageViewsProduceSubsampledImage.push_back(*m_densityMapImageView);
+       imageViewsProduceSubsampledImage.push_back(**m_densityMapImageViews[0]);
+
+       std::vector<VkImageView> imageViewsUpdateSubsampledImage = { *m_colorImageView };
+       if (testParams.subsampledLoads)
+               imageViewsUpdateSubsampledImage.push_back(**m_densityMapImageViews[1]);
+
+#if DRY_RUN_WITHOUT_FDM_EXTENSION
+       imageViewsProduceSubsampledImage.pop_back();
+       imageViewsUpdateSubsampledImage.pop_back();
 #endif
-       m_framebufferProduceSubsampledImage = createFrameBuffer(vk, vkDevice, *m_renderPassProduceSubsampledImage, colorMapImageSize.width, colorMapImageSize.height, imageViewsProduceSubsampledImage);
 
-       m_framebufferOutputSubsampledImage      = createFrameBuffer( vk, vkDevice, *m_renderPassOutputSubsampledImage, outputMapImageSize.width, outputMapImageSize.height, { *m_outputImageView } );
+       // Create framebuffers
+       if (testParams.dynamicDensityMap)
+       {
+               m_framebufferProduceDynamicDensityMap = createFrameBuffer(vk, vkDevice,
+                       *m_renderPassProduceDynamicDensityMap,
+                       densityMapImageSize,
+                       { **m_densityMapImageViews[0] });
+       }
+       m_framebufferProduceSubsampledImage = createFrameBuffer(vk, vkDevice,
+               *m_renderPassProduceSubsampledImage,
+               colorImageSize,
+               imageViewsProduceSubsampledImage);
+       if (testParams.subsampledLoads)
+       {
+               m_framebufferUpdateSubsampledImage = createFrameBuffer(vk, vkDevice,
+                       *m_renderPassUpdateSubsampledImage,
+                       colorImageSize,
+                       imageViewsUpdateSubsampledImage);
+       }
+       m_framebufferOutputSubsampledImage = createFrameBuffer(vk, vkDevice,
+               *m_renderPassOutputSubsampledImage,
+               outputImageSize,
+               { *m_outputImageView });
 
        // Create pipeline layout for subpasses that do not use any descriptors
        {
-               const VkPipelineLayoutCreateInfo                pipelineLayoutParams            =
+               const VkPipelineLayoutCreateInfo pipelineLayoutParams =
                {
                        VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,  // VkStructureType                              sType;
                        DE_NULL,                                                                                // const void*                                  pNext;
@@ -1130,97 +1381,102 @@ FragmentDensityMapTestInstance::FragmentDensityMapTestInstance(Context&                        contex
                m_pipelineLayoutNoDescriptors = createPipelineLayout(vk, vkDevice, &pipelineLayoutParams);
        }
 
-       // Create pipeline layout for subpass that copies data
-       if(m_testParams.makeCopy)
+       // Create pipeline layout for subpass that copies data or resamples subsampled image
+       if (m_testParams.makeCopy || m_testParams.subsampledLoads)
        {
-               m_descriptorSetLayoutCopySubsampledImage =
+               m_descriptorSetLayoutOperateOnSubsampledImage =
                        DescriptorSetLayoutBuilder()
                        .addSingleSamplerBinding(VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, VK_SHADER_STAGE_FRAGMENT_BIT, DE_NULL)
                        .build(vk, vkDevice);
 
                // Create and bind descriptor set
-               m_descriptorPoolCopySubsampledImage =
+               m_descriptorPoolOperateOnSubsampledImage =
                        DescriptorPoolBuilder()
                        .addType(VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, 1u)
                        .build(vk, vkDevice, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, 1u);
 
-               m_pipelineLayoutCopySubsampledImage = makePipelineLayout(vk, vkDevice, *m_descriptorSetLayoutCopySubsampledImage);
-
-               m_descriptorSetCopySubsampledImage = makeDescriptorSet(vk, vkDevice, *m_descriptorPoolCopySubsampledImage, *m_descriptorSetLayoutCopySubsampledImage);
+               m_pipelineLayoutOperateOnSubsampledImage        = makePipelineLayout(vk, vkDevice, *m_descriptorSetLayoutOperateOnSubsampledImage);
+               m_descriptorSetOperateOnSubsampledImage         = makeDescriptorSet(vk, vkDevice, *m_descriptorPoolOperateOnSubsampledImage, *m_descriptorSetLayoutOperateOnSubsampledImage);
 
-               const VkDescriptorImageInfo                     inputImageInfo =
+               const VkDescriptorImageInfo inputImageInfo =
                {
                        DE_NULL,                                                                                        // VkSampleri           sampler;
                        *m_colorImageView,                                                                      // VkImageView          imageView;
                        VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL                        // VkImageLayout        imageLayout;
                };
                DescriptorSetUpdateBuilder()
-                       .writeSingle(*m_descriptorSetCopySubsampledImage, DescriptorSetUpdateBuilder::Location::binding(0u), VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, &inputImageInfo)
+                       .writeSingle(*m_descriptorSetOperateOnSubsampledImage, DescriptorSetUpdateBuilder::Location::binding(0u), VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, &inputImageInfo)
                        .update(vk, vkDevice);
        }
 
-       // Create pipeline layout for last render pass ( output subsampled image )
+       // Create pipeline layout for last render pass (output subsampled image)
        {
-               m_descriptorSetLayoutOutputSubsampledImage =
-                       DescriptorSetLayoutBuilder()
-                       .addSingleSamplerBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, &(m_colorSampler.get()))
-                       .build(vk, vkDevice);
-
-               // Create and bind descriptor set
-               m_descriptorPoolOutputSubsampledImage =
-                       DescriptorPoolBuilder()
-                       .addType(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1u)
-                       .build(vk, vkDevice, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, 1u);
+               DescriptorSetLayoutBuilder      descriptorSetLayoutBuilder;
+               DescriptorPoolBuilder           descriptorPoolBuilder;
+               for (deUint32 samplerIndex = 0; samplerIndex < testParams.samplersCount; ++samplerIndex)
+               {
+                       descriptorSetLayoutBuilder.addSingleSamplerBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT, &(*m_colorSamplers[samplerIndex]).get());
+                       descriptorPoolBuilder.addType(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, samplerIndex + 1u);
+               }
 
-               m_pipelineLayoutOutputSubsampledImage = makePipelineLayout(vk, vkDevice, *m_descriptorSetLayoutOutputSubsampledImage);
+               m_descriptorSetLayoutOutputSubsampledImage      = descriptorSetLayoutBuilder.build(vk, vkDevice);
+               m_descriptorPoolOutputSubsampledImage           = descriptorPoolBuilder.build(vk, vkDevice, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, 1u);
+               m_pipelineLayoutOutputSubsampledImage           = makePipelineLayout(vk, vkDevice, *m_descriptorSetLayoutOutputSubsampledImage);
+               m_descriptorSetOutputSubsampledImage            = makeDescriptorSet(vk, vkDevice, *m_descriptorPoolOutputSubsampledImage, *m_descriptorSetLayoutOutputSubsampledImage);
 
-               m_descriptorSetOutputSubsampledImage = makeDescriptorSet(vk, vkDevice, *m_descriptorPoolOutputSubsampledImage, *m_descriptorSetLayoutOutputSubsampledImage);
+               VkImageView srcImageView = *m_colorImageView;
+               if (isColorImageMultisampled)
+                       srcImageView = *m_colorResolvedImageView;
+               else if (m_testParams.makeCopy)
+                       srcImageView = *m_colorCopyImageView;
 
-               VkImageView srcImageView = (m_testParams.colorSamples != VK_SAMPLE_COUNT_1_BIT) ? *m_colorResolvedImageView : ((m_testParams.makeCopy) ? *m_colorCopyImageView : *m_colorImageView);
-               const VkDescriptorImageInfo                     inputImageInfo =
+               const VkDescriptorImageInfo inputImageInfo =
                {
                        DE_NULL,                                                                        // VkSampleri           sampler;
                        srcImageView,                                                           // VkImageView          imageView;
                        VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL        // VkImageLayout        imageLayout;
                };
-               DescriptorSetUpdateBuilder()
-                       .writeSingle(*m_descriptorSetOutputSubsampledImage, DescriptorSetUpdateBuilder::Location::binding(0u), VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, &inputImageInfo)
-                       .update(vk, vkDevice);
-       }
 
-       // load vertex and fragment shaders
+               DescriptorSetUpdateBuilder descriptorSetUpdateBuilder;
+               for (deUint32 samplerIndex = 0; samplerIndex < testParams.samplersCount; ++samplerIndex)
+                       descriptorSetUpdateBuilder.writeSingle(*m_descriptorSetOutputSubsampledImage, DescriptorSetUpdateBuilder::Location::binding(samplerIndex), VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, &inputImageInfo);
+               descriptorSetUpdateBuilder.update(vk, vkDevice);
+       }
 
-       m_vertexCommonShaderModule                                                      = createShaderModule(vk, vkDevice, m_context.getBinaryCollection().get("densitymap_vert"), 0);
-       m_fragmentShaderModuleProduceSubsampledImage            = createShaderModule(vk, vkDevice, m_context.getBinaryCollection().get("densitymap_frag_produce"), 0);
+       // Load vertex and fragment shaders
+       auto& bc = m_context.getBinaryCollection();
+       m_vertexCommonShaderModule                                              = createShaderModule(vk, vkDevice, bc.get("vert"), 0);
+       m_fragmentShaderModuleProduceSubsampledImage    = createShaderModule(vk, vkDevice, bc.get("frag_produce_subsampled"), 0);
        if (m_testParams.makeCopy)
        {
-               if (m_testParams.colorSamples != VK_SAMPLE_COUNT_1_BIT)
-                       m_fragmentShaderModuleCopySubsampledImage       = createShaderModule(vk, vkDevice, m_context.getBinaryCollection().get("densitymap_frag_copy_ms"), 0);
-               else
-                       m_fragmentShaderModuleCopySubsampledImage       = createShaderModule(vk, vkDevice, m_context.getBinaryCollection().get("densitymap_frag_copy"), 0);
+               const char* moduleName = isColorImageMultisampled ? "frag_copy_subsampled_ms" : "frag_copy_subsampled";
+               m_fragmentShaderModuleCopySubsampledImage = createShaderModule(vk, vkDevice, bc.get(moduleName), 0);
+       }
+       if (m_testParams.subsampledLoads)
+       {
+               const char* moduleName = "frag_update_subsampled";
+               m_fragmentShaderModuleUpdateSubsampledImage = createShaderModule(vk, vkDevice, bc.get(moduleName), 0);
        }
-       if( m_testParams.multiView)
-               m_fragmentShaderModuleOutputSubsampledImage             = createShaderModule(vk, vkDevice, m_context.getBinaryCollection().get("densitymap_frag_output_2darray"), 0);
-       else
-               m_fragmentShaderModuleOutputSubsampledImage             = createShaderModule(vk, vkDevice, m_context.getBinaryCollection().get("densitymap_frag_output_2d"), 0);
+       const char* moduleName = (m_testParams.viewCount > 1) ? "frag_output_2darray" : "frag_output_2d";
+       m_fragmentShaderModuleOutputSubsampledImage = createShaderModule(vk, vkDevice, bc.get(moduleName), 0);
 
        // Create pipelines
        {
-               const VkVertexInputBindingDescription           vertexInputBindingDescription           =
+               const VkVertexInputBindingDescription vertexInputBindingDescription =
                {
                        0u,                                                                                                                             // deUint32                                     binding;
                        sizeof(Vertex4RGBA),                                                                                    // deUint32                                     strideInBytes;
                        VK_VERTEX_INPUT_RATE_VERTEX                                                                             // VkVertexInputStepRate        inputRate;
                };
 
-               std::vector<VkVertexInputAttributeDescription>  vertexInputAttributeDescriptions        =
+               std::vector<VkVertexInputAttributeDescription> vertexInputAttributeDescriptions =
                {
                        { 0u, 0u, VK_FORMAT_R32G32B32A32_SFLOAT, 0u },
                        { 1u, 0u, VK_FORMAT_R32G32B32A32_SFLOAT, (deUint32)(sizeof(float) * 4) },
                        { 2u, 0u, VK_FORMAT_R32G32B32A32_SFLOAT, (deUint32)(sizeof(float) * 8) }
                };
 
-               const VkPipelineVertexInputStateCreateInfo      vertexInputStateParams                          =
+               const VkPipelineVertexInputStateCreateInfo vertexInputStateParams =
                {
                        VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,              // VkStructureType                                                      sType;
                        DE_NULL,                                                                                                                // const void*                                                          pNext;
@@ -1231,7 +1487,7 @@ FragmentDensityMapTestInstance::FragmentDensityMapTestInstance(Context&                   contex
                        vertexInputAttributeDescriptions.data()                                                 // const VkVertexInputAttributeDescription*     pVertexAttributeDescriptions;
                };
 
-               const VkPipelineMultisampleStateCreateInfo              multisampleStateCreateInfo =
+               const VkPipelineMultisampleStateCreateInfo multisampleStateCreateInfo
                {
                        VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,       // VkStructureType                                                      sType
                        DE_NULL,                                                                                                        // const void*                                                          pNext
@@ -1244,18 +1500,14 @@ FragmentDensityMapTestInstance::FragmentDensityMapTestInstance(Context&                 contex
                        VK_FALSE                                                                                                        // VkBool32                                                                     alphaToOneEnable
                };
 
-               const std::vector<VkViewport>                           viewportsProduceDynamicDensityMap       { makeViewport(densityMapImageSize.width, densityMapImageSize.height) };
-               const std::vector<VkRect2D>                                     scissorsProduceDynamicDensityMap        { makeRect2D(densityMapImageSize.width, densityMapImageSize.height) };
-               const std::vector<VkViewport>                           viewportsProduceSubsampledImage         { makeViewport(colorMapImageSize.width, colorMapImageSize.height) };
-               const std::vector<VkRect2D>                                     scissorsProduceSubsampledImage          { makeRect2D(colorMapImageSize.width, colorMapImageSize.height) };
-               const std::vector<VkViewport>                           viewportsCopySubsampledImage            { makeViewport(colorMapImageSize.width, colorMapImageSize.height) };
-               const std::vector<VkRect2D>                                     scissorsCopySubsampledImage                     { makeRect2D(colorMapImageSize.width, colorMapImageSize.height) };
-               const std::vector<VkViewport>                           viewportsOutputSubsampledImage          { makeViewport(outputMapImageSize.width, outputMapImageSize.height) };
-               const std::vector<VkRect2D>                                     scissorsOutputSubsampledImage           { makeRect2D(outputMapImageSize.width, outputMapImageSize.height) };
+               const std::vector<VkViewport>   viewportsProduceDynamicDensityMap       { makeViewport(densityMapImageSize.width, densityMapImageSize.height) };
+               const std::vector<VkRect2D>             scissorsProduceDynamicDensityMap        { makeRect2D(densityMapImageSize.width, densityMapImageSize.height) };
+               const std::vector<VkViewport>   viewportsSubsampledImage                        { makeViewport(colorImageSize.width, colorImageSize.height) };
+               const std::vector<VkRect2D>             scissorsSubsampledImage                         { makeRect2D(colorImageSize.width, colorImageSize.height) };
+               const std::vector<VkViewport>   viewportsOutputSubsampledImage          { makeViewport(outputImageSize.width, outputImageSize.height) };
+               const std::vector<VkRect2D>             scissorsOutputSubsampledImage           { makeRect2D(outputImageSize.width, outputImageSize.height) };
 
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
                if (testParams.dynamicDensityMap)
-#endif
                        m_graphicsPipelineProduceDynamicDensityMap = makeGraphicsPipeline(vk,                                                   // const DeviceInterface&                                                       vk
                                                                                                                        vkDevice,                                                                               // const VkDevice                                                                       device
                                                                                                                        *m_pipelineLayoutNoDescriptors,                                 // const VkPipelineLayout                                                       pipelineLayout
@@ -1281,32 +1533,49 @@ FragmentDensityMapTestInstance::FragmentDensityMapTestInstance(Context&                 contex
                                                                                                                        DE_NULL,                                                                                // const VkShaderModule                                                         geometryShaderModule
                                                                                                                        *m_fragmentShaderModuleProduceSubsampledImage,  // const VkShaderModule                                                         fragmentShaderModule
                                                                                                                        *m_renderPassProduceSubsampledImage,                    // const VkRenderPass                                                           renderPass
-                                                                                                                       viewportsProduceSubsampledImage,                                // const std::vector<VkViewport>&                                       viewports
-                                                                                                                       scissorsProduceSubsampledImage,                                 // const std::vector<VkRect2D>&                                         scissors
+                                                                                                                       viewportsSubsampledImage,                                               // const std::vector<VkViewport>&                                       viewports
+                                                                                                                       scissorsSubsampledImage,                                                // const std::vector<VkRect2D>&                                         scissors
                                                                                                                        VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,                    // const VkPrimitiveTopology                                            topology
                                                                                                                        0u,                                                                                             // const deUint32                                                                       subpass
                                                                                                                        0u,                                                                                             // const deUint32                                                                       patchControlPoints
                                                                                                                        &vertexInputStateParams,                                                // const VkPipelineVertexInputStateCreateInfo*          vertexInputStateCreateInfo
-                                                                                                                       DE_NULL,                                                                                // const VkPipelineRasterizationStateCreateInfo*        rasterizationStateCreateInfo,
+                                                                                                                       DE_NULL,                                                                                // const VkPipelineRasterizationStateCreateInfo*        rasterizationStateCreateInfo
                                                                                                                        &multisampleStateCreateInfo);                                   // const VkPipelineMultisampleStateCreateInfo*          multisampleStateCreateInfo
-
                if(m_testParams.makeCopy)
-                       m_graphicsPipelineCopySubsampledImage =         makeGraphicsPipeline(vk,                                                        // const DeviceInterface&                                                       vk
+                       m_graphicsPipelineCopySubsampledImage = makeGraphicsPipeline(vk,                                                                // const DeviceInterface&                                                       vk
                                                                                                                        vkDevice,                                                                               // const VkDevice                                                                       device
-                                                                                                                       *m_pipelineLayoutCopySubsampledImage,                   // const VkPipelineLayout                                                       pipelineLayout
+                                                                                                                       *m_pipelineLayoutOperateOnSubsampledImage,              // const VkPipelineLayout                                                       pipelineLayout
                                                                                                                        *m_vertexCommonShaderModule,                                    // const VkShaderModule                                                         vertexShaderModule
                                                                                                                        DE_NULL,                                                                                // const VkShaderModule                                                         tessellationControlModule
                                                                                                                        DE_NULL,                                                                                // const VkShaderModule                                                         tessellationEvalModule
                                                                                                                        DE_NULL,                                                                                // const VkShaderModule                                                         geometryShaderModule
                                                                                                                        *m_fragmentShaderModuleCopySubsampledImage,             // const VkShaderModule                                                         fragmentShaderModule
                                                                                                                        *m_renderPassProduceSubsampledImage,                    // const VkRenderPass                                                           renderPass
-                                                                                                                       viewportsProduceSubsampledImage,                                // const std::vector<VkViewport>&                                       viewports
-                                                                                                                       scissorsProduceSubsampledImage,                                 // const std::vector<VkRect2D>&                                         scissors
+                                                                                                                       viewportsSubsampledImage,                                               // const std::vector<VkViewport>&                                       viewports
+                                                                                                                       scissorsSubsampledImage,                                                // const std::vector<VkRect2D>&                                         scissors
                                                                                                                        VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,                    // const VkPrimitiveTopology                                            topology
                                                                                                                        1u,                                                                                             // const deUint32                                                                       subpass
                                                                                                                        0u,                                                                                             // const deUint32                                                                       patchControlPoints
                                                                                                                        &vertexInputStateParams,                                                // const VkPipelineVertexInputStateCreateInfo*          vertexInputStateCreateInfo
-                                                                                                                       DE_NULL,                                                                                // const VkPipelineRasterizationStateCreateInfo*        rasterizationStateCreateInfo,
+                                                                                                                       DE_NULL,                                                                                // const VkPipelineRasterizationStateCreateInfo*        rasterizationStateCreateInfo
+                                                                                                                       &multisampleStateCreateInfo);                                   // const VkPipelineMultisampleStateCreateInfo*          multisampleStateCreateInfo
+               if (m_testParams.subsampledLoads)
+                       m_graphicsPipelineUpdateSubsampledImage = makeGraphicsPipeline(vk,                                                              // const DeviceInterface&                                                       vk
+                                                                                                                       vkDevice,                                                                               // const VkDevice                                                                       device
+                                                                                                                       *m_pipelineLayoutOperateOnSubsampledImage,              // const VkPipelineLayout                                                       pipelineLayout
+                                                                                                                       *m_vertexCommonShaderModule,                                    // const VkShaderModule                                                         vertexShaderModule
+                                                                                                                       DE_NULL,                                                                                // const VkShaderModule                                                         tessellationControlModule
+                                                                                                                       DE_NULL,                                                                                // const VkShaderModule                                                         tessellationEvalModule
+                                                                                                                       DE_NULL,                                                                                // const VkShaderModule                                                         geometryShaderModule
+                                                                                                                       *m_fragmentShaderModuleUpdateSubsampledImage,   // const VkShaderModule                                                         fragmentShaderModule
+                                                                                                                       *m_renderPassUpdateSubsampledImage,                             // const VkRenderPass                                                           renderPass
+                                                                                                                       viewportsSubsampledImage,                                               // const std::vector<VkViewport>&                                       viewports
+                                                                                                                       scissorsSubsampledImage,                                                // const std::vector<VkRect2D>&                                         scissors
+                                                                                                                       VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,                    // const VkPrimitiveTopology                                            topology
+                                                                                                                       0u,                                                                                             // const deUint32                                                                       subpass
+                                                                                                                       0u,                                                                                             // const deUint32                                                                       patchControlPoints
+                                                                                                                       &vertexInputStateParams,                                                // const VkPipelineVertexInputStateCreateInfo*          vertexInputStateCreateInfo
+                                                                                                                       DE_NULL,                                                                                // const VkPipelineRasterizationStateCreateInfo*        rasterizationStateCreateInfo
                                                                                                                        &multisampleStateCreateInfo);                                   // const VkPipelineMultisampleStateCreateInfo*          multisampleStateCreateInfo
 
                m_graphicsPipelineOutputSubsampledImage = makeGraphicsPipeline(vk,                                                                      // const DeviceInterface&                                                       vk
@@ -1327,14 +1596,15 @@ FragmentDensityMapTestInstance::FragmentDensityMapTestInstance(Context&                 contex
        }
 
        // Create vertex buffers
-       m_vertices                      = createFullscreenQuadRG();
-       m_verticesDDM           = createFullscreenQuadDensity(1.0f / static_cast<float>(m_testParams.fragmentArea.x()), 1.0f / static_cast<float>(m_testParams.fragmentArea.y()));
-       m_verticesOutput        = createFullscreenMeshOutput(m_testParams.multiView);
+       const tcu::Vec2 densityX(m_densityValue.x());
+       const tcu::Vec2 densityY(m_densityValue.y());
+       m_vertices                      = createFullscreenMesh(1, {0.0f, 1.0f}, {0.0f, 1.0f});                                                  // create fullscreen quad with gradient
+       if (testParams.dynamicDensityMap)
+               m_verticesDDM   = createFullscreenMesh(1, densityX, densityY);                                                                  // create fullscreen quad with single color
+       m_verticesOutput        = createFullscreenMesh(m_testParams.viewCount, { 0.0f, 0.0f }, { 0.0f, 0.0f }); // create fullscreen mesh with black color
 
        createVertexBuffer(vk, vkDevice, queueFamilyIndex, memAlloc, m_vertices, m_vertexBuffer, m_vertexBufferAlloc);
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
        if (testParams.dynamicDensityMap)
-#endif
                createVertexBuffer(vk, vkDevice, queueFamilyIndex, memAlloc, m_verticesDDM, m_vertexBufferDDM, m_vertexBufferAllocDDM);
        createVertexBuffer(vk, vkDevice, queueFamilyIndex, memAlloc, m_verticesOutput, m_vertexBufferOutput, m_vertexBufferOutputAlloc);
 
@@ -1342,24 +1612,21 @@ FragmentDensityMapTestInstance::FragmentDensityMapTestInstance(Context&                 contex
        m_cmdPool       = createCommandPool(vk, vkDevice, VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, queueFamilyIndex);
        m_cmdBuffer = allocateCommandBuffer(vk, vkDevice, *m_cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
-       const typename                          RenderpassSubpass2::SubpassBeginInfo    subpassBeginInfo(DE_NULL, VK_SUBPASS_CONTENTS_INLINE);
-       const typename                          RenderpassSubpass2::SubpassEndInfo              subpassEndInfo(DE_NULL);
-       const                                           VkDeviceSize                                                    vertexBufferOffset = 0;
-       std::vector<VkClearValue>       attachmentClearValuesDDM                                = { makeClearValueColorF32(1.0f, 1.0f, 1.0f, 1.0f) };
-       std::vector<VkClearValue>       attachmentClearValues                                   = { makeClearValueColorF32(0.0f, 0.0f, 0.0f, 1.0f) };
-       if (testParams.colorSamples != VK_SAMPLE_COUNT_1_BIT)
-               attachmentClearValues.push_back(makeClearValueColorF32(0.0f, 0.0f, 0.0f, 1.0f));
-       if (testParams.makeCopy)
-               attachmentClearValues.push_back(makeClearValueColorF32(0.0f, 0.0f, 0.0f, 1.0f));
+       typedef RenderpassSubpass2 RPS2;
+       const typename RPS2::SubpassBeginInfo   subpassBeginInfo                (DE_NULL, VK_SUBPASS_CONTENTS_INLINE);
+       const typename RPS2::SubpassEndInfo             subpassEndInfo                  (DE_NULL);
+       const VkDeviceSize                                              vertexBufferOffset              = 0;
+       const VkClearValue                                              attachmentClearValue    = makeClearValueColorF32(0.0f, 0.0f, 0.0f, 1.0f);
+       const deUint32                                                  attachmentCount                 = 1 + testParams.makeCopy + isColorImageMultisampled;
+       const std::vector<VkClearValue>                 attachmentClearValues   (attachmentCount, attachmentClearValue);
 
        beginCommandBuffer(vk, *m_cmdBuffer, 0u);
 
-       // first render pass - render dynamic density map
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
-       if ( testParams.dynamicDensityMap )
-#endif
+       // First render pass - render dynamic density map
+       if (testParams.dynamicDensityMap)
        {
-               const VkRenderPassBeginInfo renderPassBeginInfoProduceDynamicDensityMap =
+               std::vector<VkClearValue>       attachmentClearValuesDDM { makeClearValueColorF32(1.0f, 1.0f, 1.0f, 1.0f) };
+               const VkRenderPassBeginInfo renderPassBeginInfoProduceDynamicDensityMap
                {
                        VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,                                                       // VkStructureType              sType;
                        DE_NULL,                                                                                                                        // const void*                  pNext;
@@ -1369,68 +1636,93 @@ FragmentDensityMapTestInstance::FragmentDensityMapTestInstance(Context&                 contex
                        static_cast<deUint32>(attachmentClearValuesDDM.size()),                         // uint32_t                             clearValueCount;
                        attachmentClearValuesDDM.data()                                                                         // const VkClearValue*  pClearValues;
                };
-               RenderpassSubpass2::cmdBeginRenderPass(vk, *m_cmdBuffer, &renderPassBeginInfoProduceDynamicDensityMap, &subpassBeginInfo);
+               RPS2::cmdBeginRenderPass(vk, *m_cmdBuffer, &renderPassBeginInfoProduceDynamicDensityMap, &subpassBeginInfo);
                vk.cmdBindPipeline(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_graphicsPipelineProduceDynamicDensityMap);
                vk.cmdBindVertexBuffers(*m_cmdBuffer, 0, 1, &m_vertexBufferDDM.get(), &vertexBufferOffset);
                vk.cmdDraw(*m_cmdBuffer, (deUint32)m_verticesDDM.size(), 1, 0, 0);
-               RenderpassSubpass2::cmdEndRenderPass(vk, *m_cmdBuffer, &subpassEndInfo);
+               RPS2::cmdEndRenderPass(vk, *m_cmdBuffer, &subpassEndInfo);
        }
 
-       // render subsampled image
-       const VkRenderPassBeginInfo renderPassBeginInfoProduceSubsampledImage =
+       // Render subsampled image
+       const VkRenderPassBeginInfo renderPassBeginInfoProduceSubsampledImage
        {
                VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,                                               // VkStructureType              sType;
                DE_NULL,                                                                                                                // const void*                  pNext;
                *m_renderPassProduceSubsampledImage,                                                    // VkRenderPass                 renderPass;
                *m_framebufferProduceSubsampledImage,                                                   // VkFramebuffer                framebuffer;
-               makeRect2D(colorMapImageSize.width, colorMapImageSize.height),  // VkRect2D                             renderArea;
+               makeRect2D(colorImageSize.width, colorImageSize.height),                // VkRect2D                             renderArea;
                static_cast<deUint32>(attachmentClearValues.size()),                    // uint32_t                             clearValueCount;
                attachmentClearValues.data()                                                                    // const VkClearValue*  pClearValues;
        };
-
-       RenderpassSubpass2::cmdBeginRenderPass(vk, *m_cmdBuffer, &renderPassBeginInfoProduceSubsampledImage, &subpassBeginInfo);
+       RPS2::cmdBeginRenderPass(vk, *m_cmdBuffer, &renderPassBeginInfoProduceSubsampledImage, &subpassBeginInfo);
        vk.cmdBindPipeline(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_graphicsPipelineProduceSubsampledImage);
        vk.cmdBindVertexBuffers(*m_cmdBuffer, 0, 1, &m_vertexBuffer.get(), &vertexBufferOffset);
        vk.cmdDraw(*m_cmdBuffer, (deUint32)m_vertices.size(), 1, 0, 0);
        if (testParams.makeCopy)
        {
-               RenderpassSubpass2::cmdNextSubpass(vk, *m_cmdBuffer, &subpassBeginInfo, &subpassEndInfo);
+               RPS2::cmdNextSubpass(vk, *m_cmdBuffer, &subpassBeginInfo, &subpassEndInfo);
                vk.cmdBindPipeline(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_graphicsPipelineCopySubsampledImage);
-               vk.cmdBindDescriptorSets(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipelineLayoutCopySubsampledImage, 0, 1, &m_descriptorSetCopySubsampledImage.get(), 0, DE_NULL);
+               vk.cmdBindDescriptorSets(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipelineLayoutOperateOnSubsampledImage, 0, 1, &m_descriptorSetOperateOnSubsampledImage.get(), 0, DE_NULL);
                vk.cmdBindVertexBuffers(*m_cmdBuffer, 0, 1, &m_vertexBuffer.get(), &vertexBufferOffset);
                vk.cmdDraw(*m_cmdBuffer, (deUint32)m_vertices.size(), 1, 0, 0);
        }
-       RenderpassSubpass2::cmdEndRenderPass(vk, *m_cmdBuffer, &subpassEndInfo);
+       RPS2::cmdEndRenderPass(vk, *m_cmdBuffer, &subpassEndInfo);
 
-       // copy subsampled image to ordinary image using sampler that is able to read from subsampled images( subsampled image cannot be copied using vkCmdCopyImageToBuffer )
-       const VkRenderPassBeginInfo renderPassBeginInfoOutputSubsampledImage =
+       // Resample subsampled image
+       if (testParams.subsampledLoads)
+       {
+               const VkRenderPassBeginInfo renderPassBeginInfoUpdateSubsampledImage
+               {
+                       VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,                                       // VkStructureType              sType;
+                       DE_NULL,                                                                                                        // const void*                  pNext;
+                       *m_renderPassUpdateSubsampledImage,                                                     // VkRenderPass                 renderPass;
+                       *m_framebufferUpdateSubsampledImage,                                            // VkFramebuffer                framebuffer;
+                       makeRect2D(colorImageSize.width, colorImageSize.height),        // VkRect2D                             renderArea;
+                       0u,                                                                                                                     // uint32_t                             clearValueCount;
+                       DE_NULL                                                                                                         // const VkClearValue*  pClearValues;
+               };
+               RPS2::cmdBeginRenderPass(vk, *m_cmdBuffer, &renderPassBeginInfoUpdateSubsampledImage, &subpassBeginInfo);
+               vk.cmdBindPipeline(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_graphicsPipelineUpdateSubsampledImage);
+               vk.cmdBindDescriptorSets(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipelineLayoutOperateOnSubsampledImage, 0, 1, &m_descriptorSetOperateOnSubsampledImage.get(), 0, DE_NULL);
+               vk.cmdBindVertexBuffers(*m_cmdBuffer, 0, 1, &m_vertexBuffer.get(), &vertexBufferOffset);
+               vk.cmdDraw(*m_cmdBuffer, (deUint32)m_vertices.size(), 1, 0, 0);
+               RPS2::cmdEndRenderPass(vk, *m_cmdBuffer, &subpassEndInfo);
+       }
+
+       // Copy subsampled image to normal image using sampler that is able to read from subsampled images
+       // (subsampled image cannot be copied using vkCmdCopyImageToBuffer)
+       const VkRenderPassBeginInfo renderPassBeginInfoOutputSubsampledImage
        {
                VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,                                                       // VkStructureType              sType;
                DE_NULL,                                                                                                                        // const void*                  pNext;
                *m_renderPassOutputSubsampledImage,                                                                     // VkRenderPass                 renderPass;
                *m_framebufferOutputSubsampledImage,                                                            // VkFramebuffer                framebuffer;
-               makeRect2D(outputMapImageSize.width, outputMapImageSize.height),        // VkRect2D                             renderArea;
+               makeRect2D(outputImageSize.width, outputImageSize.height),                      // VkRect2D                             renderArea;
                static_cast<deUint32>(attachmentClearValues.size()),                            // uint32_t                             clearValueCount;
                attachmentClearValues.data()                                                                            // const VkClearValue*  pClearValues;
        };
-       RenderpassSubpass2::cmdBeginRenderPass(vk, *m_cmdBuffer, &renderPassBeginInfoOutputSubsampledImage, &subpassBeginInfo);
+       RPS2::cmdBeginRenderPass(vk, *m_cmdBuffer, &renderPassBeginInfoOutputSubsampledImage, &subpassBeginInfo);
        vk.cmdBindPipeline(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_graphicsPipelineOutputSubsampledImage);
        vk.cmdBindDescriptorSets(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipelineLayoutOutputSubsampledImage, 0, 1, &m_descriptorSetOutputSubsampledImage.get(), 0, DE_NULL);
        vk.cmdBindVertexBuffers(*m_cmdBuffer, 0, 1, &m_vertexBufferOutput.get(), &vertexBufferOffset);
        vk.cmdDraw(*m_cmdBuffer, (deUint32)m_verticesOutput.size(), 1, 0, 0);
-       RenderpassSubpass2::cmdEndRenderPass(vk, *m_cmdBuffer, &subpassEndInfo);
+       RPS2::cmdEndRenderPass(vk, *m_cmdBuffer, &subpassEndInfo);
 
        endCommandBuffer(vk, *m_cmdBuffer);
 }
 
 tcu::TestStatus FragmentDensityMapTestInstance::iterate (void)
 {
-       const DeviceInterface&          vk                      = m_context.getDeviceInterface();
-       const VkDevice                          vkDevice        = m_context.getDevice();
-       const VkQueue                           queue           = m_context.getUniversalQueue();
+       const DeviceInterface&  vk                      = m_context.getDeviceInterface();
+       const VkDevice                  vkDevice        = m_context.getDevice();
+       const VkQueue                   queue           = m_context.getUniversalQueue();
 
        submitCommandsAndWait(vk, vkDevice, queue, m_cmdBuffer.get());
 
+       // approximations used when coarse reconstruction is specified are implementation defined
+       if (m_testParams.coarseReconstruction)
+               return tcu::TestStatus::pass("Pass");
+
        return verifyImage();
 }
 
@@ -1450,43 +1742,41 @@ struct Vec4Sorter
 
 tcu::TestStatus FragmentDensityMapTestInstance::verifyImage (void)
 {
-       const DeviceInterface&                          vk                                              = m_context.getDeviceInterface();
-       const VkDevice                                          vkDevice                                = m_context.getDevice();
-       const VkQueue                                           queue                                   = m_context.getUniversalQueue();
-       const deUint32                                          queueFamilyIndex                = m_context.getUniversalQueueFamilyIndex();
-       SimpleAllocator                                         memAlloc                                (vk, vkDevice, getPhysicalDeviceMemoryProperties(m_context.getInstanceInterface(), m_context.getPhysicalDevice()));
-       tcu::UVec2                                                      renderSize                              { m_testParams.renderSize.x(), m_testParams.renderSize.y() };
-       de::UniquePtr<tcu::TextureLevel>        outputImage                             (pipeline::readColorAttachment(vk, vkDevice, queue, queueFamilyIndex, memAlloc, *m_outputImage, VK_FORMAT_R8G8B8A8_UNORM, renderSize).release());
-       const tcu::ConstPixelBufferAccess&      outputAccess                    = outputImage->getAccess();
-       tcu::TestLog&                                           log                                             = m_context.getTestContext().getLog();
-
-       // log images
+       const DeviceInterface&                          vk                                      = m_context.getDeviceInterface();
+       const VkDevice                                          vkDevice                        = m_context.getDevice();
+       const VkQueue                                           queue                           = m_context.getUniversalQueue();
+       const deUint32                                          queueFamilyIndex        = m_context.getUniversalQueueFamilyIndex();
+       SimpleAllocator                                         memAlloc                        (vk, vkDevice, getPhysicalDeviceMemoryProperties(m_context.getInstanceInterface(), m_context.getPhysicalDevice()));
+       tcu::UVec2                                                      renderSize                      (m_renderSize.x(), m_renderSize.y());
+       de::UniquePtr<tcu::TextureLevel>        outputImage                     (pipeline::readColorAttachment(vk, vkDevice, queue, queueFamilyIndex, memAlloc, *m_outputImage, VK_FORMAT_R8G8B8A8_UNORM, renderSize).release());
+       const tcu::ConstPixelBufferAccess&      outputAccess            (outputImage->getAccess());
+       tcu::TestLog&                                           log                                     (m_context.getTestContext().getLog());
+
+       // Log images
        log << tcu::TestLog::ImageSet("Result", "Result images")
                << tcu::TestLog::Image("Rendered", "Rendered output image", outputAccess)
                << tcu::TestLog::EndImageSet;
 
-       deUint32 colorCountCoeff = m_testParams.multiView ? 2u : 1u;
-#if !DRY_RUN_WITHOUT_FDM_EXTENSION
-       deUint32 estimatedColorCount = colorCountCoeff * m_testParams.fragmentArea.x() * m_testParams.fragmentArea.y();
-#else
-       deUint32 estimatedColorCount = colorCountCoeff;
+       deUint32        estimatedColorCount     = m_testParams.viewCount * m_testParams.fragmentArea.x() * m_testParams.fragmentArea.y();
+       float           densityMult                     = m_densityValue.x() * m_densityValue.y();
+
+#if DRY_RUN_WITHOUT_FDM_EXTENSION
+       estimatedColorCount = m_testParams.viewCount + 2;
+       densityMult                     = 0.0f;
 #endif
-       tcu::Vec2 density{
-               1.0f / static_cast<float>(m_testParams.fragmentArea.x()),
-               1.0f / static_cast<float>(m_testParams.fragmentArea.y())
-       };
-       float densityMult = density.x() * density.y();
 
-       // create histogram of all image colors, check the value of inverted FragSizeEXT
+       // Create histogram of all image colors, check the value of inverted FragSizeEXT
        std::map<tcu::Vec4, deUint32, Vec4Sorter> colorCount;
        for (int y = 0; y < outputAccess.getHeight(); y++)
        {
                for (int x = 0; x < outputAccess.getWidth(); x++)
                {
-                       tcu::Vec4 outputColor   = outputAccess.getPixel(x, y);
-                       float densityClamped    = outputColor.z() * outputColor.w();
+                       tcu::Vec4       outputColor             = outputAccess.getPixel(x, y);
+                       float           densityClamped  = outputColor.z() * outputColor.w();
+
                        if ((densityClamped + 0.01) < densityMult)
                                return tcu::TestStatus::fail("Wrong value of FragSizeEXT variable");
+
                        auto it = colorCount.find(outputColor);
                        if (it == end(colorCount))
                                it = colorCount.insert({ outputColor, 0u }).first;
@@ -1494,7 +1784,7 @@ tcu::TestStatus FragmentDensityMapTestInstance::verifyImage (void)
                }
        }
 
-       // check if color count is the same as estimated one
+       // Check if color count is the same as estimated one
        for (const auto& color : colorCount)
        {
                if (color.second > estimatedColorCount)
@@ -1508,22 +1798,24 @@ tcu::TestStatus FragmentDensityMapTestInstance::verifyImage (void)
 
 tcu::TestCaseGroup* createFragmentDensityMapTests (tcu::TestContext& testCtx)
 {
-       de::MovePtr<tcu::TestCaseGroup>         fdmTests                (new tcu::TestCaseGroup(testCtx, "fragment_density_map", "VK_EXT_fragment_density_map extension tests"));
+       de::MovePtr<tcu::TestCaseGroup> fdmTests(new tcu::TestCaseGroup(testCtx, "fragment_density_map", "VK_EXT_fragment_density_map and VK_EXT_fragment_density_map2 extensions tests"));
 
        const struct
        {
-               std::string                             name;
-               bool                                    multiview;
+               std::string             name;
+               deUint32                viewCount;
        } views[] =
        {
-               { "single_view",        false },
-               { "multi_view",         true }
+               { "1_view",             1 },
+               { "2_views",    2 },
+               { "4_views",    4 },
+               { "6_views",    6 },
        };
 
        const struct
        {
-               std::string                             name;
-               bool                                    makeCopy;
+               std::string                     name;
+               bool                            makeCopy;
        } renders[] =
        {
                { "render",                     false },
@@ -1532,8 +1824,8 @@ tcu::TestCaseGroup* createFragmentDensityMapTests (tcu::TestContext& testCtx)
 
        const struct
        {
-               std::string                             name;
-               float                                   renderSizeToDensitySize;
+               std::string             name;
+               float                   renderSizeToDensitySize;
        } sizes[] =
        {
                { "divisible_density_size",             4.0f },
@@ -1561,24 +1853,56 @@ tcu::TestCaseGroup* createFragmentDensityMapTests (tcu::TestContext& testCtx)
 
        for (const auto& view : views)
        {
-               de::MovePtr<tcu::TestCaseGroup>         viewGroup(new tcu::TestCaseGroup(testCtx, view.name.c_str(), ""));
+               de::MovePtr<tcu::TestCaseGroup> viewGroup(new tcu::TestCaseGroup(testCtx, view.name.c_str(), ""));
                for (const auto& render : renders)
                {
-                       de::MovePtr<tcu::TestCaseGroup>         renderGroup(new tcu::TestCaseGroup(testCtx, render.name.c_str(), ""));
+                       de::MovePtr<tcu::TestCaseGroup> renderGroup(new tcu::TestCaseGroup(testCtx, render.name.c_str(), ""));
                        for (const auto& size : sizes)
                        {
-                               de::MovePtr<tcu::TestCaseGroup>         sizeGroup(new tcu::TestCaseGroup(testCtx, size.name.c_str(), ""));
+                               de::MovePtr<tcu::TestCaseGroup> sizeGroup(new tcu::TestCaseGroup(testCtx, size.name.c_str(), ""));
                                for (const auto& sample : samples)
                                {
-                                       de::MovePtr<tcu::TestCaseGroup>         sampleGroup(new tcu::TestCaseGroup(testCtx, sample.name.c_str(), ""));
+                                       de::MovePtr<tcu::TestCaseGroup> sampleGroup(new tcu::TestCaseGroup(testCtx, sample.name.c_str(), ""));
                                        for (const auto& area : fragmentArea)
                                        {
                                                std::stringstream str;
                                                str << "_" << area.x() << "_" << area.y();
-                                               sampleGroup->addChild(new FragmentDensityMapTest(testCtx, std::string("static_subsampled") + str.str(), "", TestParams(false, false, view.multiview, render.makeCopy, size.renderSizeToDensitySize, sample.samples, area)));
-                                               sampleGroup->addChild(new FragmentDensityMapTest(testCtx, std::string("dynamic_subsampled") + str.str(), "", TestParams(true, false, view.multiview, render.makeCopy, size.renderSizeToDensitySize, sample.samples, area)));
-                                               sampleGroup->addChild(new FragmentDensityMapTest(testCtx, std::string("static_nonsubsampled") + str.str(), "", TestParams(false, true, view.multiview, render.makeCopy, size.renderSizeToDensitySize, sample.samples, area)));
-                                               sampleGroup->addChild(new FragmentDensityMapTest(testCtx, std::string("dynamic_nonsubsampled") + str.str(), "", TestParams(true, true, view.multiview, render.makeCopy, size.renderSizeToDensitySize, sample.samples, area)));
+
+                                               TestParams params
+                                               {
+                                                       false,                                                  // bool                                         dynamicDensityMap;
+                                                       false,                                                  // bool                                         deferredDensityMap;
+                                                       false,                                                  // bool                                         nonSubsampledImages;
+                                                       false,                                                  // bool                                         subsampledLoads;
+                                                       false,                                                  // bool                                         coarseReconstruction;
+                                                       1,                                                              // deUint32                                     samplersCount;
+                                                       view.viewCount,                                 // deUint32                                     viewCount;
+                                                       render.makeCopy,                                // bool                                         makeCopy;
+                                                       size.renderSizeToDensitySize,   // float                                        renderMultiplier;
+                                                       sample.samples,                                 // VkSampleCountFlagBits        colorSamples;
+                                                       area,                                                   // tcu::UVec2                           fragmentArea;
+                                                       { 16, 16 },                                             // tcu::UVec2                           densityMapSize;
+                                                       VK_FORMAT_R8G8_UNORM                    // VkFormat                                     densityMapFormat;
+                                               };
+
+                                               sampleGroup->addChild(new FragmentDensityMapTest(testCtx, std::string("static_subsampled") + str.str(), "", params));
+                                               params.deferredDensityMap       = true;
+                                               sampleGroup->addChild(new FragmentDensityMapTest(testCtx, std::string("deferred_subsampled") + str.str(), "", params));
+                                               params.deferredDensityMap       = false;
+                                               params.dynamicDensityMap        = true;
+                                               sampleGroup->addChild(new FragmentDensityMapTest(testCtx, std::string("dynamic_subsampled") + str.str(), "", params));
+
+                                               // generate nonsubsampled tests just for single view and double view cases
+                                               if (view.viewCount < 3)
+                                               {
+                                                       params.nonSubsampledImages      = true;
+                                                       sampleGroup->addChild(new FragmentDensityMapTest(testCtx, std::string("static_nonsubsampled") + str.str(), "", params));
+                                                       params.deferredDensityMap       = true;
+                                                       sampleGroup->addChild(new FragmentDensityMapTest(testCtx, std::string("deferred_nonsubsampled") + str.str(), "", params));
+                                                       params.deferredDensityMap       = false;
+                                                       params.dynamicDensityMap        = true;
+                                                       sampleGroup->addChild(new FragmentDensityMapTest(testCtx, std::string("dynamic_nonsubsampled") + str.str(), "", params));
+                                               }
                                        }
                                        sizeGroup->addChild(sampleGroup.release());
                                }
@@ -1588,6 +1912,62 @@ tcu::TestCaseGroup* createFragmentDensityMapTests (tcu::TestContext& testCtx)
                }
                fdmTests->addChild(viewGroup.release());
        }
+
+       const struct
+       {
+               std::string             name;
+               deUint32                count;
+       } subsampledSamplers[] =
+       {
+               { "2_subsampled_samplers",      2 },
+               { "4_subsampled_samplers",      4 },
+               { "6_subsampled_samplers",      6 },
+               { "8_subsampled_samplers",      8 }
+       };
+
+       de::MovePtr<tcu::TestCaseGroup> propertiesGroup(new tcu::TestCaseGroup(testCtx, "properties", ""));
+       for (const auto& sampler : subsampledSamplers)
+       {
+               TestParams params
+               {
+                       false,                                                  // bool                                         dynamicDensityMap;
+                       false,                                                  // bool                                         deferredDensityMap;
+                       false,                                                  // bool                                         nonSubsampledImages;
+                       false,                                                  // bool                                         subsampledLoads;
+                       false,                                                  // bool                                         coarseReconstruction;
+                       sampler.count,                                  // deUint32                                     samplersCount;
+                       1,                                                              // deUint32                                     viewCount;
+                       false,                                                  // bool                                         makeCopy;
+                       4.0f,                                                   // float                                        renderMultiplier;
+                       VK_SAMPLE_COUNT_1_BIT,                  // VkSampleCountFlagBits        colorSamples;
+                       {  2,  2 },                                             // tcu::UVec2                           fragmentArea;
+                       { 16, 16 },                                             // tcu::UVec2                           densityMapSize;
+                       VK_FORMAT_R8G8_UNORM                    // VkFormat                                     densityMapFormat;
+               };
+               propertiesGroup->addChild(new FragmentDensityMapTest(testCtx, sampler.name, "", params));
+       }
+       TestParams params
+       {
+               false,                                                  // bool                                         dynamicDensityMap;
+               false,                                                  // bool                                         deferredDensityMap;
+               false,                                                  // bool                                         nonSubsampledImages;
+               true,                                                   // bool                                         subsampledLoads;
+               false,                                                  // bool                                         coarseReconstruction;
+               1,                                                              // deUint32                                     samplersCount;
+               2,                                                              // deUint32                                     viewCount;
+               false,                                                  // bool                                         makeCopy;
+               4.0f,                                                   // float                                        renderMultiplier;
+               VK_SAMPLE_COUNT_1_BIT,                  // VkSampleCountFlagBits        colorSamples;
+               {  1,  2 },                                             // tcu::UVec2                           fragmentArea;
+               { 16, 16 },                                             // tcu::UVec2                           densityMapSize;
+               VK_FORMAT_R8G8_UNORM                    // VkFormat                                     densityMapFormat;
+       };
+       propertiesGroup->addChild(new FragmentDensityMapTest(testCtx, "subsampled_loads", "", params));
+       params.subsampledLoads          = false;
+       params.coarseReconstruction     = true;
+       propertiesGroup->addChild(new FragmentDensityMapTest(testCtx, "subsampled_coarse_reconstruction", "", params));
+       fdmTests->addChild(propertiesGroup.release());
+
        return fdmTests.release();
 }
 
index f1eec1a..0aee652 100644 (file)
@@ -431293,390 +431293,876 @@ dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_64.d32_sfloat
 dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_64.d32_sfloat_s8_uint_separate_layouts.stencil_max
 dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_64.d32_sfloat_s8_uint_separate_layouts.depth_max_unused_resolve
 dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_64.d32_sfloat_s8_uint_separate_layouts.stencil_max_unused_resolve
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.single_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
-dEQP-VK.renderpass2.fragment_density_map.multi_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.1_view.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.1_sample.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.2_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.4_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.static_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.deferred_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.2_views.render_copy.non_divisible_density_size.8_samples.dynamic_nonsubsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.4_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.1_sample.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.2_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.4_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_1_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_1
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.static_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.deferred_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.6_views.render_copy.non_divisible_density_size.8_samples.dynamic_subsampled_2_2
+dEQP-VK.renderpass2.fragment_density_map.properties.2_subsampled_samplers
+dEQP-VK.renderpass2.fragment_density_map.properties.4_subsampled_samplers
+dEQP-VK.renderpass2.fragment_density_map.properties.6_subsampled_samplers
+dEQP-VK.renderpass2.fragment_density_map.properties.8_subsampled_samplers
+dEQP-VK.renderpass2.fragment_density_map.properties.subsampled_loads
+dEQP-VK.renderpass2.fragment_density_map.properties.subsampled_coarse_reconstruction
 dEQP-VK.ubo.2_level_array.std140.float.vertex
 dEQP-VK.ubo.2_level_array.std140.float.fragment
 dEQP-VK.ubo.2_level_array.std140.float.both
index 3d52a00..973b554 100644 (file)
@@ -637,6 +637,8 @@ def parseDefinitions (extensionName, src):
                extNameUpper = extensionName.upper()
                extNameUpper = extNameUpper.replace("VK_INTEL_SHADER_INTEGER_FUNCTIONS2", "VK_INTEL_SHADER_INTEGER_FUNCTIONS_2")
                extNameUpper = extNameUpper.replace("VK_EXT_ROBUSTNESS2", "VK_EXT_ROBUSTNESS_2")
+               extNameUpper = extNameUpper.replace("VK_EXT_FRAGMENT_DENSITY_MAP2", "VK_EXT_FRAGMENT_DENSITY_MAP_2")
+               extNameUpper = extNameUpper.replace("VK_AMD_SHADER_CORE_PROPERTIES2", "VK_AMD_SHADER_CORE_PROPERTIES_2")
                # SPEC_VERSION enums
                if definition[0].startswith(extNameUpper) and definition[1].isdigit():
                        return False
@@ -1618,17 +1620,27 @@ def writeDeviceFeatures2(api, filename):
                'VkPhysicalDeviceBufferDeviceAddressFeaturesEXT',
                'VkPhysicalDeviceBufferDeviceAddressFeatures',
                'VkPhysicalDeviceDescriptorIndexingFeatures',
-               'VkPhysicalDeviceTimelineSemaphoreFeatures'
+               'VkPhysicalDeviceTimelineSemaphoreFeatures',
+               'VkPhysicalDeviceFragmentDensityMapFeaturesEXT',
+               'VkPhysicalDeviceFragmentDensityMapFeatures2EXT'
        ]
        # helper class used to encapsulate all data needed during generation
        class StructureDetail:
                def __init__ (self, name):
-                       nameResult                      = re.search('(.*)Features(.*)', name[len('VkPhysicalDevice'):])
-                       nameSplit                       = re.findall(r'[1-9A-Z]+(?:[a-z1-9]+|[A-Z]*(?=[A-Z]|$))', nameResult.group(1))
-                       nameSplitUp                     = map(str.upper, nameSplit)
-                       postfix                         = '' if (len(nameResult.group(2)) == 0) else '_' + nameResult.group(2)
+                       nameResult              = re.search('(.*)Features(.*)', name[len('VkPhysicalDevice'):])
+                       nameSplit               = re.findall(r'[1-9A-Z]+(?:[a-z1-9]+|[A-Z]*(?=[A-Z]|$))', nameResult.group(1))
+                       nameSplitUp             = map(str.upper, nameSplit)
+                       nameSplitUp             = list(nameSplitUp) + ['FEATURES']
+                       # check if there is no extension suffix
+                       if (len(nameResult.group(2)) != 0):
+                               # handle cases like VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_2_EXT
+                               suffixWithDigit = re.match(r'(\d+)(\w+)', nameResult.group(2))
+                               if suffixWithDigit == None:
+                                       nameSplitUp.append(nameResult.group(2))
+                               else:
+                                       nameSplitUp.extend([suffixWithDigit.group(1), suffixWithDigit.group(2)])
                        self.name                       = name
-                       self.sType                      = 'VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_' + '_'.join(nameSplitUp) + '_FEATURES' + postfix
+                       self.sType                      = 'VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_' + '_'.join(nameSplitUp)
                        self.instanceName       = 'd' + name[11:]
                        self.flagName           = 'is' + name[16:]
                        self.extension          = None
@@ -1744,8 +1756,16 @@ def generateDeviceFeaturesDefs(src):
        # construct final list
        defs = []
        for sType, sSuffix in matches:
+               # there are cases like VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_2_EXT
+               # where 2 is after FEATURES - to handle this we need to split suffix to two parts
+               sVerSuffix = ''
+               sExtSuffix = sSuffix
+               suffixStart = sSuffix.rfind('_')
+               if suffixStart > 0:
+                       sVerSuffix = sSuffix[:suffixStart]
+                       sExtSuffix = sSuffix[suffixStart:]
                structName                      = re.sub("[_0-9][a-z]", lambda match: match.group(0).upper(), sType.capitalize()).replace('_', '')
-               ptrnStructName          = r'\s*typedef\s+struct\s+(VkPhysicalDevice' + structName + 'Features' + sSuffix[1:] + ')'
+               ptrnStructName          = r'\s*typedef\s+struct\s+(VkPhysicalDevice' + structName + 'Features' + sSuffix.replace('_', '') + ')'
                matchStructName         = re.search(ptrnStructName, src, re.IGNORECASE)
                if matchStructName:
                        # handle special cases
@@ -1753,19 +1773,17 @@ def generateDeviceFeaturesDefs(src):
                                sType = "SCISSOR_EXCLUSIVE"
                        elif sType == "ASTC_DECODE":
                                sType = "ASTC_DECODE_MODE"
-                       elif sType == "TEXTURE_COMPRESSION_ASTC_HDR":
-                               continue # skip due to const pNext
                        if sType in {'VULKAN_1_1', 'VULKAN_1_2'}:
                                continue
                        # end handling special cases
-                       ptrnExtensionName       = r'^\s*#define\s+(\w+' + sSuffix + '_' + sType + '_EXTENSION_NAME).+$'
+                       ptrnExtensionName       = r'^\s*#define\s+(\w+' + sExtSuffix + '_' + sType + sVerSuffix + '_EXTENSION_NAME).+$'
                        matchExtensionName      = re.search(ptrnExtensionName, src, re.M)
-                       ptrnSpecVersion         = r'^\s*#define\s+(\w+' + sSuffix + '_' + sType + '_SPEC_VERSION).+$'
+                       ptrnSpecVersion         = r'^\s*#define\s+(\w+' + sExtSuffix + '_' + sType + sVerSuffix + '_SPEC_VERSION).+$'
                        matchSpecVersion        = re.search(ptrnSpecVersion, src, re.M)
-                       defs.append( (sType, sSuffix, matchStructName.group(1), \
+                       defs.append( (sType, sVerSuffix, sExtSuffix, matchStructName.group(1), \
                                                        matchExtensionName.group(0)     if matchExtensionName   else None,
                                                        matchExtensionName.group(1)     if matchExtensionName   else None,
-                                                       matchSpecVersion.group  (1)     if matchSpecVersion             else '0') )
+                                                       matchSpecVersion.group(1)       if matchSpecVersion             else '0') )
        return defs
 
 def generateDevicePropertiesDefs(src):
@@ -1782,10 +1800,19 @@ def generateDevicePropertiesDefs(src):
                # skip VkPhysicalDeviceMemoryBudgetPropertiesEXT
                if sType == "MEMORY_BUDGET":
                        continue
+               # there are cases like VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_2_EXT
+               # where 2 is after PROPERTIES - to handle this we need to split suffix to two parts
+               sVerSuffix = ''
+               sExtSuffix = sSuffix
+               suffixStart = sSuffix.rfind('_')
+               if suffixStart > 0:
+                       sVerSuffix = sSuffix[:suffixStart]
+                       sExtSuffix = sSuffix[suffixStart:]
                structName                      = re.sub("[_0-9][a-z]", lambda match: match.group(0).upper(), sType.capitalize()).replace('_', '')
-               ptrnStructName          = r'\s*typedef\s+struct\s+(VkPhysicalDevice' + structName + 'Properties' + sSuffix[1:] + ')'
+               ptrnStructName          = r'\s*typedef\s+struct\s+(VkPhysicalDevice' + structName + 'Properties' + sSuffix.replace('_', '') + ')'
                matchStructName         = re.search(ptrnStructName, src, re.M)
                if matchStructName:
+                       # handle special cases
                        if sType in {'VULKAN_1_1', 'VULKAN_1_2'}:
                                continue
                        extType = sType
@@ -1793,12 +1820,14 @@ def generateDevicePropertiesDefs(src):
                                extType = "MAINTENANCE3"
                        elif extType == "DISCARD_RECTANGLE":
                                extType = "DISCARD_RECTANGLES"
+                       elif extType == "SHADER_CORE":
+                               extType = "SHADER_CORE_PROPERTIES"
                        # end handling special cases
-                       ptrnExtensionName       = r'^\s*#define\s+(\w+' + sSuffix + '_' + extType + '_EXTENSION_NAME).+$'
+                       ptrnExtensionName       = r'^\s*#define\s+(\w+' + sExtSuffix + '_' + extType + sVerSuffix + '[_0-9]*_EXTENSION_NAME).+$'
                        matchExtensionName      = re.search(ptrnExtensionName, src, re.M)
-                       ptrnSpecVersion         = r'^\s*#define\s+(\w+' + sSuffix + '_' + extType + '_SPEC_VERSION).+$'
+                       ptrnSpecVersion         = r'^\s*#define\s+(\w+' + sExtSuffix + '_' + extType + sVerSuffix + '[_0-9]*_SPEC_VERSION).+$'
                        matchSpecVersion        = re.search(ptrnSpecVersion, src, re.M)
-                       defs.append( (sType, sSuffix, matchStructName.group(1), \
+                       defs.append( (sType, sVerSuffix, sExtSuffix, matchStructName.group(1), \
                                                        matchExtensionName.group(0)     if matchExtensionName   else None,
                                                        matchExtensionName.group(1)     if matchExtensionName   else None,
                                                        matchSpecVersion.group  (1)     if matchSpecVersion             else '0') )
@@ -1809,7 +1838,7 @@ def writeDeviceFeatures(api, dfDefs, filename):
        # and construct dictionary with all of their attributes
        blobMembers = {}
        blobStructs = {}
-       blobPattern = re.compile("^VkPhysicalDeviceVulkan([1-9][0-9])Features$")
+       blobPattern = re.compile("^VkPhysicalDeviceVulkan([1-9][0-9])Features[0-9]*$")
        for structureType in api.compositeTypes:
                match = blobPattern.match(structureType.name)
                if match:
@@ -1820,8 +1849,8 @@ def writeDeviceFeatures(api, dfDefs, filename):
        initFromBlobDefinitions = []
        emptyInitDefinitions = []
        # iterate over all feature structures
-       allFeaturesPattern = re.compile("^VkPhysicalDevice\w+Features")
-       nonExtFeaturesPattern = re.compile("^VkPhysicalDevice\w+Features$")
+       allFeaturesPattern = re.compile("^VkPhysicalDevice\w+Features[1-9]*")
+       nonExtFeaturesPattern = re.compile("^VkPhysicalDevice\w+Features[1-9]*$")
        for structureType in api.compositeTypes:
                # skip structures that are not feature structures
                if not allFeaturesPattern.match(structureType.name):
@@ -1864,10 +1893,10 @@ def writeDeviceFeatures(api, dfDefs, filename):
        extensionDefines = []
        makeFeatureDescDefinitions = []
        featureStructWrappers = []
-       for idx, (sType, sSuffix, extStruct, extLine, extName, specVer) in enumerate(dfDefs):
+       for idx, (sType, sVerSuffix, sExtSuffix, extStruct, extLine, extName, specVer) in enumerate(dfDefs):
                extensionNameDefinition = extName
                if not extensionNameDefinition:
-                       extensionNameDefinition = 'DECL{0}_{1}_EXTENSION_NAME'.format((sSuffix if sSuffix else ''), sType)
+                       extensionNameDefinition = 'DECL{0}_{1}_EXTENSION_NAME'.format((sExtSuffix if sExtSuffix else ''), sType)
                # construct defines with names
                if extLine:
                        extensionDefines.append(extLine)
@@ -1880,7 +1909,7 @@ def writeDeviceFeatures(api, dfDefs, filename):
                        sType = "ASTC_DECODE"
                # end handling special cases
                # construct makeFeatureDesc template function definitions
-               sTypeName = "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_{0}_FEATURES{1}".format(sType, sSuffix)
+               sTypeName = "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_{0}_FEATURES{1}".format(sType, sVerSuffix + sExtSuffix)
                makeFeatureDescDefinitions.append("template<> FeatureDesc makeFeatureDesc<{0}>(void) " \
                        "{{ return FeatureDesc{{{1}, {2}, {3}, {4}}}; }}".format(extStruct, sTypeName, extensionNameDefinition, specVer, len(dfDefs)-idx))
                # construct CreateFeatureStruct wrapper block
@@ -1902,9 +1931,9 @@ def writeDeviceFeatures(api, dfDefs, filename):
                        if structName == 'VkPhysicalDeviceShaderDrawParameterFeatures':
                                structName = 'VkPhysicalDeviceShaderDrawParametersFeatures'
                        # end handling special cases
-                       structDef = [s for s in dfDefs if s[2] == structName][0]
+                       structDef = [s for s in dfDefs if s[3] == structName][0]
                        sType = structDef[0]
-                       sSuffix = structDef[1]
+                       sSuffix = structDef[1] + structDef[2]
                        # handle special cases
                        if sType == "SCISSOR_EXCLUSIVE":
                                sType = "EXCLUSIVE_SCISSOR"
@@ -1937,17 +1966,17 @@ def writeDeviceProperties(dfDefs, filename):
        extensionDefines = []
        makePropertyDescDefinitions = []
        propertyStructWrappers = []
-       for idx, (sType, sSuffix, extStruct, extLine, extName, specVer) in enumerate(dfDefs):
+       for idx, (sType, sVerSuffix, sExtSuffix, extStruct, extLine, extName, specVer) in enumerate(dfDefs):
                extensionNameDefinition = extName
                if not extensionNameDefinition:
-                       extensionNameDefinition = 'DECL{0}_{1}_EXTENSION_NAME'.format((sSuffix if sSuffix else ''), sType)
+                       extensionNameDefinition = 'DECL{0}_{1}_EXTENSION_NAME'.format((sExtSuffix if sExtSuffix else ''), sType)
                # construct defines with names
                if extLine:
                        extensionDefines.append(extLine)
                else:
                        extensionDefines.append('#define {0} "not_existent_property"'.format(extensionNameDefinition))
                # construct makePropertyDesc template function definitions
-               sTypeName = "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_{0}_PROPERTIES{1}".format(sType, sSuffix)
+               sTypeName = "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_{0}_PROPERTIES{1}".format(sType, sVerSuffix + sExtSuffix)
                makePropertyDescDefinitions.append("template<> PropertyDesc makePropertyDesc<{0}>(void) " \
                        "{{ return PropertyDesc({1}, {2}, {3}, {4}); }}".format(extStruct, sTypeName, extensionNameDefinition, specVer, len(dfDefs)-idx))
                # construct CreateProperty struct wrapper block
@@ -1967,7 +1996,7 @@ def writeDeviceProperties(dfDefs, filename):
 
 def genericDeviceFeaturesWriter(dfDefs, pattern, filename):
        stream = []
-       for sType, sSuffix, extStruct, _, _, _ in dfDefs:
+       for _, _, _, extStruct, _, _, _ in dfDefs:
                nameSubStr = extStruct.replace("VkPhysicalDevice", "").replace("KHR", "").replace("NV", "")
                stream.append(pattern.format(extStruct, nameSubStr))
        writeInlFile(filename, INL_HEADER, indentLines(stream))
@@ -1986,7 +2015,7 @@ def writeDeviceFeaturesContextDefs(dfDefs, filename):
 
 def genericDevicePropertiesWriter(dfDefs, pattern, filename):
        stream = []
-       for _, _, extStruct, _, _, _ in dfDefs:
+       for _, _, _, extStruct, _, _, _ in dfDefs:
                nameSubStr = extStruct.replace("VkPhysicalDevice", "").replace("KHR", "").replace("NV", "")
                if extStruct == "VkPhysicalDeviceRayTracingPropertiesNV":
                        nameSubStr += "NV"
@@ -2151,6 +2180,7 @@ if __name__ == "__main__":
 
        dpd                                                                             = generateDevicePropertiesDefs(src)
        writeDeviceProperties                                   (dpd, os.path.join(VULKAN_DIR, "vkDeviceProperties.inl"))
+
        writeDevicePropertiesDefaultDeviceDefs  (dpd, os.path.join(VULKAN_DIR, "vkDevicePropertiesForDefaultDeviceDefs.inl"))
        writeDevicePropertiesContextDecl                (dpd, os.path.join(VULKAN_DIR, "vkDevicePropertiesForContextDecl.inl"))
        writeDevicePropertiesContextDefs                (dpd, os.path.join(VULKAN_DIR, "vkDevicePropertiesForContextDefs.inl"))
index c67589e..04a26c3 100644 (file)
@@ -601,6 +601,8 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
     VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_2_EXT = 1000332000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_2_EXT = 1000332001,
     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,
@@ -1720,6 +1722,7 @@ typedef VkFlags VkBufferViewCreateFlags;
 
 typedef enum VkImageViewCreateFlagBits {
     VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
+    VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
     VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkImageViewCreateFlagBits;
 typedef VkFlags VkImageViewCreateFlags;
@@ -10912,6 +10915,27 @@ typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
 #define VK_QCOM_render_pass_store_ops_SPEC_VERSION 2
 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
 
+
+
+#define VK_EXT_fragment_density_map2 1
+#define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
+#define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
+typedef struct VkPhysicalDeviceFragmentDensityMapFeatures2EXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           fragmentDensityMapDeferred;
+} VkPhysicalDeviceFragmentDensityMapFeatures2EXT;
+
+typedef struct VkPhysicalDeviceFragmentDensityMapProperties2EXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           subsampledLoads;
+    VkBool32           subsampledCoarseReconstructionEarlyAccess;
+    uint32_t           maxSubsampledArrayLayers;
+    uint32_t           maxDescriptorSetSubsampledSamplers;
+} VkPhysicalDeviceFragmentDensityMapProperties2EXT;
+
+
 #ifdef __cplusplus
 }
 #endif