vk-master-2021-03-01/compute.txt
vk-master-2021-03-01/conditional-rendering.txt
vk-master-2021-03-01/descriptor-indexing.txt
+vk-master-2021-03-01/draw-with-dynamic-rendering.txt
vk-master-2021-03-01/draw.txt
vk-master-2021-03-01/drm-format-modifiers.txt
vk-master-2021-03-01/dynamic-state.txt
--- /dev/null
+dEQP-VK.draw_with_dynamic_rendering.concurrent.compute_and_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.simple_draw.simple_draw_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.simple_draw.simple_draw_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.simple_draw.simple_draw_instanced_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.simple_draw.simple_draw_instanced_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indexed_draw.draw_indexed_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indexed_draw.draw_indexed_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indexed_draw.draw_instanced_indexed_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indexed_draw.draw_instanced_indexed_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.point_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.point_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_strip.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_strip.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_strip.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_strip.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_fan.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_fan.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_list_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_list_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_strip_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_strip_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_list_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_list_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_strip_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_strip_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.point_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.point_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_strip.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_strip.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_strip.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_strip.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_fan.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_fan.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_list_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_list_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_strip_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_strip_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_list_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_list_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_strip_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_strip_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.point_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.point_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.point_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.point_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_fan.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_fan.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_fan.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_fan.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.point_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.point_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.point_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.point_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_fan.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_fan.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_fan.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_fan.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_vertex.draw
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_vertex.draw_indexed
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_vertex.draw_indirect
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_vertex.draw_indexed_indirect
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indexed
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indirect
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indirect_first_instance
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indexed_indirect
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indexed_indirect_first_instance
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.draw_index.draw
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.draw_index.draw_instanced
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.draw_index.draw_indexed
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.draw_index.draw_indexed_instanced
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_ccw_cull_none
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_ccw_cull_front
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_ccw_cull_back
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_ccw_cull_both
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_cw_cull_none
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_cw_cull_front
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_cw_cull_back
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_cw_cull_both
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_ccw_cull_none
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_ccw_cull_front
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_ccw_cull_back
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_ccw_cull_both
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_cw_cull_none
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_cw_cull_front
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_cw_cull_back
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_cw_cull_both
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltazero
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltasmall
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltaone
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltaone_bias_clamp_neg
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltasmall_bias_clamp_pos
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_depth_range_unrestricted
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltazero
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltasmall
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltaone
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltaone_bias_clamp_neg
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltasmall_bias_clamp_pos
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_depth_range_unrestricted
+dEQP-VK.draw_with_dynamic_rendering.differing_interpolation.flat_0
+dEQP-VK.draw_with_dynamic_rendering.differing_interpolation.flat_1
+dEQP-VK.draw_with_dynamic_rendering.differing_interpolation.noperspective_0
+dEQP-VK.draw_with_dynamic_rendering.differing_interpolation.noperspective_1
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_256
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_256
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_9
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_10
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_11
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_12
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_13
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_14
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_15
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_16
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_implicit
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_9
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_10
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_11
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_12
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_13
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_14
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_15
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_16
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_9
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_10
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_11
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_12
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_13
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_14
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_15
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_16
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_two_quads
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_two_clears
+dEQP-VK.draw_with_dynamic_rendering.scissor.two_static_scissors_one_quad
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_partially_outside_viewport
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_outside_viewport
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_viewport_border
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_max_int32
+dEQP-VK.draw_with_dynamic_rendering.scissor.16_static_scissors
+dEQP-VK.draw_with_dynamic_rendering.scissor.empty_static_scissor
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_two_quads
+dEQP-VK.draw_with_dynamic_rendering.scissor.empty_dynamic_scissor_first_draw
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_updates_between_draws
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_out_of_order_updates
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_partially_outside_viewport
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_outside_viewport
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_viewport_border
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_max_int32
+dEQP-VK.draw_with_dynamic_rendering.scissor.16_dynamic_scissors
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_two_clears
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_mix
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_framebuffer_border_in
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_framebuffer_border_in
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_framebuffer_border_out
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_framebuffer_border_out
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_oversized
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_oversized
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.1_sample
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.2_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.4_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.8_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.16_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.32_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.64_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.1_sample
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.2_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.4_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.8_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.16_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.32_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.64_samples
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_1
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_1
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_64
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_depth_range_unrestricted_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_depth_range_unrestricted_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_clamp_four_viewports
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_depth_range_unrestricted_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_depth_range_unrestricted_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_clamp_four_viewports
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
dEQP-VK.draw.explicit_vertex_parameter.noperspective_sample_samples_64
dEQP-VK.draw.explicit_vertex_parameter.smooth_centroid_samples_64
dEQP-VK.draw.explicit_vertex_parameter.noperspective_centroid_samples_64
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp-output-float
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp-output-vec2
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump-output-float
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump-output-vec2
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp-output-vec2
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp-output-vec3
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump-output-vec2
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump-output-vec3
-dEQP-VK.draw.output_location.array.r16g16-sfloat-highp
-dEQP-VK.draw.output_location.array.r16g16-sfloat-highp-output-float
-dEQP-VK.draw.output_location.array.r16g16-sfloat-mediump
-dEQP-VK.draw.output_location.array.r16g16-sfloat-mediump-output-float
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp-output-vec2
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp-output-vec3
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump-output-vec2
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump-output-vec3
-dEQP-VK.draw.output_location.array.r32-sfloat-highp
-dEQP-VK.draw.output_location.array.r32-sfloat-mediump
-dEQP-VK.draw.output_location.array.r8g8-uint-highp
-dEQP-VK.draw.output_location.array.r8g8-uint-highp-output-uint
-dEQP-VK.draw.output_location.array.r8g8-uint-mediump
-dEQP-VK.draw.output_location.array.r8g8-uint-mediump-output-uint
-dEQP-VK.draw.output_location.shuffle.inputs-outputs
-dEQP-VK.draw.output_location.shuffle.inputs-outputs-mod
dEQP-VK.draw.depth_clamp.d16_unorm
dEQP-VK.draw.depth_clamp.d16_unorm_clamp_input_negative
dEQP-VK.draw.depth_clamp.d16_unorm_clamp_input_positive
dEQP-VK.draw.depth_clamp.d32_sfloat_s8_uint_depth_range_unrestricted_negative
dEQP-VK.draw.depth_clamp.d32_sfloat_s8_uint_depth_range_unrestricted_positive
dEQP-VK.draw.depth_clamp.d32_sfloat_s8_uint_clamp_four_viewports
-dEQP-VK.draw.ahb.triangle_list
-dEQP-VK.draw.ahb.triangle_list_layers_3
-dEQP-VK.draw.ahb.triangle_list_layers_5
-dEQP-VK.draw.ahb.triangle_list_layers_8
dEQP-VK.draw.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_triangle_strip
dEQP-VK.draw.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_triangle_strip
dEQP-VK.draw.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_triangle_strip
dEQP-VK.draw.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.tess_geom.single_view.offset_6
dEQP-VK.draw.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.tess_geom.multiview.no_offset
dEQP-VK.draw.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.tess_geom.multiview.offset_6
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp-output-float
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp-output-vec2
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump-output-float
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump-output-vec2
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp-output-vec2
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp-output-vec3
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump-output-vec2
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump-output-vec3
+dEQP-VK.draw.output_location.array.r16g16-sfloat-highp
+dEQP-VK.draw.output_location.array.r16g16-sfloat-highp-output-float
+dEQP-VK.draw.output_location.array.r16g16-sfloat-mediump
+dEQP-VK.draw.output_location.array.r16g16-sfloat-mediump-output-float
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp-output-vec2
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp-output-vec3
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump-output-vec2
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump-output-vec3
+dEQP-VK.draw.output_location.array.r32-sfloat-highp
+dEQP-VK.draw.output_location.array.r32-sfloat-mediump
+dEQP-VK.draw.output_location.array.r8g8-uint-highp
+dEQP-VK.draw.output_location.array.r8g8-uint-highp-output-uint
+dEQP-VK.draw.output_location.array.r8g8-uint-mediump
+dEQP-VK.draw.output_location.array.r8g8-uint-mediump-output-uint
+dEQP-VK.draw.output_location.shuffle.inputs-outputs
+dEQP-VK.draw.output_location.shuffle.inputs-outputs-mod
+dEQP-VK.draw.ahb.triangle_list
+dEQP-VK.draw.ahb.triangle_list_layers_3
+dEQP-VK.draw.ahb.triangle_list_layers_5
+dEQP-VK.draw.ahb.triangle_list_layers_8
vk-master/conditional-rendering.txt
vk-master/descriptor-indexing.txt
vk-master/device-group.txt
+vk-master/draw-with-dynamic-rendering.txt
vk-master/draw.txt
vk-master/drm-format-modifiers.txt
vk-master/dynamic-state.txt
--- /dev/null
+dEQP-VK.draw_with_dynamic_rendering.concurrent.compute_and_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.simple_draw.simple_draw_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.simple_draw.simple_draw_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.simple_draw.simple_draw_instanced_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.simple_draw.simple_draw_instanced_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indexed_draw.draw_indexed_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indexed_draw.draw_indexed_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indexed_draw.draw_instanced_indexed_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indexed_draw.draw_instanced_indexed_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.point_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.point_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_strip.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_strip.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_strip.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_strip.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_fan.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_fan.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_list_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_list_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_strip_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_strip_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_list_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_list_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_strip_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_strip_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.point_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.point_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_strip.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_strip.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_strip.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_strip.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_fan.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_fan.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_list_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_list_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_strip_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_strip_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_list_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_list_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_strip_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_strip_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.point_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.point_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.point_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.point_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_fan.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_fan.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_fan.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_fan.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.point_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.point_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.point_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.point_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_fan.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_fan.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_fan.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_fan.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_vertex.draw
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_vertex.draw_indexed
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_vertex.draw_indirect
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_vertex.draw_indexed_indirect
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indexed
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indirect
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indirect_first_instance
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indexed_indirect
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indexed_indirect_first_instance
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.draw_index.draw
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.draw_index.draw_instanced
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.draw_index.draw_indexed
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.draw_index.draw_indexed_instanced
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_ccw_cull_none
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_ccw_cull_front
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_ccw_cull_back
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_ccw_cull_both
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_cw_cull_none
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_cw_cull_front
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_cw_cull_back
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_cw_cull_both
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_ccw_cull_none
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_ccw_cull_front
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_ccw_cull_back
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_ccw_cull_both
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_cw_cull_none
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_cw_cull_front
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_cw_cull_back
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_cw_cull_both
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltazero
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltasmall
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltaone
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltaone_bias_clamp_neg
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltasmall_bias_clamp_pos
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_depth_range_unrestricted
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltazero
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltasmall
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltaone
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltaone_bias_clamp_neg
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltasmall_bias_clamp_pos
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_depth_range_unrestricted
+dEQP-VK.draw_with_dynamic_rendering.differing_interpolation.flat_0
+dEQP-VK.draw_with_dynamic_rendering.differing_interpolation.flat_1
+dEQP-VK.draw_with_dynamic_rendering.differing_interpolation.noperspective_0
+dEQP-VK.draw_with_dynamic_rendering.differing_interpolation.noperspective_1
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_256
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_256
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_9
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_10
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_11
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_12
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_13
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_14
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_15
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_16
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_implicit
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_9
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_10
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_11
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_12
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_13
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_14
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_15
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_16
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_9
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_10
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_11
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_12
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_13
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_14
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_15
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_16
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_two_quads
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_two_clears
+dEQP-VK.draw_with_dynamic_rendering.scissor.two_static_scissors_one_quad
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_partially_outside_viewport
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_outside_viewport
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_viewport_border
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_max_int32
+dEQP-VK.draw_with_dynamic_rendering.scissor.16_static_scissors
+dEQP-VK.draw_with_dynamic_rendering.scissor.empty_static_scissor
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_two_quads
+dEQP-VK.draw_with_dynamic_rendering.scissor.empty_dynamic_scissor_first_draw
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_updates_between_draws
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_out_of_order_updates
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_partially_outside_viewport
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_outside_viewport
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_viewport_border
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_max_int32
+dEQP-VK.draw_with_dynamic_rendering.scissor.16_dynamic_scissors
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_two_clears
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_mix
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_framebuffer_border_in
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_framebuffer_border_in
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_framebuffer_border_out
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_framebuffer_border_out
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_oversized
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_oversized
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.1_sample
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.2_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.4_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.8_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.16_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.32_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.64_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.1_sample
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.2_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.4_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.8_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.16_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.32_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.64_samples
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_1
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_1
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_64
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_depth_range_unrestricted_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_depth_range_unrestricted_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_clamp_four_viewports
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_depth_range_unrestricted_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_depth_range_unrestricted_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_clamp_four_viewports
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
dEQP-VK.draw.explicit_vertex_parameter.noperspective_sample_samples_64
dEQP-VK.draw.explicit_vertex_parameter.smooth_centroid_samples_64
dEQP-VK.draw.explicit_vertex_parameter.noperspective_centroid_samples_64
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp-output-float
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp-output-vec2
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump-output-float
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump-output-vec2
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp-output-vec2
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp-output-vec3
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump-output-vec2
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump-output-vec3
-dEQP-VK.draw.output_location.array.r16g16-sfloat-highp
-dEQP-VK.draw.output_location.array.r16g16-sfloat-highp-output-float
-dEQP-VK.draw.output_location.array.r16g16-sfloat-mediump
-dEQP-VK.draw.output_location.array.r16g16-sfloat-mediump-output-float
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp-output-vec2
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp-output-vec3
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump-output-vec2
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump-output-vec3
-dEQP-VK.draw.output_location.array.r32-sfloat-highp
-dEQP-VK.draw.output_location.array.r32-sfloat-mediump
-dEQP-VK.draw.output_location.array.r8g8-uint-highp
-dEQP-VK.draw.output_location.array.r8g8-uint-highp-output-uint
-dEQP-VK.draw.output_location.array.r8g8-uint-mediump
-dEQP-VK.draw.output_location.array.r8g8-uint-mediump-output-uint
-dEQP-VK.draw.output_location.shuffle.inputs-outputs
-dEQP-VK.draw.output_location.shuffle.inputs-outputs-mod
dEQP-VK.draw.depth_clamp.d16_unorm
dEQP-VK.draw.depth_clamp.d16_unorm_clamp_input_negative
dEQP-VK.draw.depth_clamp.d16_unorm_clamp_input_positive
dEQP-VK.draw.depth_clamp.d32_sfloat_s8_uint_depth_range_unrestricted_negative
dEQP-VK.draw.depth_clamp.d32_sfloat_s8_uint_depth_range_unrestricted_positive
dEQP-VK.draw.depth_clamp.d32_sfloat_s8_uint_clamp_four_viewports
-dEQP-VK.draw.ahb.triangle_list
-dEQP-VK.draw.ahb.triangle_list_layers_3
-dEQP-VK.draw.ahb.triangle_list_layers_5
-dEQP-VK.draw.ahb.triangle_list_layers_8
dEQP-VK.draw.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_triangle_strip
dEQP-VK.draw.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_triangle_strip
dEQP-VK.draw.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_triangle_strip
dEQP-VK.draw.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.tess_geom.single_view.offset_6
dEQP-VK.draw.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.tess_geom.multiview.no_offset
dEQP-VK.draw.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.tess_geom.multiview.offset_6
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp-output-float
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp-output-vec2
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump-output-float
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump-output-vec2
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp-output-vec2
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp-output-vec3
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump-output-vec2
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump-output-vec3
+dEQP-VK.draw.output_location.array.r16g16-sfloat-highp
+dEQP-VK.draw.output_location.array.r16g16-sfloat-highp-output-float
+dEQP-VK.draw.output_location.array.r16g16-sfloat-mediump
+dEQP-VK.draw.output_location.array.r16g16-sfloat-mediump-output-float
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp-output-vec2
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp-output-vec3
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump-output-vec2
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump-output-vec3
+dEQP-VK.draw.output_location.array.r32-sfloat-highp
+dEQP-VK.draw.output_location.array.r32-sfloat-mediump
+dEQP-VK.draw.output_location.array.r8g8-uint-highp
+dEQP-VK.draw.output_location.array.r8g8-uint-highp-output-uint
+dEQP-VK.draw.output_location.array.r8g8-uint-mediump
+dEQP-VK.draw.output_location.array.r8g8-uint-mediump-output-uint
+dEQP-VK.draw.output_location.shuffle.inputs-outputs
+dEQP-VK.draw.output_location.shuffle.inputs-outputs-mod
+dEQP-VK.draw.ahb.triangle_list
+dEQP-VK.draw.ahb.triangle_list_layers_3
+dEQP-VK.draw.ahb.triangle_list_layers_5
+dEQP-VK.draw.ahb.triangle_list_layers_8
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
+ VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = 1000044000,
+ VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = 1000044001,
+ VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = 1000044002,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = 1000044003,
+ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = 1000044004,
+ VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
+ VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
+ VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
+ VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
+ VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
};
typedef uint32_t VkDisplayPlaneAlphaFlagsKHR;
+enum VkRenderingFlagBitsKHR
+{
+ VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 0x00000001,
+ VK_RENDERING_SUSPENDING_BIT_KHR = 0x00000002,
+ VK_RENDERING_RESUMING_BIT_KHR = 0x00000004,
+ VK_RENDERING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF,
+};
+typedef uint32_t VkRenderingFlagsKHR;
+
enum VkPerformanceCounterDescriptionFlagBitsKHR
{
VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
#define VK_KHR_DISPLAY_SPEC_VERSION 23
#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
+#define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1
#define VK_KHR_MULTIVIEW_SPEC_VERSION 1
#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
#define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
vk.cmdEndRenderPass(commandBuffer);
}
+void beginRendering(const DeviceInterface& vk,
+ const VkCommandBuffer commandBuffer,
+ const VkImageView colorImageView,
+ const VkRect2D& renderArea,
+ const VkClearValue& clearValue,
+ const VkImageLayout imageLayout,
+ const VkAttachmentLoadOp loadOperation,
+ VkRenderingFlagsKHR renderingFlags,
+ const deUint32 layerCount,
+ const deUint32 viewMask)
+{
+ VkRenderingAttachmentInfoKHR colorAttachment
+ {
+ VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ colorImageView, // VkImageView imageView;
+ imageLayout, // VkImageLayout imageLayout;
+ VK_RESOLVE_MODE_NONE, // VkResolveModeFlagBits resolveMode;
+ DE_NULL, // VkImageView resolveImageView;
+ VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout resolveImageLayout;
+ loadOperation, // VkAttachmentLoadOp loadOp;
+ VK_ATTACHMENT_STORE_OP_STORE, // VkAttachmentStoreOp storeOp;
+ clearValue // VkClearValue clearValue;
+ };
+
+ VkRenderingInfoKHR renderingInfo
+ {
+ VK_STRUCTURE_TYPE_RENDERING_INFO_KHR,
+ DE_NULL,
+ renderingFlags, // VkRenderingFlagsKHR flags;
+ renderArea, // VkRect2D renderArea;
+ layerCount, // deUint32 layerCount;
+ viewMask, // deUint32 viewMask;
+ 1u, // deUint32 colorAttachmentCount;
+ &colorAttachment, // const VkRenderingAttachmentInfoKHR* pColorAttachments;
+ DE_NULL, // const VkRenderingAttachmentInfoKHR* pDepthAttachment;
+ DE_NULL, // const VkRenderingAttachmentInfoKHR* pStencilAttachment;
+ };
+
+ vk.cmdBeginRenderingKHR(commandBuffer, &renderingInfo);
+}
+
+void beginRendering(const DeviceInterface& vk,
+ const VkCommandBuffer commandBuffer,
+ const VkImageView colorImageView,
+ const VkImageView depthImageView,
+ const VkRect2D& renderArea,
+ const VkClearValue& clearColorValue,
+ const VkClearValue& clearDepthValue,
+ const VkImageLayout colorImageLayout,
+ const VkImageLayout depthImageLayout,
+ const VkAttachmentLoadOp loadOperation,
+ VkRenderingFlagsKHR renderingFlags,
+ const deUint32 layerCount,
+ const deUint32 viewMask)
+{
+ VkRenderingAttachmentInfoKHR colorAttachment
+ {
+ VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ colorImageView, // VkImageView imageView;
+ colorImageLayout, // VkImageLayout imageLayout;
+ VK_RESOLVE_MODE_NONE, // VkResolveModeFlagBits resolveMode;
+ DE_NULL, // VkImageView resolveImageView;
+ VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout resolveImageLayout;
+ loadOperation, // VkAttachmentLoadOp loadOp;
+ VK_ATTACHMENT_STORE_OP_STORE, // VkAttachmentStoreOp storeOp;
+ clearColorValue // VkClearValue clearValue;
+ };
+
+ VkRenderingAttachmentInfoKHR depthAttachment
+ {
+ VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ depthImageView, // VkImageView imageView;
+ depthImageLayout, // VkImageLayout imageLayout;
+ VK_RESOLVE_MODE_NONE, // VkResolveModeFlagBits resolveMode;
+ DE_NULL, // VkImageView resolveImageView;
+ VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout resolveImageLayout;
+ loadOperation, // VkAttachmentLoadOp loadOp;
+ VK_ATTACHMENT_STORE_OP_STORE, // VkAttachmentStoreOp storeOp;
+ clearDepthValue // VkClearValue clearValue;
+ };
+
+ VkRenderingInfoKHR renderingInfo
+ {
+ VK_STRUCTURE_TYPE_RENDERING_INFO_KHR,
+ DE_NULL,
+ renderingFlags, // VkRenderingFlagsKHR flags;
+ renderArea, // VkRect2D renderArea;
+ layerCount, // deUint32 layerCount;
+ viewMask, // deUint32 viewMask;
+ 1u, // deUint32 colorAttachmentCount;
+ &colorAttachment, // const VkRenderingAttachmentInfoKHR* pColorAttachments;
+ &depthAttachment, // const VkRenderingAttachmentInfoKHR* pDepthAttachment;
+ DE_NULL, // const VkRenderingAttachmentInfoKHR* pStencilAttachment;
+ };
+
+ vk.cmdBeginRenderingKHR(commandBuffer, &renderingInfo);
+}
+
+void endRendering(const DeviceInterface& vk,
+ const VkCommandBuffer commandBuffer)
+{
+ vk.cmdEndRenderingKHR(commandBuffer);
+}
+
void submitCommandsAndWait (const DeviceInterface& vk,
const VkDevice device,
const VkQueue queue,
void endRenderPass (const DeviceInterface& vk,
const VkCommandBuffer commandBuffer);
+void beginRendering (const DeviceInterface& vk,
+ const VkCommandBuffer commandBuffer,
+ const VkImageView colorImageView,
+ const VkRect2D& renderArea,
+ const VkClearValue& clearValue,
+ const VkImageLayout imageLayout = VK_IMAGE_LAYOUT_GENERAL,
+ const VkAttachmentLoadOp loadOperation = VK_ATTACHMENT_LOAD_OP_LOAD,
+ VkRenderingFlagsKHR renderingFlags = 0,
+ const deUint32 layerCount = 1u,
+ const deUint32 viewMask = 0u);
+
+void beginRendering (const DeviceInterface& vk,
+ const VkCommandBuffer commandBuffer,
+ const VkImageView colorImageView,
+ const VkImageView depthImageView,
+ const VkRect2D& renderArea,
+ const VkClearValue& clearColorValue,
+ const VkClearValue& clearDepthValue,
+ const VkImageLayout colorImageLayout = VK_IMAGE_LAYOUT_GENERAL,
+ const VkImageLayout depthImageLayout = VK_IMAGE_LAYOUT_GENERAL,
+ const VkAttachmentLoadOp loadOperation = VK_ATTACHMENT_LOAD_OP_LOAD,
+ VkRenderingFlagsKHR renderingFlags = 0,
+ const deUint32 layerCount = 1u,
+ const deUint32 viewMask = 0u);
+
+void endRendering (const DeviceInterface& vk,
+ const VkCommandBuffer commandBuffer);
+
void submitCommandsAndWait (const DeviceInterface& vk,
const VkDevice device,
const VkQueue queue,
virtual VkResult getDeviceGroupSurfacePresentModesKHR (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const;
virtual VkResult acquireNextImage2KHR (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) const;
virtual VkResult createSharedSwapchainsKHR (VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const;
+virtual void cmdBeginRenderingKHR (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) const;
+virtual void cmdEndRenderingKHR (VkCommandBuffer commandBuffer) const;
virtual VkResult getMemoryFdKHR (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const;
virtual VkResult getMemoryFdPropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const;
virtual VkResult importSemaphoreFdKHR (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const;
return m_vk.createSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllocator, pSwapchains);
}
+void DeviceDriver::cmdBeginRenderingKHR (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) const
+{
+ m_vk.cmdBeginRenderingKHR(commandBuffer, pRenderingInfo);
+}
+
+void DeviceDriver::cmdEndRenderingKHR (VkCommandBuffer commandBuffer) const
+{
+ m_vk.cmdEndRenderingKHR(commandBuffer);
+}
+
VkResult DeviceDriver::getMemoryFdKHR (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const
{
return m_vk.getMemoryFdKHR(device, pGetFdInfo, pFd);
#define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
#define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
#define DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME "not_existent_feature"
+#define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering"
#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_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
}
// generic template is not enough for some compilers
+template<> void initFeatureFromBlob<VkPhysicalDeviceDynamicRenderingFeaturesKHR>(VkPhysicalDeviceDynamicRenderingFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDevicePerformanceQueryFeaturesKHR>(VkPhysicalDevicePerformanceQueryFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceShaderClockFeaturesKHR>(VkPhysicalDeviceShaderClockFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR>(VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDevicePortabilitySubsetFeaturesKHR>(VkPhysicalDevicePortabilitySubsetFeaturesKHR&, const AllFeaturesBlobs&) {}
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 95}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice4444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 94}; }
-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, 93}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 92}; }
-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, 91}; }
-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, 90}; }
-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, 89}; }
-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, 88}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 87}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 86}; }
-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, 85}; }
-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, 84}; }
-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, 83}; }
-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, 82}; }
-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, 81}; }
-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, 80}; }
-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, 79}; }
-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, 78}; }
-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, 77}; }
-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, 76}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 75}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 74}; }
+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, 96}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice4444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 95}; }
+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, 94}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 93}; }
+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, 92}; }
+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, 91}; }
+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, 90}; }
+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, 89}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 88}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 87}; }
+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, 86}; }
+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, 85}; }
+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, 84}; }
+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, 83}; }
+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, 82}; }
+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, 81}; }
+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, 80}; }
+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, 79}; }
+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, 78}; }
+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, 77}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 76}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 75}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDynamicRenderingFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION, 74}; }
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, 73}; }
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, 72}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION, 71}; }
{ createFeatureStructWrapper<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0 },
+ { createFeatureStructWrapper<VkPhysicalDeviceDynamicRenderingFeaturesKHR>, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION },
{ 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<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION },
const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV& getDeviceGeneratedCommandsFeatures (void) const;
const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT& getDeviceMemoryReportFeaturesEXT (void) const;
const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV& getDiagnosticsConfigFeatures (void) const;
+const vk::VkPhysicalDeviceDynamicRenderingFeaturesKHR& getDynamicRenderingFeatures (void) const;
const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV& getExclusiveScissorFeatures (void) const;
const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& getExtendedDynamicStateFeaturesEXT (void) const;
const vk::VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& getExtendedDynamicState2FeaturesEXT (void) const;
const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV& Context::getDeviceGeneratedCommandsFeatures (void) const { return m_device->getDeviceGeneratedCommandsFeatures(); }
const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT& Context::getDeviceMemoryReportFeaturesEXT (void) const { return m_device->getDeviceMemoryReportFeaturesEXT(); }
const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV& Context::getDiagnosticsConfigFeatures (void) const { return m_device->getDiagnosticsConfigFeatures(); }
+const vk::VkPhysicalDeviceDynamicRenderingFeaturesKHR& Context::getDynamicRenderingFeatures (void) const { return m_device->getDynamicRenderingFeatures(); }
const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV& Context::getExclusiveScissorFeatures (void) const { return m_device->getExclusiveScissorFeatures(); }
const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& Context::getExtendedDynamicStateFeaturesEXT (void) const { return m_device->getExtendedDynamicStateFeaturesEXT(); }
const vk::VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& Context::getExtendedDynamicState2FeaturesEXT (void) const { return m_device->getExtendedDynamicState2FeaturesEXT(); }
const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV& getDeviceGeneratedCommandsFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>(); }
const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT& getDeviceMemoryReportFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(); }
const VkPhysicalDeviceDiagnosticsConfigFeaturesNV& getDiagnosticsConfigFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(); }
+const VkPhysicalDeviceDynamicRenderingFeaturesKHR& getDynamicRenderingFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDynamicRenderingFeaturesKHR>(); }
const VkPhysicalDeviceExclusiveScissorFeaturesNV& getExclusiveScissorFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExclusiveScissorFeaturesNV>(); }
const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& getExtendedDynamicStateFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>(); }
const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& getExtendedDynamicState2FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>(); }
GetDeviceGroupSurfacePresentModesKHRFunc getDeviceGroupSurfacePresentModesKHR;
AcquireNextImage2KHRFunc acquireNextImage2KHR;
CreateSharedSwapchainsKHRFunc createSharedSwapchainsKHR;
+CmdBeginRenderingKHRFunc cmdBeginRenderingKHR;
+CmdEndRenderingKHRFunc cmdEndRenderingKHR;
GetMemoryFdKHRFunc getMemoryFdKHR;
GetMemoryFdPropertiesKHRFunc getMemoryFdPropertiesKHR;
ImportSemaphoreFdKHRFunc importSemaphoreFdKHR;
{
return;
}
+ if (extName == "VK_KHR_dynamic_rendering")
+ {
+ return;
+ }
if (extName == "VK_KHR_multiview")
{
return;
{
return;
}
+ if (extName == "VK_KHR_dynamic_rendering")
+ {
+ functions.push_back("vkCmdBeginRenderingKHR");
+ functions.push_back("vkCmdEndRenderingKHR");
+ return;
+ }
if (extName == "VK_KHR_multiview")
{
return;
{
"VK_KHR_swapchain",
"VK_KHR_display_swapchain",
+ "VK_KHR_dynamic_rendering",
"VK_KHR_device_group",
"VK_KHR_maintenance1",
"VK_KHR_external_memory_fd",
typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDisplayPlaneCapabilitiesKHRFunc) (VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDisplayPlaneSurfaceKHRFunc) (VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSharedSwapchainsKHRFunc) (VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
+typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginRenderingKHRFunc) (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo);
+typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndRenderingKHRFunc) (VkCommandBuffer commandBuffer);
typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFeatures2KHRFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceProperties2KHRFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFormatProperties2KHRFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
return VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR;
}
+template<> VkStructureType getStructureType<VkRenderingAttachmentInfoKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR;
+}
+
+template<> VkStructureType getStructureType<VkRenderingInfoKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_RENDERING_INFO_KHR;
+}
+
+template<> VkStructureType getStructureType<VkPipelineRenderingCreateInfoKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceDynamicRenderingFeaturesKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR;
+}
+
+template<> VkStructureType getStructureType<VkCommandBufferInheritanceRenderingInfoKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR;
+}
+
+template<> VkStructureType getStructureType<VkRenderingFragmentShadingRateAttachmentInfoKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR;
+}
+
+template<> VkStructureType getStructureType<VkRenderingFragmentDensityMapAttachmentInfoEXT> (void)
+{
+ return VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkAttachmentSampleCountInfoAMD> (void)
+{
+ return VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD;
+}
+
+template<> VkStructureType getStructureType<VkMultiviewPerViewAttributesInfoNVX> (void)
+{
+ return VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX;
+}
+
template<> VkStructureType getStructureType<VkImportMemoryFdInfoKHR> (void)
{
return VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR;
m_vk.getDeviceGroupSurfacePresentModesKHR = (GetDeviceGroupSurfacePresentModesKHRFunc) GET_PROC_ADDR("vkGetDeviceGroupSurfacePresentModesKHR");
m_vk.acquireNextImage2KHR = (AcquireNextImage2KHRFunc) GET_PROC_ADDR("vkAcquireNextImage2KHR");
m_vk.createSharedSwapchainsKHR = (CreateSharedSwapchainsKHRFunc) GET_PROC_ADDR("vkCreateSharedSwapchainsKHR");
+m_vk.cmdBeginRenderingKHR = (CmdBeginRenderingKHRFunc) GET_PROC_ADDR("vkCmdBeginRenderingKHR");
+m_vk.cmdEndRenderingKHR = (CmdEndRenderingKHRFunc) GET_PROC_ADDR("vkCmdEndRenderingKHR");
m_vk.getMemoryFdKHR = (GetMemoryFdKHRFunc) GET_PROC_ADDR("vkGetMemoryFdKHR");
m_vk.getMemoryFdPropertiesKHR = (GetMemoryFdPropertiesKHRFunc) GET_PROC_ADDR("vkGetMemoryFdPropertiesKHR");
m_vk.importSemaphoreFdKHR = (ImportSemaphoreFdKHRFunc) GET_PROC_ADDR("vkImportSemaphoreFdKHR");
return VK_SUCCESS;
}
+VKAPI_ATTR void VKAPI_CALL cmdBeginRenderingKHR (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo)
+{
+ DE_UNREF(commandBuffer);
+ DE_UNREF(pRenderingInfo);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdEndRenderingKHR (VkCommandBuffer commandBuffer)
+{
+ DE_UNREF(commandBuffer);
+}
+
VKAPI_ATTR VkResult VKAPI_CALL getMemoryFdKHR (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd)
{
DE_UNREF(device);
VK_NULL_FUNC_ENTRY(vkGetDeviceGroupSurfacePresentModesKHR, getDeviceGroupSurfacePresentModesKHR),
VK_NULL_FUNC_ENTRY(vkAcquireNextImage2KHR, acquireNextImage2KHR),
VK_NULL_FUNC_ENTRY(vkCreateSharedSwapchainsKHR, createSharedSwapchainsKHR),
+ VK_NULL_FUNC_ENTRY(vkCmdBeginRenderingKHR, cmdBeginRenderingKHR),
+ VK_NULL_FUNC_ENTRY(vkCmdEndRenderingKHR, cmdEndRenderingKHR),
VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPeerMemoryFeaturesKHR, getDeviceGroupPeerMemoryFeatures),
VK_NULL_FUNC_ENTRY(vkCmdSetDeviceMaskKHR, cmdSetDeviceMask),
VK_NULL_FUNC_ENTRY(vkCmdDispatchBaseKHR, cmdDispatchBase),
const VkPipelineMultisampleStateCreateInfo* multisampleStateCreateInfo,
const VkPipelineDepthStencilStateCreateInfo* depthStencilStateCreateInfo,
const VkPipelineColorBlendStateCreateInfo* colorBlendStateCreateInfo,
- const VkPipelineDynamicStateCreateInfo* dynamicStateCreateInfo)
+ const VkPipelineDynamicStateCreateInfo* dynamicStateCreateInfo,
+ const void* pNext)
{
const VkBool32 disableRasterization = (fragmentShaderModule == DE_NULL);
const bool hasTessellation = (tessellationControlShaderModule != DE_NULL || tessellationEvalShaderModule != DE_NULL);
const VkGraphicsPipelineCreateInfo pipelineCreateInfo =
{
VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, // VkStructureType sType
- DE_NULL, // const void* pNext
+ pNext, // const void* pNext
0u, // VkPipelineCreateFlags flags
(deUint32)pipelineShaderStageParams.size(), // deUint32 stageCount
&pipelineShaderStageParams[0], // const VkPipelineShaderStageCreateInfo* pStages
const VkPipelineMultisampleStateCreateInfo* multisampleStateCreateInfo = DE_NULL,
const VkPipelineDepthStencilStateCreateInfo* depthStencilStateCreateInfo = DE_NULL,
const VkPipelineColorBlendStateCreateInfo* colorBlendStateCreateInfo = DE_NULL,
- const VkPipelineDynamicStateCreateInfo* dynamicStateCreateInfo = DE_NULL);
+ const VkPipelineDynamicStateCreateInfo* dynamicStateCreateInfo = DE_NULL,
+ const void* pNext = DE_NULL);
Move<VkPipeline> makeGraphicsPipeline (const DeviceInterface& vk,
const VkDevice device,
tcu::Format::Bitfield<32> getSwapchainCreateFlagsKHRStr (VkSwapchainCreateFlagsKHR value);
tcu::Format::Bitfield<32> getDeviceGroupPresentModeFlagsKHRStr (VkDeviceGroupPresentModeFlagsKHR value);
tcu::Format::Bitfield<32> getDisplayPlaneAlphaFlagsKHRStr (VkDisplayPlaneAlphaFlagsKHR value);
+tcu::Format::Bitfield<32> getRenderingFlagsKHRStr (VkRenderingFlagsKHR value);
tcu::Format::Bitfield<32> getPerformanceCounterDescriptionFlagsKHRStr (VkPerformanceCounterDescriptionFlagsKHR value);
tcu::Format::Bitfield<32> getAcquireProfilingLockFlagsKHRStr (VkAcquireProfilingLockFlagsKHR value);
tcu::Format::Bitfield<32> getSubmitFlagsKHRStr (VkSubmitFlagsKHR value);
std::ostream& operator<< (std::ostream& s, const VkDisplayPropertiesKHR& value);
std::ostream& operator<< (std::ostream& s, const VkDisplaySurfaceCreateInfoKHR& value);
std::ostream& operator<< (std::ostream& s, const VkDisplayPresentInfoKHR& value);
+std::ostream& operator<< (std::ostream& s, const VkRenderingAttachmentInfoKHR& value);
+std::ostream& operator<< (std::ostream& s, const VkRenderingInfoKHR& value);
+std::ostream& operator<< (std::ostream& s, const VkPipelineRenderingCreateInfoKHR& value);
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDynamicRenderingFeaturesKHR& value);
+std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceRenderingInfoKHR& value);
+std::ostream& operator<< (std::ostream& s, const VkRenderingFragmentShadingRateAttachmentInfoKHR& value);
+std::ostream& operator<< (std::ostream& s, const VkRenderingFragmentDensityMapAttachmentInfoEXT& value);
+std::ostream& operator<< (std::ostream& s, const VkAttachmentSampleCountInfoAMD& value);
+std::ostream& operator<< (std::ostream& s, const VkMultiviewPerViewAttributesInfoNVX& value);
std::ostream& operator<< (std::ostream& s, const VkImportMemoryFdInfoKHR& value);
std::ostream& operator<< (std::ostream& s, const VkMemoryFdPropertiesKHR& value);
std::ostream& operator<< (std::ostream& s, const VkMemoryGetFdInfoKHR& value);
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT";
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT";
case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: return "VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD";
+ case VK_STRUCTURE_TYPE_RENDERING_INFO_KHR: return "VK_STRUCTURE_TYPE_RENDERING_INFO_KHR";
+ case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR: return "VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR";
+ case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR";
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR";
+ case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR";
+ case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: return "VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR";
+ case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: return "VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT";
+ case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: return "VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD";
+ case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: return "VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX";
case VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP: return "VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV";
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV";
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
}
+tcu::Format::Bitfield<32> getRenderingFlagsKHRStr (VkRenderingFlagsKHR value)
+{
+ static const tcu::Format::BitDesc s_desc[] =
+ {
+ tcu::Format::BitDesc(VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR, "VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR"),
+ tcu::Format::BitDesc(VK_RENDERING_SUSPENDING_BIT_KHR, "VK_RENDERING_SUSPENDING_BIT_KHR"),
+ tcu::Format::BitDesc(VK_RENDERING_RESUMING_BIT_KHR, "VK_RENDERING_RESUMING_BIT_KHR"),
+ tcu::Format::BitDesc(VK_RENDERING_FLAG_BITS_MAX_ENUM_KHR, "VK_RENDERING_FLAG_BITS_MAX_ENUM_KHR"),
+ };
+ return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
tcu::Format::Bitfield<32> getPerformanceCounterDescriptionFlagsKHRStr (VkPerformanceCounterDescriptionFlagsKHR value)
{
static const tcu::Format::BitDesc s_desc[] =
return s;
}
+std::ostream& operator<< (std::ostream& s, const VkRenderingAttachmentInfoKHR& value)
+{
+ s << "VkRenderingAttachmentInfoKHR = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\timageView = " << value.imageView << '\n';
+ s << "\timageLayout = " << value.imageLayout << '\n';
+ s << "\tresolveMode = " << value.resolveMode << '\n';
+ s << "\tresolveImageView = " << value.resolveImageView << '\n';
+ s << "\tresolveImageLayout = " << value.resolveImageLayout << '\n';
+ s << "\tloadOp = " << value.loadOp << '\n';
+ s << "\tstoreOp = " << value.storeOp << '\n';
+ s << "\tclearValue = " << value.clearValue << '\n';
+ s << '}';
+ return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkRenderingInfoKHR& value)
+{
+ s << "VkRenderingInfoKHR = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tflags = " << getRenderingFlagsKHRStr(value.flags) << '\n';
+ s << "\trenderArea = " << value.renderArea << '\n';
+ s << "\tlayerCount = " << value.layerCount << '\n';
+ s << "\tviewMask = " << value.viewMask << '\n';
+ s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n';
+ s << "\tpColorAttachments = " << value.pColorAttachments << '\n';
+ s << "\tpDepthAttachment = " << value.pDepthAttachment << '\n';
+ s << "\tpStencilAttachment = " << value.pStencilAttachment << '\n';
+ s << '}';
+ return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPipelineRenderingCreateInfoKHR& value)
+{
+ s << "VkPipelineRenderingCreateInfoKHR = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tviewMask = " << value.viewMask << '\n';
+ s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n';
+ s << "\tpColorAttachmentFormats = " << value.pColorAttachmentFormats << '\n';
+ s << "\tdepthStencilAttachmentFormat = " << value.depthStencilAttachmentFormat << '\n';
+ s << '}';
+ return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDynamicRenderingFeaturesKHR& value)
+{
+ s << "VkPhysicalDeviceDynamicRenderingFeaturesKHR = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tdynamicRendering = " << value.dynamicRendering << '\n';
+ s << '}';
+ return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceRenderingInfoKHR& value)
+{
+ s << "VkCommandBufferInheritanceRenderingInfoKHR = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tflags = " << getRenderingFlagsKHRStr(value.flags) << '\n';
+ s << "\tviewMask = " << value.viewMask << '\n';
+ s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n';
+ s << "\tpColorAttachmentFormats = " << value.pColorAttachmentFormats << '\n';
+ s << "\tdepthStencilAttachmentFormat = " << value.depthStencilAttachmentFormat << '\n';
+ s << "\trasterizationSamples = " << value.rasterizationSamples << '\n';
+ s << '}';
+ return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkRenderingFragmentShadingRateAttachmentInfoKHR& value)
+{
+ s << "VkRenderingFragmentShadingRateAttachmentInfoKHR = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\timageView = " << value.imageView << '\n';
+ s << "\timageLayout = " << value.imageLayout << '\n';
+ s << "\tshadingRateAttachmentTexelSize = " << value.shadingRateAttachmentTexelSize << '\n';
+ s << '}';
+ return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkRenderingFragmentDensityMapAttachmentInfoEXT& value)
+{
+ s << "VkRenderingFragmentDensityMapAttachmentInfoEXT = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\timageView = " << value.imageView << '\n';
+ s << "\timageLayout = " << value.imageLayout << '\n';
+ s << '}';
+ return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkAttachmentSampleCountInfoAMD& value)
+{
+ s << "VkAttachmentSampleCountInfoAMD = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n';
+ s << "\tpColorAttachmentSamples = " << value.pColorAttachmentSamples << '\n';
+ s << "\tdepthStencilAttachmentSamples = " << value.depthStencilAttachmentSamples << '\n';
+ s << '}';
+ return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkMultiviewPerViewAttributesInfoNVX& value)
+{
+ s << "VkMultiviewPerViewAttributesInfoNVX = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tperViewAttributes = " << value.perViewAttributes << '\n';
+ s << "\tperViewAttributesPositionXOnly = " << value.perViewAttributesPositionXOnly << '\n';
+ s << '}';
+ return s;
+}
+
std::ostream& operator<< (std::ostream& s, const VkImportMemoryFdInfoKHR& value)
{
s << "VkImportMemoryFdInfoKHR = {\n";
VkBool32 persistent;
};
+struct VkRenderingAttachmentInfoKHR
+{
+ VkStructureType sType;
+ const void* pNext;
+ VkImageView imageView;
+ VkImageLayout imageLayout;
+ VkResolveModeFlagBits resolveMode;
+ VkImageView resolveImageView;
+ VkImageLayout resolveImageLayout;
+ VkAttachmentLoadOp loadOp;
+ VkAttachmentStoreOp storeOp;
+ VkClearValue clearValue;
+};
+
+struct VkRenderingInfoKHR
+{
+ VkStructureType sType;
+ const void* pNext;
+ VkRenderingFlagsKHR flags;
+ VkRect2D renderArea;
+ uint32_t layerCount;
+ uint32_t viewMask;
+ uint32_t colorAttachmentCount;
+ const VkRenderingAttachmentInfoKHR* pColorAttachments;
+ const VkRenderingAttachmentInfoKHR* pDepthAttachment;
+ const VkRenderingAttachmentInfoKHR* pStencilAttachment;
+};
+
+struct VkPipelineRenderingCreateInfoKHR
+{
+ VkStructureType sType;
+ const void* pNext;
+ uint32_t viewMask;
+ uint32_t colorAttachmentCount;
+ const VkFormat* pColorAttachmentFormats;
+ VkFormat depthStencilAttachmentFormat;
+};
+
+struct VkPhysicalDeviceDynamicRenderingFeaturesKHR
+{
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 dynamicRendering;
+};
+
+struct VkCommandBufferInheritanceRenderingInfoKHR
+{
+ VkStructureType sType;
+ const void* pNext;
+ VkRenderingFlagsKHR flags;
+ uint32_t viewMask;
+ uint32_t colorAttachmentCount;
+ const VkFormat* pColorAttachmentFormats;
+ VkFormat depthStencilAttachmentFormat;
+ VkSampleCountFlagBits rasterizationSamples;
+};
+
+struct VkRenderingFragmentShadingRateAttachmentInfoKHR
+{
+ VkStructureType sType;
+ const void* pNext;
+ VkImageView imageView;
+ VkImageLayout imageLayout;
+ VkExtent2D shadingRateAttachmentTexelSize;
+};
+
+struct VkRenderingFragmentDensityMapAttachmentInfoEXT
+{
+ VkStructureType sType;
+ const void* pNext;
+ VkImageView imageView;
+ VkImageLayout imageLayout;
+};
+
+struct VkAttachmentSampleCountInfoAMD
+{
+ VkStructureType sType;
+ const void* pNext;
+ uint32_t colorAttachmentCount;
+ const VkSampleCountFlagBits* pColorAttachmentSamples;
+ VkSampleCountFlagBits depthStencilAttachmentSamples;
+};
+
+struct VkMultiviewPerViewAttributesInfoNVX
+{
+ VkStructureType sType;
+ const void* pNext;
+ VkBool32 perViewAttributes;
+ VkBool32 perViewAttributesPositionXOnly;
+};
+
struct VkImportMemoryFdInfoKHR
{
VkStructureType sType;
typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
+typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV;
+
typedef VkTransformMatrixKHR VkTransformMatrixNV;
typedef VkAabbPositionsKHR VkAabbPositionsNV;
virtual VkResult getDeviceGroupSurfacePresentModesKHR (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const = 0;
virtual VkResult acquireNextImage2KHR (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) const = 0;
virtual VkResult createSharedSwapchainsKHR (VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const = 0;
+virtual void cmdBeginRenderingKHR (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) const = 0;
+virtual void cmdEndRenderingKHR (VkCommandBuffer commandBuffer) const = 0;
virtual VkResult getMemoryFdKHR (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0;
virtual VkResult getMemoryFdPropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const = 0;
virtual VkResult importSemaphoreFdKHR (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const = 0;
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
#endif
VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
+ VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = 1000044000,
+ VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = 1000044001,
+ VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = 1000044002,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = 1000044003,
+ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = 1000044004,
+ VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
+ VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
+ VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
+ VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
+ VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
+#define VK_KHR_dynamic_rendering 1
+#define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1
+#define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering"
+
+typedef enum VkRenderingFlagBitsKHR {
+ VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 0x00000001,
+ VK_RENDERING_SUSPENDING_BIT_KHR = 0x00000002,
+ VK_RENDERING_RESUMING_BIT_KHR = 0x00000004,
+ VK_RENDERING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkRenderingFlagBitsKHR;
+typedef VkFlags VkRenderingFlagsKHR;
+typedef struct VkRenderingAttachmentInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkImageView imageView;
+ VkImageLayout imageLayout;
+ VkResolveModeFlagBits resolveMode;
+ VkImageView resolveImageView;
+ VkImageLayout resolveImageLayout;
+ VkAttachmentLoadOp loadOp;
+ VkAttachmentStoreOp storeOp;
+ VkClearValue clearValue;
+} VkRenderingAttachmentInfoKHR;
+
+typedef struct VkRenderingInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkRenderingFlagsKHR flags;
+ VkRect2D renderArea;
+ deUint32 layerCount;
+ deUint32 viewMask;
+ deUint32 colorAttachmentCount;
+ const VkRenderingAttachmentInfoKHR* pColorAttachments;
+ const VkRenderingAttachmentInfoKHR* pDepthAttachment;
+ const VkRenderingAttachmentInfoKHR* pStencilAttachment;
+} VkRenderingInfoKHR;
+
+typedef struct VkPipelineRenderingCreateInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ deUint32 viewMask;
+ deUint32 colorAttachmentCount;
+ const VkFormat* pColorAttachmentFormats;
+ VkFormat depthStencilAttachmentFormat;
+} VkPipelineRenderingCreateInfoKHR;
+
+typedef struct VkPhysicalDeviceDynamicRenderingFeaturesKHR {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 dynamicRendering;
+} VkPhysicalDeviceDynamicRenderingFeaturesKHR;
+
+typedef struct VkCommandBufferInheritanceRenderingInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkRenderingFlagsKHR flags;
+ deUint32 viewMask;
+ deUint32 colorAttachmentCount;
+ const VkFormat* pColorAttachmentFormats;
+ VkFormat depthStencilAttachmentFormat;
+ VkSampleCountFlagBits rasterizationSamples;
+} VkCommandBufferInheritanceRenderingInfoKHR;
+
+typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkImageView imageView;
+ VkImageLayout imageLayout;
+ VkExtent2D shadingRateAttachmentTexelSize;
+} VkRenderingFragmentShadingRateAttachmentInfoKHR;
+
+typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT {
+ VkStructureType sType;
+ const void* pNext;
+ VkImageView imageView;
+ VkImageLayout imageLayout;
+} VkRenderingFragmentDensityMapAttachmentInfoEXT;
+
+typedef struct VkAttachmentSampleCountInfoAMD {
+ VkStructureType sType;
+ const void* pNext;
+ deUint32 colorAttachmentCount;
+ const VkSampleCountFlagBits* pColorAttachmentSamples;
+ VkSampleCountFlagBits depthStencilAttachmentSamples;
+} VkAttachmentSampleCountInfoAMD;
+
+typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV;
+
+typedef struct VkMultiviewPerViewAttributesInfoNVX {
+ VkStructureType sType;
+ const void* pNext;
+ VkBool32 perViewAttributes;
+ VkBool32 perViewAttributesPositionXOnly;
+} VkMultiviewPerViewAttributesInfoNVX;
+
+typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR(
+ VkCommandBuffer commandBuffer,
+ const VkRenderingInfoKHR* pRenderingInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR(
+ VkCommandBuffer commandBuffer);
+#endif
+
+
#define VK_KHR_multiview 1
#define VK_KHR_MULTIVIEW_SPEC_VERSION 1
#define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
};
ConditionalClearAttachmentTest::ConditionalClearAttachmentTest (Context &context, ConditionalTestSpec testSpec)
- : Draw::DrawTestsBaseClass(context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST)
+ : Draw::DrawTestsBaseClass(context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], false, vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST)
, m_conditionalData(testSpec.conditionalData)
{
checkConditionalRenderingCapabilities(context, m_conditionalData);
const tcu::Vec4 drawColor = tcu::RGBA::blue().toVec();
const bool useSecondaryCmdBuffer = m_conditionalData.conditionInherited || m_conditionalData.conditionInSecondaryCommandBuffer;
- beginRenderPass(useSecondaryCmdBuffer ? vk::VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS : vk::VK_SUBPASS_CONTENTS_INLINE);
+ beginRender(useSecondaryCmdBuffer ? vk::VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS : vk::VK_SUBPASS_CONTENTS_INLINE);
vk::VkCommandBuffer targetCmdBuffer = *m_cmdBuffer;
m_vk.cmdExecuteCommands(*m_cmdBuffer, 1, &m_secondaryCmdBuffer.get());
}
- endRenderPass(m_vk, *m_cmdBuffer);
+ endRender();
endCommandBuffer(m_vk, *m_cmdBuffer);
submitCommandsAndWait(m_vk, device, queue, m_cmdBuffer.get());
};
ConditionalDraw::ConditionalDraw (Context &context, ConditionalTestSpec testSpec)
- : Draw::DrawTestsBaseClass(context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST)
+ : Draw::DrawTestsBaseClass(context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], false, vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST)
, m_command(testSpec.command)
, m_drawCalls(testSpec.drawCalls)
, m_conditionalData(testSpec.conditionalData)
const vk::VkDevice device = m_context.getDevice();
const bool useSecondaryCmdBuffer = m_conditionalData.conditionInherited || m_conditionalData.conditionInSecondaryCommandBuffer;
- beginRenderPass(useSecondaryCmdBuffer ? vk::VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS : vk::VK_SUBPASS_CONTENTS_INLINE);
+ beginRender(useSecondaryCmdBuffer ? vk::VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS : vk::VK_SUBPASS_CONTENTS_INLINE);
vk::VkCommandBuffer targetCmdBuffer = *m_cmdBuffer;
m_vk.cmdExecuteCommands(*m_cmdBuffer, 1, &m_secondaryCmdBuffer.get());
}
- endRenderPass(m_vk, *m_cmdBuffer);
+ endRender();
endCommandBuffer(m_vk, *m_cmdBuffer);
submitCommandsAndWait(m_vk, device, queue, m_cmdBuffer.get());
{
std::vector<PositionColorVertex> vertices;
vk::VkPrimitiveTopology topology;
+ bool useDynamicRendering;
DrawParamsBase ()
{}
- DrawParamsBase (const vk::VkPrimitiveTopology top)
+ DrawParamsBase (const vk::VkPrimitiveTopology top, bool dynamicRendering)
: topology (top)
+ , useDynamicRendering(dynamicRendering)
{}
};
// vkCmdDraw parameters is like a single VkDrawIndirectCommand
vk::VkDrawIndirectCommand params;
- DrawParams (const vk::VkPrimitiveTopology top, const deUint32 vertexC, const deUint32 instanceC, const deUint32 firstV, const deUint32 firstI)
- : DrawParamsBase (top)
+ DrawParams (const vk::VkPrimitiveTopology top, bool dynamicRendering, const deUint32 vertexC, const deUint32 instanceC, const deUint32 firstV, const deUint32 firstI)
+ : DrawParamsBase (top, dynamicRendering)
{
params.vertexCount = vertexC;
params.instanceCount = instanceC;
// vkCmdDrawIndexed parameters is like a single VkDrawIndexedIndirectCommand
vk::VkDrawIndexedIndirectCommand params;
- DrawIndexedParams (const vk::VkPrimitiveTopology top, const vk::VkIndexType indexT, const deUint32 indexC, const deUint32 instanceC, const deUint32 firstIdx, const deInt32 vertexO, const deUint32 firstIns)
- : DrawParamsBase (top)
+ DrawIndexedParams (const vk::VkPrimitiveTopology top, bool dynamicRendering, const vk::VkIndexType indexT, const deUint32 indexC, const deUint32 instanceC, const deUint32 firstIdx, const deInt32 vertexO, const deUint32 firstIns)
+ : DrawParamsBase (top, dynamicRendering)
, IndexedParamsBase (indexT)
{
params.indexCount = indexC;
{
std::vector<vk::VkDrawIndirectCommand> commands;
- DrawIndirectParams (const vk::VkPrimitiveTopology top)
- : DrawParamsBase (top)
+ DrawIndirectParams (const vk::VkPrimitiveTopology top, bool dynamicRendering)
+ : DrawParamsBase (top, dynamicRendering)
{}
void addCommand (const deUint32 vertexC, const deUint32 instanceC, const deUint32 firstV, const deUint32 firstI)
{
std::vector<vk::VkDrawIndexedIndirectCommand> commands;
- DrawIndexedIndirectParams (const vk::VkPrimitiveTopology top, const vk::VkIndexType indexT)
- : DrawParamsBase (top)
+ DrawIndexedIndirectParams (const vk::VkPrimitiveTopology top, bool dynamicRendering, const vk::VkIndexType indexT)
+ : DrawParamsBase (top, dynamicRendering)
, IndexedParamsBase (indexT)
{}
void initialize (const DrawParamsBase& data);
void initPipeline (const vk::VkDevice device);
void beginRenderPass (void);
+ void endRenderPass (void);
// Specialize this function for each type
virtual tcu::TestStatus iterate (void) = 0;
const ImageViewCreateInfo colorTargetViewInfo(m_colorTargetImage->object(), vk::VK_IMAGE_VIEW_TYPE_2D, m_colorAttachmentFormat);
m_colorTargetView = vk::createImageView(m_vk, device, &colorTargetViewInfo);
- RenderPassCreateInfo renderPassCreateInfo;
- renderPassCreateInfo.addAttachment(AttachmentDescription(m_colorAttachmentFormat,
- vk::VK_SAMPLE_COUNT_1_BIT,
- vk::VK_ATTACHMENT_LOAD_OP_LOAD,
- vk::VK_ATTACHMENT_STORE_OP_STORE,
- vk::VK_ATTACHMENT_LOAD_OP_DONT_CARE,
- vk::VK_ATTACHMENT_STORE_OP_STORE,
- vk::VK_IMAGE_LAYOUT_GENERAL,
- vk::VK_IMAGE_LAYOUT_GENERAL));
-
- const vk::VkAttachmentReference colorAttachmentReference =
+ // create render pass only when we are not using dynamic rendering
+ if (!m_data.useDynamicRendering)
{
- 0,
- vk::VK_IMAGE_LAYOUT_GENERAL
- };
-
- renderPassCreateInfo.addSubpass(SubpassDescription(vk::VK_PIPELINE_BIND_POINT_GRAPHICS,
- 0,
- 0,
- DE_NULL,
- 1,
- &colorAttachmentReference,
- DE_NULL,
- AttachmentReference(),
- 0,
- DE_NULL));
-
- m_renderPass = vk::createRenderPass(m_vk, device, &renderPassCreateInfo);
-
- std::vector<vk::VkImageView> colorAttachments(1);
- colorAttachments[0] = *m_colorTargetView;
-
- const FramebufferCreateInfo framebufferCreateInfo(*m_renderPass, colorAttachments, WIDTH, HEIGHT, 1);
+ RenderPassCreateInfo renderPassCreateInfo;
+ renderPassCreateInfo.addAttachment(AttachmentDescription(m_colorAttachmentFormat,
+ vk::VK_SAMPLE_COUNT_1_BIT,
+ vk::VK_ATTACHMENT_LOAD_OP_LOAD,
+ vk::VK_ATTACHMENT_STORE_OP_STORE,
+ vk::VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+ vk::VK_ATTACHMENT_STORE_OP_STORE,
+ vk::VK_IMAGE_LAYOUT_GENERAL,
+ vk::VK_IMAGE_LAYOUT_GENERAL));
+
+ const vk::VkAttachmentReference colorAttachmentReference
+ {
+ 0,
+ vk::VK_IMAGE_LAYOUT_GENERAL
+ };
- m_framebuffer = vk::createFramebuffer(m_vk, device, &framebufferCreateInfo);
+ renderPassCreateInfo.addSubpass(SubpassDescription(vk::VK_PIPELINE_BIND_POINT_GRAPHICS,
+ 0,
+ 0,
+ DE_NULL,
+ 1,
+ &colorAttachmentReference,
+ DE_NULL,
+ AttachmentReference(),
+ 0,
+ DE_NULL));
+
+ m_renderPass = vk::createRenderPass(m_vk, device, &renderPassCreateInfo);
+
+ // create framebuffer
+ std::vector<vk::VkImageView> colorAttachments { *m_colorTargetView };
+ const FramebufferCreateInfo framebufferCreateInfo (*m_renderPass, colorAttachments, WIDTH, HEIGHT, 1);
+ m_framebuffer = vk::createFramebuffer(m_vk, device, &framebufferCreateInfo);
+ }
const vk::VkVertexInputBindingDescription vertexInputBindingDescription =
{
vk::VkViewport viewport = vk::makeViewport(WIDTH, HEIGHT);
vk::VkRect2D scissor = vk::makeRect2D(WIDTH, HEIGHT);
+ // when dynamic_rendering is tested then renderPass won't be created and VK_NULL_HANDLE will be used here
PipelineCreateInfo pipelineCreateInfo(*m_pipelineLayout, *m_renderPass, 0, 0);
pipelineCreateInfo.addShader(PipelineCreateInfo::PipelineShaderStage(*vs, "main", vk::VK_SHADER_STAGE_VERTEX_BIT));
pipelineCreateInfo.addShader(PipelineCreateInfo::PipelineShaderStage(*fs, "main", vk::VK_SHADER_STAGE_FRAGMENT_BIT));
pipelineCreateInfo.addState(PipelineCreateInfo::RasterizerState());
pipelineCreateInfo.addState(PipelineCreateInfo::MultiSampleState());
+ vk::VkPipelineRenderingCreateInfoKHR renderingCreateInfo
+ {
+ vk::VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ DE_NULL,
+ 0u,
+ 1u,
+ &m_colorAttachmentFormat,
+ vk::VK_FORMAT_UNDEFINED
+ };
+
+ if (m_data.useDynamicRendering)
+ pipelineCreateInfo.pNext = &renderingCreateInfo;
+
m_pipeline = vk::createGraphicsPipeline(m_vk, device, DE_NULL, &pipelineCreateInfo);
}
void DrawTestInstanceBase::beginRenderPass (void)
{
- const vk::VkClearColorValue clearColor = { { 0.0f, 0.0f, 0.0f, 1.0f } };
+ const vk::VkClearValue clearColor { { { 0.0f, 0.0f, 0.0f, 1.0f } } };
beginCommandBuffer(m_vk, *m_cmdBuffer, 0u);
const ImageSubresourceRange subresourceRange(vk::VK_IMAGE_ASPECT_COLOR_BIT);
m_vk.cmdClearColorImage(*m_cmdBuffer, m_colorTargetImage->object(),
- vk::VK_IMAGE_LAYOUT_GENERAL, &clearColor, 1, &subresourceRange);
+ vk::VK_IMAGE_LAYOUT_GENERAL, &clearColor.color, 1, &subresourceRange);
const vk::VkMemoryBarrier memBarrier =
{
vk::VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,
0, 1, &memBarrier, 0, DE_NULL, 0, DE_NULL);
- const vk::VkRect2D renderArea = vk::makeRect2D(WIDTH, HEIGHT);
+ const vk::VkRect2D renderArea = vk::makeRect2D(WIDTH, HEIGHT);
+
+ if (m_data.useDynamicRendering)
+ vk::beginRendering(m_vk, *m_cmdBuffer, *m_colorTargetView, renderArea, clearColor);
+ else
+ vk::beginRenderPass(m_vk, *m_cmdBuffer, *m_renderPass, *m_framebuffer, renderArea, 1u, &clearColor);
+}
- vk::beginRenderPass(m_vk, *m_cmdBuffer, *m_renderPass, *m_framebuffer, renderArea, tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f));
+void DrawTestInstanceBase::endRenderPass (void)
+{
+ if (m_data.useDynamicRendering)
+ vk::endRendering(m_vk, *m_cmdBuffer);
+ else
+ vk::endRenderPass(m_vk, *m_cmdBuffer);
}
void DrawTestInstanceBase::generateRefImage (const tcu::PixelBufferAccess& access, const std::vector<tcu::Vec4>& vertices, const std::vector<tcu::Vec4>& colors) const
context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_GEOMETRY_SHADER);
}
+ if (m_data.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
+
if (m_data.topology == vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN &&
context.isDeviceFunctionalitySupported("VK_KHR_portability_subset") &&
!context.getPortabilitySubsetFeatures().triangleFans)
m_vk.cmdBindVertexBuffers(*m_cmdBuffer, 0, 1, &vertexBuffer, &vertexBufferOffset);
m_vk.cmdBindPipeline(*m_cmdBuffer, vk::VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipeline);
m_vk.cmdDraw(*m_cmdBuffer, m_data.params.vertexCount, m_data.params.instanceCount, m_data.params.firstVertex, m_data.params.firstInstance);
- endRenderPass(m_vk, *m_cmdBuffer);
+ endRenderPass();
endCommandBuffer(m_vk, *m_cmdBuffer);
submitCommandsAndWait(m_vk, device, queue, m_cmdBuffer.get());
m_vk.cmdBindIndexBuffer(*m_cmdBuffer, *indexBuffer, 0u, m_data.indexType);
m_vk.cmdDrawIndexed(*m_cmdBuffer, m_data.params.indexCount, m_data.params.instanceCount, m_data.params.firstIndex, m_data.params.vertexOffset, m_data.params.firstInstance);
- endRenderPass(m_vk, *m_cmdBuffer);
+ endRenderPass();
endCommandBuffer(m_vk, *m_cmdBuffer);
submitCommandsAndWait(m_vk, vkDevice, queue, m_cmdBuffer.get());
m_vk.cmdDrawIndirect(*m_cmdBuffer, *indirectBuffer, indirectAlloc->getOffset(), (deUint32)m_data.commands.size(), sizeof(vk::VkDrawIndirectCommand));
}
- endRenderPass(m_vk, *m_cmdBuffer);
+ endRenderPass();
endCommandBuffer(m_vk, *m_cmdBuffer);
submitCommandsAndWait(m_vk, vkDevice, queue, m_cmdBuffer.get());
m_vk.cmdDrawIndexedIndirect(*m_cmdBuffer, *indirectBuffer, indirectAlloc->getOffset(), (deUint32)m_data.commands.size(), sizeof(vk::VkDrawIndexedIndirectCommand));
}
- endRenderPass(m_vk, *m_cmdBuffer);
+ endRenderPass();
endCommandBuffer(m_vk, *m_cmdBuffer);
submitCommandsAndWait(m_vk, vkDevice, queue, m_cmdBuffer.get());
{
const DrawCommandType command;
const vk::VkPrimitiveTopology topology;
+ const bool useDynamicRendering;
- TestCaseParams (const DrawCommandType cmd, const vk::VkPrimitiveTopology top)
- : command (cmd)
- , topology (top)
+ TestCaseParams (const DrawCommandType cmd, const vk::VkPrimitiveTopology top, bool dynamicRendering)
+ : command (cmd)
+ , topology (top)
+ , useDynamicRendering (dynamicRendering)
{}
};
void populateSubGroup (tcu::TestCaseGroup* testGroup, const TestCaseParams caseParams)
{
- de::Random rnd (SEED ^ deStringHash(testGroup->getName()));
- tcu::TestContext& testCtx = testGroup->getTestContext();
- const DrawCommandType command = caseParams.command;
- const vk::VkPrimitiveTopology topology = caseParams.topology;
-
- for (deUint32 primitiveCountIdx = 0; primitiveCountIdx < DE_LENGTH_OF_ARRAY(PRIMITIVE_COUNT); ++primitiveCountIdx)
+ de::Random rnd (SEED ^ deStringHash(testGroup->getName()));
+ tcu::TestContext& testCtx = testGroup->getTestContext();
+ const DrawCommandType command = caseParams.command;
+ const vk::VkPrimitiveTopology topology = caseParams.topology;
+ const bool useDynamicRendering = caseParams.useDynamicRendering;
+ const deUint32 primitiveCountArrLength = DE_LENGTH_OF_ARRAY(PRIMITIVE_COUNT);
+
+ for (deUint32 primitiveCountIdx = 0; primitiveCountIdx < primitiveCountArrLength; ++primitiveCountIdx)
{
const deUint32 primitives = PRIMITIVE_COUNT[primitiveCountIdx];
+ // when testing VK_KHR_dynamic_rendering there is no need to duplicate tests for all primitive counts; use just 1 and 45
+ if (useDynamicRendering && (primitiveCountIdx != 0) && (primitiveCountIdx != primitiveCountArrLength-1))
+ continue;
+
deUint32 multiplier = 1;
deUint32 offset = 0;
// Calculated by Vulkan 23.1
deUint32 firstPrimitive = rnd.getInt(0, primitives);
deUint32 firstVertex = multiplier * firstPrimitive;
testGroup->addChild(new DrawCase(testCtx, name.c_str(), "vkCmdDraw testcase.",
- DrawParams(topology, vertexCount, 1, firstVertex, 0))
+ DrawParams(topology, useDynamicRendering, vertexCount, 1, firstVertex, 0))
);
break;
}
deUint32 firstIndex = rnd.getInt(0, OFFSET_LIMIT);
deUint32 vertexOffset = rnd.getInt(0, OFFSET_LIMIT);
testGroup->addChild(new IndexedCase(testCtx, name.c_str(), "vkCmdDrawIndexed testcase.",
- DrawIndexedParams(topology, vk::VK_INDEX_TYPE_UINT32, vertexCount, 1, firstIndex, vertexOffset, 0))
+ DrawIndexedParams(topology, useDynamicRendering, vk::VK_INDEX_TYPE_UINT32, vertexCount, 1, firstIndex, vertexOffset, 0))
);
break;
}
{
deUint32 firstVertex = rnd.getInt(0, OFFSET_LIMIT);
- DrawIndirectParams params = DrawIndirectParams(topology);
+ DrawIndirectParams params = DrawIndirectParams(topology, useDynamicRendering);
params.addCommand(vertexCount, 1, 0, 0);
testGroup->addChild(new IndirectCase(testCtx, (name + "_single_command").c_str(), "vkCmdDrawIndirect testcase.", params));
deUint32 firstIndex = rnd.getInt(vertexCount, OFFSET_LIMIT);
deUint32 vertexOffset = rnd.getInt(vertexCount, OFFSET_LIMIT);
- DrawIndexedIndirectParams params = DrawIndexedIndirectParams(topology, vk::VK_INDEX_TYPE_UINT32);
+ DrawIndexedIndirectParams params = DrawIndexedIndirectParams(topology, useDynamicRendering, vk::VK_INDEX_TYPE_UINT32);
params.addCommand(vertexCount, 1, 0, 0, 0);
testGroup->addChild(new IndexedIndirectCase(testCtx, (name + "_single_command").c_str(), "vkCmdDrawIndexedIndirect testcase.", params));
}
}
-void createTopologyGroups (tcu::TestCaseGroup* testGroup, const DrawCommandType cmdType)
+void createDrawTests(tcu::TestCaseGroup* testGroup, bool useDynamicRendering)
{
- for (deUint32 idx = 0; idx != vk::VK_PRIMITIVE_TOPOLOGY_PATCH_LIST; ++idx)
+ for (deUint32 drawTypeIndex = 0; drawTypeIndex < DRAW_COMMAND_TYPE_DRAW_LAST; ++drawTypeIndex)
{
- const vk::VkPrimitiveTopology topology = vk::VkPrimitiveTopology(idx);
- const std::string groupName = de::toLower(getPrimitiveTopologyName(topology)).substr(22);
- addTestGroup(testGroup, groupName, "Testcases with a specific topology.", populateSubGroup, TestCaseParams(cmdType, topology));
- }
-}
+ const DrawCommandType command (static_cast<DrawCommandType>(drawTypeIndex));
+ de::MovePtr<tcu::TestCaseGroup> topologyGroup (new tcu::TestCaseGroup(testGroup->getTestContext(), getDrawCommandTypeName(command), "Group for testing a specific draw command."));
-void createDrawTests (tcu::TestCaseGroup* testGroup)
-{
- for (deUint32 idx = 0; idx < DRAW_COMMAND_TYPE_DRAW_LAST; ++idx)
- {
- const DrawCommandType command = DrawCommandType(idx);
- addTestGroup(testGroup, getDrawCommandTypeName(command), "Group for testing a specific draw command.", createTopologyGroups, command);
+ for (deUint32 topologyIdx = 0; topologyIdx != vk::VK_PRIMITIVE_TOPOLOGY_PATCH_LIST; ++topologyIdx)
+ {
+ const vk::VkPrimitiveTopology topology (static_cast<vk::VkPrimitiveTopology>(topologyIdx));
+ const std::string groupName (de::toLower(getPrimitiveTopologyName(topology)).substr(22));
+
+ addTestGroup(topologyGroup.get(), groupName, "Testcases with a specific topology.", populateSubGroup, TestCaseParams(command, topology, useDynamicRendering));
+ }
+
+ testGroup->addChild(topologyGroup.release());
}
}
-tcu::TestCaseGroup* createBasicDrawTests (tcu::TestContext& testCtx)
+tcu::TestCaseGroup* createBasicDrawTests (tcu::TestContext& testCtx, bool useDynamicRendering)
{
- return createTestGroup(testCtx, "basic_draw", "Basic drawing tests", createDrawTests);
+ return createTestGroup(testCtx, "basic_draw", "Basic drawing tests", createDrawTests, useDynamicRendering);
}
} // DrawTests
namespace Draw
{
-tcu::TestCaseGroup* createBasicDrawTests (tcu::TestContext& testCtx);
+tcu::TestCaseGroup* createBasicDrawTests (tcu::TestContext& testCtx, bool useDynamicRendering);
} // Draw
} // vkt
namespace Draw
{
-DrawTestsBaseClass::DrawTestsBaseClass (Context& context, const char* vertexShaderName, const char* fragmentShaderName, vk::VkPrimitiveTopology topology)
+DrawTestsBaseClass::DrawTestsBaseClass (Context& context, const char* vertexShaderName, const char* fragmentShaderName, bool useDynamicRendering, vk::VkPrimitiveTopology topology)
: TestInstance (context)
, m_colorAttachmentFormat (vk::VK_FORMAT_R8G8B8A8_UNORM)
+ , m_useDynamicRendering (useDynamicRendering)
, m_topology (topology)
, m_vk (context.getDeviceInterface())
, m_vertexShaderName (vertexShaderName)
const ImageViewCreateInfo colorTargetViewInfo(m_colorTargetImage->object(), vk::VK_IMAGE_VIEW_TYPE_2D, m_colorAttachmentFormat);
m_colorTargetView = vk::createImageView(m_vk, device, &colorTargetViewInfo);
- RenderPassCreateInfo renderPassCreateInfo;
- renderPassCreateInfo.addAttachment(AttachmentDescription(m_colorAttachmentFormat,
- vk::VK_SAMPLE_COUNT_1_BIT,
- vk::VK_ATTACHMENT_LOAD_OP_LOAD,
- vk::VK_ATTACHMENT_STORE_OP_STORE,
- vk::VK_ATTACHMENT_LOAD_OP_DONT_CARE,
- vk::VK_ATTACHMENT_STORE_OP_STORE,
- vk::VK_IMAGE_LAYOUT_GENERAL,
- vk::VK_IMAGE_LAYOUT_GENERAL));
-
-
- const vk::VkAttachmentReference colorAttachmentReference =
+ // create renderpass and framebuffer only when we are not using dynamic rendering
+ if (!m_useDynamicRendering)
{
- 0,
- vk::VK_IMAGE_LAYOUT_GENERAL
- };
-
- renderPassCreateInfo.addSubpass(SubpassDescription(vk::VK_PIPELINE_BIND_POINT_GRAPHICS,
- 0,
- 0,
- DE_NULL,
- 1,
- &colorAttachmentReference,
- DE_NULL,
- AttachmentReference(),
- 0,
- DE_NULL));
-
- m_renderPass = vk::createRenderPass(m_vk, device, &renderPassCreateInfo);
-
- std::vector<vk::VkImageView> colorAttachments(1);
- colorAttachments[0] = *m_colorTargetView;
-
- const FramebufferCreateInfo framebufferCreateInfo(*m_renderPass, colorAttachments, WIDTH, HEIGHT, 1);
-
- m_framebuffer = vk::createFramebuffer(m_vk, device, &framebufferCreateInfo);
+ RenderPassCreateInfo renderPassCreateInfo;
+ renderPassCreateInfo.addAttachment(AttachmentDescription(m_colorAttachmentFormat,
+ vk::VK_SAMPLE_COUNT_1_BIT,
+ vk::VK_ATTACHMENT_LOAD_OP_LOAD,
+ vk::VK_ATTACHMENT_STORE_OP_STORE,
+ vk::VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+ vk::VK_ATTACHMENT_STORE_OP_STORE,
+ vk::VK_IMAGE_LAYOUT_GENERAL,
+ vk::VK_IMAGE_LAYOUT_GENERAL));
+
+ const vk::VkAttachmentReference colorAttachmentReference
+ {
+ 0,
+ vk::VK_IMAGE_LAYOUT_GENERAL
+ };
+
+ renderPassCreateInfo.addSubpass(SubpassDescription(vk::VK_PIPELINE_BIND_POINT_GRAPHICS,
+ 0,
+ 0,
+ DE_NULL,
+ 1,
+ &colorAttachmentReference,
+ DE_NULL,
+ AttachmentReference(),
+ 0,
+ DE_NULL));
+
+ m_renderPass = vk::createRenderPass(m_vk, device, &renderPassCreateInfo);
+
+ // create framebuffer
+ std::vector<vk::VkImageView> colorAttachments { *m_colorTargetView };
+ const FramebufferCreateInfo framebufferCreateInfo (*m_renderPass, colorAttachments, WIDTH, HEIGHT, 1);
+ m_framebuffer = vk::createFramebuffer(m_vk, device, &framebufferCreateInfo);
+ }
const vk::VkVertexInputBindingDescription vertexInputBindingDescription =
{
pipelineCreateInfo.addState(PipelineCreateInfo::RasterizerState());
pipelineCreateInfo.addState(PipelineCreateInfo::MultiSampleState());
+ vk::VkPipelineRenderingCreateInfoKHR renderingCreateInfo
+ {
+ vk::VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ DE_NULL,
+ 0u,
+ 1u,
+ &m_colorAttachmentFormat,
+ vk::VK_FORMAT_UNDEFINED
+ };
+
+ if (m_useDynamicRendering)
+ pipelineCreateInfo.pNext = &renderingCreateInfo;
+
m_pipeline = vk::createGraphicsPipeline(m_vk, device, DE_NULL, &pipelineCreateInfo);
}
-void DrawTestsBaseClass::beginRenderPass (const vk::VkSubpassContents content)
+void DrawTestsBaseClass::beginRender (const vk::VkSubpassContents content)
{
- const vk::VkClearColorValue clearColor = { { 0.0f, 0.0f, 0.0f, 1.0f } };
+ const vk::VkClearValue clearColor { { { 0.0f, 0.0f, 0.0f, 1.0f } } };
beginCommandBuffer(m_vk, *m_cmdBuffer, 0u);
const ImageSubresourceRange subresourceRange(vk::VK_IMAGE_ASPECT_COLOR_BIT);
m_vk.cmdClearColorImage(*m_cmdBuffer, m_colorTargetImage->object(),
- vk::VK_IMAGE_LAYOUT_GENERAL, &clearColor, 1, &subresourceRange);
+ vk::VK_IMAGE_LAYOUT_GENERAL, &clearColor.color, 1, &subresourceRange);
const vk::VkMemoryBarrier memBarrier =
{
0, 1, &memBarrier, 0, DE_NULL, 0, DE_NULL);
const vk::VkRect2D renderArea = vk::makeRect2D(WIDTH, HEIGHT);
- vk::beginRenderPass(m_vk, *m_cmdBuffer, *m_renderPass, *m_framebuffer, renderArea, content);
+ if (m_useDynamicRendering)
+ {
+ vk::VkRenderingFlagsKHR renderingFlags = 0;
+ if (content == vk::VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS)
+ renderingFlags = vk::VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR;
+
+ vk::beginRendering(m_vk, *m_cmdBuffer, *m_colorTargetView, renderArea, clearColor, vk::VK_IMAGE_LAYOUT_GENERAL, vk::VK_ATTACHMENT_LOAD_OP_LOAD, renderingFlags);
+ }
+ else
+ vk::beginRenderPass(m_vk, *m_cmdBuffer, *m_renderPass, *m_framebuffer, renderArea, content);
+}
+
+void DrawTestsBaseClass::endRender (void)
+{
+ if (m_useDynamicRendering)
+ vk::endRendering(m_vk, *m_cmdBuffer);
+ else
+ vk::endRenderPass(m_vk, *m_cmdBuffer);
}
} // Draw
class DrawTestsBaseClass : public TestInstance
{
public:
- DrawTestsBaseClass (Context& context, const char* vertexShaderName, const char* fragmentShaderName, vk::VkPrimitiveTopology topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP);
+ DrawTestsBaseClass (Context& context, const char* vertexShaderName, const char* fragmentShaderName, bool useDynamicRendering, vk::VkPrimitiveTopology topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP);
protected:
void initialize (void);
virtual void initPipeline (const vk::VkDevice device);
- void beginRenderPass (const vk::VkSubpassContents content = vk::VK_SUBPASS_CONTENTS_INLINE);
+ void beginRender (const vk::VkSubpassContents content = vk::VK_SUBPASS_CONTENTS_INLINE);
+ void endRender (void);
virtual tcu::TestStatus iterate (void) { TCU_FAIL("Implement iterate() method!"); }
enum
vk::VkFormat m_colorAttachmentFormat;
+ const bool m_useDynamicRendering;
const vk::VkPrimitiveTopology m_topology;
const vk::DeviceInterface& m_vk;
};
ConcurrentDraw::ConcurrentDraw (Context &context, TestSpec testSpec)
- : DrawTestsBaseClass(context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], testSpec.topology)
+ : DrawTestsBaseClass(context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], testSpec.useDynamicRendering, testSpec.topology)
{
m_data.push_back(VertexElementData(tcu::Vec4(1.0f, -1.0f, 1.0f, 1.0f), tcu::RGBA::blue().toVec(), -1));
m_data.push_back(VertexElementData(tcu::Vec4(-1.0f, 1.0f, 1.0f, 1.0f), tcu::RGBA::blue().toVec(), -1));
const VkQueue drawQueue = m_context.getUniversalQueue();
const VkDevice drawDevice = m_context.getDevice();
- beginRenderPass();
+ beginRender();
const VkDeviceSize vertexBufferOffset = 0;
const VkBuffer vertexBuffer = m_vertexBuffer->object();
m_vk.cmdDraw(*m_cmdBuffer, 6, 1, 2, 0);
- endRenderPass(m_vk, *m_cmdBuffer);
+ endRender();
endCommandBuffer(m_vk, *m_cmdBuffer);
const VkCommandBuffer drawCommandBuffer = m_cmdBuffer.get();
return tcu::TestStatus(res, qpGetTestResultName(res));
}
+void checkSupport(Context& context, ConcurrentDraw::TestSpec testSpec)
+{
+ if (testSpec.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
+}
+
} // anonymous
-ConcurrentDrawTests::ConcurrentDrawTests (tcu::TestContext &testCtx)
-: TestCaseGroup (testCtx, "concurrent", "concurrent drawing")
+ConcurrentDrawTests::ConcurrentDrawTests (tcu::TestContext &testCtx, bool useDynamicRendering)
+ : TestCaseGroup (testCtx, "concurrent", "concurrent drawing")
+ , m_useDynamicRendering (useDynamicRendering)
{
/* Left blank on purpose */
}
-ConcurrentDrawTests::~ConcurrentDrawTests (void) {}
-
void ConcurrentDrawTests::init (void)
{
+ ConcurrentDraw::TestSpec testSpec
{
- ConcurrentDraw::TestSpec testSpec;
- testSpec.shaders[glu::SHADERTYPE_VERTEX] = "vulkan/draw/VertexFetch.vert";
- testSpec.shaders[glu::SHADERTYPE_FRAGMENT] = "vulkan/draw/VertexFetch.frag";
- testSpec.shaders[glu::SHADERTYPE_COMPUTE] = "vulkan/draw/ConcurrentPayload.comp";
+ {
+ { glu::SHADERTYPE_VERTEX, "vulkan/draw/VertexFetch.vert" },
+ { glu::SHADERTYPE_FRAGMENT, "vulkan/draw/VertexFetch.frag" },
+ { glu::SHADERTYPE_COMPUTE, "vulkan/draw/ConcurrentPayload.comp" }
+ },
+ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,
+ m_useDynamicRendering
+ };
- testSpec.topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- addChild(new InstanceFactory<ConcurrentDraw>(m_testCtx, "compute_and_triangle_list", "Draws triangle list while running a compute shader", testSpec));
- }
+ addChild(new InstanceFactory<ConcurrentDraw, FunctionSupport1<ConcurrentDraw::TestSpec>>(m_testCtx, "compute_and_triangle_list", "Draws triangle list while running a compute shader", testSpec, FunctionSupport1<ConcurrentDraw::TestSpec>::Args(checkSupport, testSpec)));
}
} // DrawTests
class ConcurrentDrawTests : public tcu::TestCaseGroup
{
public:
- ConcurrentDrawTests (tcu::TestContext &testCtx);
- ~ConcurrentDrawTests (void);
+ ConcurrentDrawTests (tcu::TestContext &testCtx, bool useDynamicRendering);
+ ~ConcurrentDrawTests (void) = default;
void init (void);
private:
ConcurrentDrawTests (const ConcurrentDrawTests &other);
ConcurrentDrawTests& operator= (const ConcurrentDrawTests &other);
+private:
+ const bool m_useDynamicRendering;
};
} // Draw
} // vkt
class DepthClampTestInstance : public TestInstance {
public:
- DepthClampTestInstance (Context& context, const TestParams& params, const VkFormat format, const float epsilon);
+ DepthClampTestInstance (Context& context, const TestParams& params, const VkFormat format, const float epsilon, bool useDynamicRendering);
tcu::TestStatus iterate ();
private:
const float m_epsilon;
std::vector<VkViewport> m_viewportVect;
std::vector<VkRect2D> m_scissorVect;
+ const bool m_useDynamicRendering;
SharedPtr<Image> m_depthTargetImage;
Move<VkImageView> m_depthTargetView;
SharedPtr<Buffer> m_vertexBuffer;
};
static const VkPrimitiveTopology verticesTopology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
-DepthClampTestInstance::DepthClampTestInstance (Context& context, const TestParams& params, const VkFormat format, const float epsilon)
+DepthClampTestInstance::DepthClampTestInstance (Context& context, const TestParams& params, const VkFormat format, const float epsilon, bool useDynamicRendering)
: TestInstance(context)
, m_params(params)
, m_format(format)
, m_epsilon(epsilon)
, m_viewportVect(params.viewportData.size(), VkViewport())
, m_scissorVect(params.viewportData.size(), VkRect2D())
+ , m_useDynamicRendering(useDynamicRendering)
{
const DeviceInterface& vk = m_context.getDeviceInterface();
const VkDevice device = m_context.getDevice();
deMemcpy(m_vertexBuffer->getBoundMemory().getHostPtr(), testVertices, static_cast<std::size_t>(dataSize));
flushMappedMemoryRange(vk, device, m_vertexBuffer->getBoundMemory().getMemory(), m_vertexBuffer->getBoundMemory().getOffset(), VK_WHOLE_SIZE);
}
- // Render pass
- {
- const VkImageUsageFlags targetImageUsageFlags = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
- const ImageCreateInfo targetImageCreateInfo (VK_IMAGE_TYPE_2D, m_format, { WIDTH, HEIGHT, 1u }, 1u, 1u, VK_SAMPLE_COUNT_1_BIT, VK_IMAGE_TILING_OPTIMAL, targetImageUsageFlags);
- m_depthTargetImage = Image::createAndAlloc(vk, device, targetImageCreateInfo, m_context.getDefaultAllocator(), queueFamilyIndex);
+ const VkImageUsageFlags targetImageUsageFlags = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+ const ImageCreateInfo targetImageCreateInfo (VK_IMAGE_TYPE_2D, m_format, { WIDTH, HEIGHT, 1u }, 1u, 1u, VK_SAMPLE_COUNT_1_BIT, VK_IMAGE_TILING_OPTIMAL, targetImageUsageFlags);
+ m_depthTargetImage = Image::createAndAlloc(vk, device, targetImageCreateInfo, m_context.getDefaultAllocator(), queueFamilyIndex);
+
+ const ImageViewCreateInfo depthTargetViewInfo (m_depthTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, m_format);
+ m_depthTargetView = createImageView(vk, device, &depthTargetViewInfo);
+
+ // Render pass and framebuffer
+ if (!m_useDynamicRendering)
+ {
RenderPassCreateInfo renderPassCreateInfo;
renderPassCreateInfo.addAttachment(AttachmentDescription(
m_format, // format
0u, // preserveAttachmentCount
DE_NULL)); // preserveAttachments
m_renderPass = createRenderPass(vk, device, &renderPassCreateInfo);
- }
-
- const ImageViewCreateInfo depthTargetViewInfo (m_depthTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, m_format);
- m_depthTargetView = createImageView(vk, device, &depthTargetViewInfo);
- const std::vector<VkImageView> depthAttachments { *m_depthTargetView };
- FramebufferCreateInfo framebufferCreateInfo (*m_renderPass, depthAttachments, WIDTH, HEIGHT, 1);
-
- m_framebuffer = createFramebuffer(vk, device, &framebufferCreateInfo);
+ const std::vector<VkImageView> depthAttachments { *m_depthTargetView };
+ FramebufferCreateInfo framebufferCreateInfo (*m_renderPass, depthAttachments, WIDTH, HEIGHT, 1);
+ m_framebuffer = createFramebuffer(vk, device, &framebufferCreateInfo);
+ }
// Vertex input
const VkVertexInputBindingDescription vertexInputBindingDescription =
pipelineCreateInfo.addState (PipelineCreateInfo::MultiSampleState ());
pipelineCreateInfo.addState (PipelineCreateInfo::DynamicState (dynamicStates));
+ vk::VkPipelineRenderingCreateInfoKHR renderingCreateInfo
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ DE_NULL,
+ 0u,
+ 0u,
+ DE_NULL,
+ m_format
+ };
+
+ if (m_useDynamicRendering)
+ pipelineCreateInfo.pNext = &renderingCreateInfo;
+
m_pipeline = createGraphicsPipeline(vk, device, DE_NULL, &pipelineCreateInfo);
}
const VkImageAspectFlagBits aspectBits = (VkImageAspectFlagBits)(isCombinedType ? VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT : VK_IMAGE_ASPECT_DEPTH_BIT);
const ImageSubresourceRange subresourceRange (aspectBits);
- const VkClearDepthStencilValue clearDepth = makeClearDepthStencilValue(initialClearDepth, 0u);
+ const VkClearValue clearDepth = makeClearValueDepthStencil(initialClearDepth, 0u);
- vk.cmdClearDepthStencilImage(*cmdBuffer, m_depthTargetImage->object(), VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, &clearDepth, 1, &subresourceRange);
+ vk.cmdClearDepthStencilImage(*cmdBuffer, m_depthTargetImage->object(), VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, &clearDepth.depthStencil, 1, &subresourceRange);
transition2DImage(vk, *cmdBuffer, m_depthTargetImage->object(), aspectBits,
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
vk.cmdSetScissor (*cmdBuffer, index, 1u, &m_scissorVect[index]);
}
- beginRenderPass(vk, *cmdBuffer, *m_renderPass, *m_framebuffer, makeRect2D(0, 0, WIDTH, HEIGHT));
+ const VkRect2D renderArea = makeRect2D(0, 0, WIDTH, HEIGHT);
+ if (m_useDynamicRendering)
+ {
+ VkRenderingAttachmentInfoKHR depthAttachment
+ {
+ VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ *m_depthTargetView, // VkImageView imageView;
+ VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, // VkImageLayout imageLayout;
+ VK_RESOLVE_MODE_NONE, // VkResolveModeFlagBits resolveMode;
+ DE_NULL, // VkImageView resolveImageView;
+ VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout resolveImageLayout;
+ VK_ATTACHMENT_LOAD_OP_LOAD, // VkAttachmentLoadOp loadOp;
+ VK_ATTACHMENT_STORE_OP_STORE, // VkAttachmentStoreOp storeOp;
+ clearDepth // VkClearValue clearValue;
+ };
+
+ VkRenderingInfoKHR renderingInfo
+ {
+ VK_STRUCTURE_TYPE_RENDERING_INFO_KHR,
+ DE_NULL,
+ 0u, // VkRenderingFlagsKHR flags;
+ renderArea, // VkRect2D renderArea;
+ 1u, // deUint32 layerCount;
+ 0u, // deUint32 viewMask;
+ 0u, // deUint32 colorAttachmentCount;
+ DE_NULL, // const VkRenderingAttachmentInfoKHR* pColorAttachments;
+ &depthAttachment, // const VkRenderingAttachmentInfoKHR* pDepthAttachment;
+ DE_NULL, // const VkRenderingAttachmentInfoKHR* pStencilAttachment;
+ };
+
+ vk.cmdBeginRenderingKHR(*cmdBuffer, &renderingInfo);
+ }
+ else
+ beginRenderPass(vk, *cmdBuffer, *m_renderPass, *m_framebuffer, makeRect2D(0, 0, WIDTH, HEIGHT));
+
vk.cmdBindPipeline(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipeline);
const VkDeviceSize offset = 0;
const VkBuffer buffer = m_vertexBuffer->object();
vk.cmdBindVertexBuffers(*cmdBuffer, 0, 1, &buffer, &offset);
vk.cmdDraw(*cmdBuffer, DE_LENGTH_OF_ARRAY(vertices), 1, 0, 0);
- endRenderPass(vk, *cmdBuffer);
+
+ if (m_useDynamicRendering)
+ endRendering(vk, *cmdBuffer);
+ else
+ endRenderPass(vk, *cmdBuffer);
transition2DImage(vk, *cmdBuffer, m_depthTargetImage->object(), aspectBits,
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
class DepthClampTest : public TestCase
{
public:
- DepthClampTest (tcu::TestContext &testCtx, const string& name, const string& description, const TestParams ¶ms, const VkFormat format, const float epsilon)
+ DepthClampTest (tcu::TestContext &testCtx, const string& name, const string& description, const TestParams ¶ms, const VkFormat format, const float epsilon, bool useDynamicRendering)
: TestCase (testCtx, name, description)
, m_params(params)
, m_format(format)
, m_epsilon(epsilon)
+ , m_useDynamicRendering(useDynamicRendering)
{
}
{
TCU_THROW(NotSupportedError, "Format not supported");
}
+
+ if (m_useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
}
virtual TestInstance* createInstance (Context& context) const
{
- return new DepthClampTestInstance(context, m_params, m_format, m_epsilon);
+ return new DepthClampTestInstance(context, m_params, m_format, m_epsilon, m_useDynamicRendering);
}
private:
const TestParams m_params;
const VkFormat m_format;
const float m_epsilon;
+ const bool m_useDynamicRendering;
};
std::string getFormatCaseName (VkFormat format)
return de::toLower(de::toString(getFormatStr(format)).substr(10));
}
-void createTests (tcu::TestCaseGroup* testGroup)
+void createTests (tcu::TestCaseGroup* testGroup, bool useDynamicRendering)
{
for(int i = 0; i < DE_LENGTH_OF_ARRAY(depthStencilImageFormatsToTest); ++i)
{
if ((params.skipSNorm && vk::isSnormFormat(format)) || (params.skipUNorm && isUnormDepthFormat(format)))
continue;
const auto testCaseName = formatCaseName + params.testNameSuffix;
- testGroup->addChild(new DepthClampTest(testGroup->getTestContext(), testCaseName, "Depth clamp", params, format, epsilon));
+ testGroup->addChild(new DepthClampTest(testGroup->getTestContext(), testCaseName, "Depth clamp", params, format, epsilon, useDynamicRendering));
}
}
}
} // anonymous
-tcu::TestCaseGroup* createDepthClampTests (tcu::TestContext& testCtx)
+tcu::TestCaseGroup* createDepthClampTests (tcu::TestContext& testCtx, bool useDynamicRendering)
{
- return createTestGroup(testCtx, "depth_clamp", "Depth Clamp Tests", createTests);
+ return createTestGroup(testCtx, "depth_clamp", "Depth Clamp Tests", createTests, useDynamicRendering);
}
} // Draw
} // vkt
namespace Draw
{
-tcu::TestCaseGroup* createDepthClampTests (tcu::TestContext& testCtx);
+tcu::TestCaseGroup* createDepthClampTests (tcu::TestContext& testCtx, bool useDynamicRendering);
} // Draw
} // vkt
string fragShader;
string refVertShader;
string refFragShader;
+ bool useDynamicRendering;
};
class DrawTestInstance : public TestInstance
DrawTestCase (tcu::TestContext& context, const char* name, const char* desc, const DrawParams data);
~DrawTestCase (void);
virtual void initPrograms (SourceCollections& programCollection) const;
+ virtual void checkSupport (Context& context) const;
virtual TestInstance* createInstance (Context& context) const;
private:
programCollection.glslSources.add("fragNoPerspective") << glu::FragmentSource(fragShader.specialize(noPerspective));
}
+void DrawTestCase::checkSupport(Context& context) const
+{
+ if (m_data.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
+}
+
TestInstance* DrawTestCase::createInstance (Context& context) const
{
return new DrawTestInstance(context, m_data);
Move<VkCommandBuffer> cmdBuffer = allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
const Unique<VkShaderModule> vs (createShaderModule(vk, device, m_context.getBinaryCollection().get(vertShaderNames[frameIdx].c_str()), 0));
const Unique<VkShaderModule> fs (createShaderModule(vk, device, m_context.getBinaryCollection().get(fragShaderNames[frameIdx].c_str()), 0));
+ const VkFormat targetImageFormat = VK_FORMAT_R8G8B8A8_UNORM;
de::SharedPtr<Buffer> vertexBuffer;
Move<VkRenderPass> renderPass;
Move<VkImageView> colorTargetView;
// Create color buffer image.
{
const VkExtent3D targetImageExtent = { WIDTH, HEIGHT, 1 };
- const ImageCreateInfo targetImageCreateInfo (VK_IMAGE_TYPE_2D, VK_FORMAT_R8G8B8A8_UNORM, targetImageExtent, 1, 1, VK_SAMPLE_COUNT_1_BIT,
+ const ImageCreateInfo targetImageCreateInfo (VK_IMAGE_TYPE_2D, targetImageFormat, targetImageExtent, 1, 1, VK_SAMPLE_COUNT_1_BIT,
VK_IMAGE_TILING_OPTIMAL, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT);
colorTargetImages[frameIdx] = Image::createAndAlloc(vk, device, targetImageCreateInfo, m_context.getDefaultAllocator(), m_context.getUniversalQueueFamilyIndex());
}
+ const ImageViewCreateInfo colorTargetViewInfo(colorTargetImages[frameIdx]->object(), VK_IMAGE_VIEW_TYPE_2D, targetImageFormat);
+ colorTargetView = createImageView(vk, device, &colorTargetViewInfo);
+
// Create render pass and frame buffer.
+ if (!m_data.useDynamicRendering)
{
- const ImageViewCreateInfo colorTargetViewInfo (colorTargetImages[frameIdx]->object(), VK_IMAGE_VIEW_TYPE_2D, VK_FORMAT_R8G8B8A8_UNORM);
- colorTargetView = createImageView(vk, device, &colorTargetViewInfo);
-
RenderPassCreateInfo renderPassCreateInfo;
- renderPassCreateInfo.addAttachment(AttachmentDescription(VK_FORMAT_R8G8B8A8_UNORM,
+ renderPassCreateInfo.addAttachment(AttachmentDescription(targetImageFormat,
VK_SAMPLE_COUNT_1_BIT,
VK_ATTACHMENT_LOAD_OP_LOAD,
VK_ATTACHMENT_STORE_OP_STORE,
0,
DE_NULL));
- vector<VkImageView> colorAttachments (1);
-
- renderPass = createRenderPass(vk, device, &renderPassCreateInfo);
- colorAttachments[0] = *colorTargetView;
+ renderPass = createRenderPass(vk, device, &renderPassCreateInfo);
+ vector<VkImageView> colorAttachments { *colorTargetView };
const FramebufferCreateInfo framebufferCreateInfo (*renderPass, colorAttachments, WIDTH, HEIGHT, 1);
-
framebuffer = createFramebuffer(vk, device, &framebufferCreateInfo);
}
pipelineCreateInfo.addState(PipelineCreateInfo::RasterizerState());
pipelineCreateInfo.addState(PipelineCreateInfo::MultiSampleState());
+ vk::VkPipelineRenderingCreateInfoKHR renderingCreateInfo
+ {
+ vk::VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ DE_NULL,
+ 0u,
+ 1u,
+ &targetImageFormat,
+ vk::VK_FORMAT_UNDEFINED
+ };
+
+ if (m_data.useDynamicRendering)
+ pipelineCreateInfo.pNext = &renderingCreateInfo;
+
pipeline = createGraphicsPipeline(vk, device, DE_NULL, &pipelineCreateInfo);
}
// Queue draw and read results.
{
const VkQueue queue = m_context.getUniversalQueue();
- const VkClearColorValue clearColor = { { 0.0f, 0.0f, 0.0f, 1.0f } };
+ const VkClearValue clearColor = { { { 0.0f, 0.0f, 0.0f, 1.0f } } };
const ImageSubresourceRange subresourceRange (VK_IMAGE_ASPECT_COLOR_BIT);
const VkMemoryBarrier memBarrier =
{
vk::VK_ACCESS_TRANSFER_WRITE_BIT, vk::VK_PIPELINE_STAGE_TRANSFER_BIT);
vk.cmdClearColorImage(*cmdBuffer, colorTargetImages[frameIdx]->object(),
- VK_IMAGE_LAYOUT_GENERAL, &clearColor, 1, &subresourceRange);
+ VK_IMAGE_LAYOUT_GENERAL, &clearColor.color, 1, &subresourceRange);
vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT,
VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,
0, 1, &memBarrier, 0, DE_NULL, 0, DE_NULL);
- beginRenderPass(vk, *cmdBuffer, *renderPass, *framebuffer, renderArea);
+ if (m_data.useDynamicRendering)
+ beginRendering(vk, *cmdBuffer, *colorTargetView, renderArea, clearColor);
+ else
+ beginRenderPass(vk, *cmdBuffer, *renderPass, *framebuffer, renderArea);
+
vk.cmdBindVertexBuffers(*cmdBuffer, 0, 1, &buffer, &vertexBufferOffset);
vk.cmdBindPipeline(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *pipeline);
vk.cmdDraw(*cmdBuffer, 3u, 1u, 0u, 0u);
- endRenderPass(vk, *cmdBuffer);
+
+ if (m_data.useDynamicRendering)
+ endRendering(vk, *cmdBuffer);
+ else
+ endRenderPass(vk, *cmdBuffer);
+
endCommandBuffer(vk, *cmdBuffer);
submitCommandsAndWait(vk, device, queue, cmdBuffer.get());
return tcu::TestStatus(res, qpGetTestResultName(res));
}
-void createTests (tcu::TestCaseGroup* testGroup)
+void createTests (tcu::TestCaseGroup* testGroup, bool useDynamicRendering)
{
tcu::TestContext& testCtx = testGroup->getTestContext();
- const DrawParams paramsFlat0 = { "vert", "fragFlatColor", "vertFlatColor", "fragFlatColor" };
- const DrawParams paramsFlat1 = { "vertFlatColor", "frag", "vert", "frag" };
+ const DrawParams paramsFlat0 = { "vert", "fragFlatColor", "vertFlatColor", "fragFlatColor", useDynamicRendering };
+ const DrawParams paramsFlat1 = { "vertFlatColor", "frag", "vert", "frag", useDynamicRendering };
- const DrawParams paramsNoPerspective0 = { "vert", "fragNoPerspective", "vertNoPerspective", "fragNoPerspective" };
- const DrawParams paramsNoPerspective1 = { "vertNoPerspective", "frag", "vert", "frag" };
+ const DrawParams paramsNoPerspective0 = { "vert", "fragNoPerspective", "vertNoPerspective", "fragNoPerspective", useDynamicRendering };
+ const DrawParams paramsNoPerspective1 = { "vertNoPerspective", "frag", "vert", "frag", useDynamicRendering };
testGroup->addChild(new DrawTestCase(testCtx, "flat_0", "Mismatching flat interpolation testcase 0.", paramsFlat0));
testGroup->addChild(new DrawTestCase(testCtx, "flat_1", "Mismatching flat interpolation testcase 1.", paramsFlat1));
} // anonymous
-tcu::TestCaseGroup* createDifferingInterpolationTests (tcu::TestContext& testCtx)
+tcu::TestCaseGroup* createDifferingInterpolationTests (tcu::TestContext& testCtx, bool useDynamicRendering)
{
- return createTestGroup(testCtx, "differing_interpolation", "Tests for mismatched interpolation decorations.", createTests);
+ return createTestGroup(testCtx, "differing_interpolation", "Tests for mismatched interpolation decorations.", createTests, useDynamicRendering);
}
} // Draw
namespace Draw
{
-tcu::TestCaseGroup* createDifferingInterpolationTests (tcu::TestContext& testCtx);
+tcu::TestCaseGroup* createDifferingInterpolationTests (tcu::TestContext& testCtx, bool useDynamicRendering);
} // Draw
} // vkt
#include "vktTestGroupUtil.hpp"
#include "vktTestCase.hpp"
#include "vktDrawBufferObjectUtil.hpp"
+#include "vktDrawImageObjectUtil.hpp"
#include "tcuTestCase.hpp"
#include "tcuVector.hpp"
deUint32 numRectangles;
deBool dynamicDiscardRectangles;
TestScissorMode scissorMode;
+ deBool useDynamicRendering;
};
template<typename T>
VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO, // VkStructureType sType;
DE_NULL, // const void* pNext;
0u, // VkPipelineDynamicStateCreateFlags flags;
- (deUint32)dynamicStates.size(), // deUint32 dynamicStateCount;
+ (deUint32)dynamicStates.size(), // deUint32 dynamicStateCount;
dynamicStates.data() // const VkDynamicState* pDynamicStates;
};
- const VkGraphicsPipelineCreateInfo graphicsPipelineInfo =
+ VkGraphicsPipelineCreateInfo graphicsPipelineInfo =
{
VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, // VkStructureType sType;
&discardRectangleStateCreateInfo, // const void* pNext;
0, // deInt32 basePipelineIndex;
};
+ VkFormat colorAttachmentFormat = VK_FORMAT_R8G8B8A8_UNORM;
+ vk::VkPipelineRenderingCreateInfoKHR renderingCreateInfo
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ &discardRectangleStateCreateInfo,
+ 0u,
+ 1u,
+ &colorAttachmentFormat,
+ VK_FORMAT_UNDEFINED
+ };
+
+ // when pipeline is created without render pass we are using dynamic rendering
+ if (renderPass == DE_NULL)
+ graphicsPipelineInfo.pNext = &renderingCreateInfo;
+
return createGraphicsPipeline(vk, device, DE_NULL, &graphicsPipelineInfo);
}
m_vertexModule = createShaderModule (vk, device, m_context.getBinaryCollection().get("vert"), 0u);
m_fragmentModule = createShaderModule (vk, device, m_context.getBinaryCollection().get("frag"), 0u);
- m_renderPass = makeRenderPass (vk, device, colorFormat);
- m_framebuffer = makeFramebuffer (vk, device, *m_renderPass, m_colorAttachment.get(),
+
+ if (!m_params.useDynamicRendering)
+ {
+ m_renderPass = makeRenderPass (vk, device, colorFormat);
+ m_framebuffer = makeFramebuffer (vk, device, *m_renderPass, m_colorAttachment.get(),
static_cast<deUint32>(m_renderSize.x()),
static_cast<deUint32>(m_renderSize.y()));
+ }
+
m_pipelineLayout = makePipelineLayout (vk, device);
generateDiscardRectangles(m_renderSize, m_params.numRectangles, m_rectangles);
makeOffset2D(0, 0),
makeExtent2D(m_renderSize.x(), m_renderSize.y()),
};
- const VkRenderPassBeginInfo renderPassBeginInfo =
+
+ if (m_params.useDynamicRendering)
{
- VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO, // VkStructureType sType;
- DE_NULL, // const void* pNext;
- *m_renderPass, // VkRenderPass renderPass;
- *m_framebuffer, // VkFramebuffer framebuffer;
- renderArea, // VkRect2D renderArea;
- 1u, // uint32_t clearValueCount;
- &clearValue, // const VkClearValue* pClearValues;
- };
- vk.cmdBeginRenderPass(*m_cmdBuffer, &renderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE);
+ initialTransitionColor2DImage(vk, *m_cmdBuffer, *m_colorImage, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
+ VK_ACCESS_TRANSFER_WRITE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT);
+ beginRendering(vk, *m_cmdBuffer, *m_colorAttachment, renderArea, clearValue, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_ATTACHMENT_LOAD_OP_CLEAR);
+ }
+ else
+ {
+ const VkRenderPassBeginInfo renderPassBeginInfo =
+ {
+ VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ *m_renderPass, // VkRenderPass renderPass;
+ *m_framebuffer, // VkFramebuffer framebuffer;
+ renderArea, // VkRect2D renderArea;
+ 1u, // uint32_t clearValueCount;
+ &clearValue, // const VkClearValue* pClearValues;
+ };
+ vk.cmdBeginRenderPass(*m_cmdBuffer, &renderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE);
+ }
vk.cmdBindPipeline(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipeline);
{
vk.cmdSetScissor(*m_cmdBuffer, 0u, 1u, &rectScissor);
}
vk.cmdDraw(*m_cmdBuffer, static_cast<deUint32>(m_vertices.size()), 1u, 0u, 0u); // two triangles
- vk.cmdEndRenderPass(*m_cmdBuffer);
+
+ if (m_params.useDynamicRendering)
+ vk.cmdEndRenderingKHR(*m_cmdBuffer);
+ else
+ vk.cmdEndRenderPass(*m_cmdBuffer);
copyImageToBuffer(vk, *m_cmdBuffer, *m_colorImage, m_colorBuffer->object(), tcu::IVec2(m_renderSize.x(), m_renderSize.y()), VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, colorSubresourceRange.layerCount);
void DiscardRectanglesTestCase::checkSupport (Context& context) const
{
context.requireDeviceFunctionality("VK_EXT_discard_rectangles");
+ if (m_params.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
}
TestInstance* DiscardRectanglesTestCase::createInstance (Context& context) const
return new DiscardRectanglesTestInstance(context, m_params);
}
-void createTests (tcu::TestCaseGroup* testGroup)
+void createTests (tcu::TestCaseGroup* testGroup, bool useDynamicRendering)
{
tcu::TestContext& testCtx = testGroup->getTestContext();
deUint32 numRect [NUM_RECT_TESTS] = { 1, 2, 3, 4, 8, 16};
params.dynamicDiscardRectangles = dynamic ? DE_TRUE : DE_FALSE;
params.scissorMode = (TestScissorMode) scissor;
params.numRectangles = numRect[rect];
+ params.useDynamicRendering = useDynamicRendering;
name << dynamicName[dynamic] << scissorName[scissor] << modeName[mode] << "rect_" << numRect[rect];
testGroup->addChild(new DiscardRectanglesTestCase(testCtx, name.str().c_str(), "", params));
}
} // Anonymous
-tcu::TestCaseGroup* createDiscardRectanglesTests (tcu::TestContext& testCtx)
+tcu::TestCaseGroup* createDiscardRectanglesTests (tcu::TestContext& testCtx, bool useDynamicRendering)
{
- return createTestGroup(testCtx, "discard_rectangles", "Discard Rectangles tests", createTests);
+ return createTestGroup(testCtx, "discard_rectangles", "Discard Rectangles tests", createTests, useDynamicRendering);
}
} // Draw
namespace Draw
{
-tcu::TestCaseGroup* createDiscardRectanglesTests (tcu::TestContext& testCtx);
+tcu::TestCaseGroup* createDiscardRectanglesTests (tcu::TestContext& testCtx, bool useDynamicRendering);
} // Draw
} // vkt
Interpolation interpolation;
vk::VkSampleCountFlagBits samples;
AuxiliaryQualifier auxiliaryStorage;
+ bool useDynamicRendering;
};
const char* interpolationToString (Interpolation interpolation)
~DrawTestCase (void);
virtual void initPrograms (SourceCollections& programCollection) const;
virtual TestInstance* createInstance (Context& context) const;
- virtual void checkSupport (Context& context) const;
+ virtual void checkSupport (Context& context) const;
private:
DrawParams m_data;
if ((context.getDeviceProperties().limits.framebufferColorSampleCounts & m_data.samples) == 0)
TCU_THROW(NotSupportedError, "framebufferColorSampleCounts: sample count not supported");
+
+ if (m_data.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
}
void DrawTestCase::initPrograms (SourceCollections& programCollection) const
}
}
- // Create render pass and frame buffer.
+ const ImageViewCreateInfo colorTargetViewInfo(colorTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, imageFormat);
+ colorTargetView = createImageView(vk, device, &colorTargetViewInfo);
+
+ if (useMultisampling)
{
- const ImageViewCreateInfo colorTargetViewInfo (colorTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, imageFormat);
- colorTargetView = createImageView(vk, device, &colorTargetViewInfo);
+ const ImageViewCreateInfo multisamplingTargetViewInfo(multisampleTargetImage->object(), vk::VK_IMAGE_VIEW_TYPE_2D, imageFormat);
+ multisampleTargetView = createImageView(vk, device, &multisamplingTargetViewInfo);
+ }
+ // Create render pass
+ if (!m_data.useDynamicRendering)
+ {
RenderPassCreateInfo renderPassCreateInfo;
renderPassCreateInfo.addAttachment(AttachmentDescription(imageFormat,
VK_SAMPLE_COUNT_1_BIT,
const VkAttachmentReference colorAttachmentRef = { 0u, VK_IMAGE_LAYOUT_GENERAL };
const VkAttachmentReference multisampleAttachmentRef = { 1u, VK_IMAGE_LAYOUT_GENERAL };
- vector<VkImageView> colorAttachments;
- colorAttachments.push_back(*colorTargetView);
if (useMultisampling)
{
- const ImageViewCreateInfo multisamplingTargetViewInfo (multisampleTargetImage->object(),
- vk::VK_IMAGE_VIEW_TYPE_2D,
- imageFormat);
-
-
- multisampleTargetView = createImageView(vk, device, &multisamplingTargetViewInfo);
- colorAttachments.push_back(*multisampleTargetView);
-
renderPassCreateInfo.addAttachment(AttachmentDescription(imageFormat,
m_data.samples,
vk::VK_ATTACHMENT_LOAD_OP_CLEAR,
0,
DE_NULL));
- renderPass = createRenderPass(vk, device, &renderPassCreateInfo);
+ renderPass = createRenderPass(vk, device, &renderPassCreateInfo);
+
+ // Create framebuffer
+ vector<VkImageView> colorAttachments { *colorTargetView };
+ if (useMultisampling)
+ colorAttachments.push_back(*multisampleTargetView);
- const FramebufferCreateInfo framebufferCreateInfo (*renderPass, colorAttachments, WIDTH, HEIGHT, 1);
- framebuffer = createFramebuffer(vk, device, &framebufferCreateInfo);
+ const FramebufferCreateInfo framebufferCreateInfo(*renderPass, colorAttachments, WIDTH, HEIGHT, 1);
+ framebuffer = createFramebuffer(vk, device, &framebufferCreateInfo);
}
// Create vertex buffer.
.addType(VK_DESCRIPTOR_TYPE_STORAGE_BUFFER)
.build(vk, device, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, 1u);
- descriptorSet = makeDescriptorSet(vk, device, *descriptorPool, *descriptorSetLayout);
+ descriptorSet = makeDescriptorSet(vk, device, *descriptorPool, *descriptorSetLayout);
const VkDescriptorBufferInfo bufferInfo =
{
pipelineCreateInfo.addState(PipelineCreateInfo::RasterizerState());
pipelineCreateInfo.addState(PipelineCreateInfo::MultiSampleState(m_data.samples));
+ vk::VkPipelineRenderingCreateInfoKHR renderingCreateInfo
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ DE_NULL,
+ 0u,
+ 1u,
+ &imageFormat,
+ VK_FORMAT_UNDEFINED
+ };
+
+ if (m_data.useDynamicRendering)
+ pipelineCreateInfo.pNext = &renderingCreateInfo;
+
pipeline = createGraphicsPipeline(vk, device, DE_NULL, &pipelineCreateInfo);
}
vector<VkClearValue> clearColors;
clearColors.push_back(makeClearValueColor(clearColor));
-
if (useMultisampling)
clearColors.push_back(makeClearValueColor(clearColor));
beginCommandBuffer(vk, *cmdBuffer, 0u);
- const VkRenderPassBeginInfo renderPassBeginInfo =
+
+ if (m_data.useDynamicRendering)
{
- VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO, // VkStructureType sType;
- DE_NULL, // const void* pNext;
- *renderPass, // VkRenderPass renderPass;
- *framebuffer, // VkFramebuffer framebuffer;
- renderArea, // VkRect2D renderArea;
- (deUint32)clearColors.size(), // deUint32 clearValueCount;
- clearColors.data(), // const VkClearValue* pClearValues;
- };
+ VkRenderingAttachmentInfoKHR colorAttachment
+ {
+ VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ useMultisampling ? *multisampleTargetView : *colorTargetView, // VkImageView imageView;
+ VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout imageLayout;
+ useMultisampling ? VK_RESOLVE_MODE_AVERAGE_BIT : VK_RESOLVE_MODE_NONE, // VkResolveModeFlagBits resolveMode;
+ useMultisampling ? *colorTargetView : DE_NULL, // VkImageView resolveImageView;
+ VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout resolveImageLayout;
+ useMultisampling ? VK_ATTACHMENT_LOAD_OP_CLEAR : VK_ATTACHMENT_LOAD_OP_LOAD, // VkAttachmentLoadOp loadOp;
+ VK_ATTACHMENT_STORE_OP_STORE, // VkAttachmentStoreOp storeOp;
+ clearColors[0] // VkClearValue clearValue;
+ };
+
+ VkRenderingInfoKHR renderingInfo
+ {
+ VK_STRUCTURE_TYPE_RENDERING_INFO_KHR,
+ DE_NULL,
+ 0u, // VkRenderingFlagsKHR flags;
+ renderArea, // VkRect2D renderArea;
+ 1u, // deUint32 layerCount;
+ 0u, // deUint32 viewMask;
+ 1u, // deUint32 colorAttachmentCount;
+ &colorAttachment, // const VkRenderingAttachmentInfoKHR* pColorAttachments;
+ DE_NULL, // const VkRenderingAttachmentInfoKHR* pDepthAttachment;
+ DE_NULL, // const VkRenderingAttachmentInfoKHR* pStencilAttachment;
+ };
+
+ vk.cmdBeginRenderingKHR(*cmdBuffer, &renderingInfo);
+ }
+ else
+ {
+ const VkRenderPassBeginInfo renderPassBeginInfo =
+ {
+ VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ *renderPass, // VkRenderPass renderPass;
+ *framebuffer, // VkFramebuffer framebuffer;
+ renderArea, // VkRect2D renderArea;
+ (deUint32)clearColors.size(), // deUint32 clearValueCount;
+ clearColors.data(), // const VkClearValue* pClearValues;
+ };
+
+ vk.cmdBeginRenderPass(*cmdBuffer, &renderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE);
+ }
- vk.cmdBeginRenderPass(*cmdBuffer, &renderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE);
vk.cmdBindVertexBuffers(*cmdBuffer, 0, 1, &buffer, &vertexBufferOffset);
vk.cmdBindPipeline(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *pipeline);
vk.cmdBindDescriptorSets(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *pipelineLayout, 0u, 1u, &descriptorSet.get(), 0u, DE_NULL);
vk.cmdDraw(*cmdBuffer, 4u, 1u, 0u, 0u);
- endRenderPass(vk, *cmdBuffer);
+
+ if (m_data.useDynamicRendering)
+ endRendering(vk, *cmdBuffer);
+ else
+ endRenderPass(vk, *cmdBuffer);
+
endCommandBuffer(vk, *cmdBuffer);
submitCommandsAndWait(vk, device, queue, cmdBuffer.get());
return tcu::TestStatus(res, qpGetTestResultName(res));
}
-void createTests (tcu::TestCaseGroup* testGroup)
+void createTests (tcu::TestCaseGroup* testGroup, bool useDynamicRendering)
{
tcu::TestContext& testCtx = testGroup->getTestContext();
for (deUint32 sampleNdx = 0; sampleNdx < DE_LENGTH_OF_ARRAY(samples); sampleNdx++)
for (deUint32 auxNdx = 0; auxNdx < DE_LENGTH_OF_ARRAY(auxQualifiers); auxNdx++)
- for (deUint32 interNdx = 0; interNdx < DE_LENGTH_OF_ARRAY(interTypes); interNdx++)
+ for (deUint32 interNdx = 0; interNdx < DE_LENGTH_OF_ARRAY(interTypes); interNdx++)
{
if (samples[sampleNdx] == VK_SAMPLE_COUNT_1_BIT && auxQualifiers[auxNdx] != AUX_NONE)
continue;
interTypes[interNdx],
samples[sampleNdx],
auxQualifiers[auxNdx],
+ useDynamicRendering
};
testGroup->addChild(new DrawTestCase(testCtx, getTestName(params).c_str(), "", params));
}
} // anonymous
-tcu::TestCaseGroup* createExplicitVertexParameterTests (tcu::TestContext& testCtx)
+tcu::TestCaseGroup* createExplicitVertexParameterTests (tcu::TestContext& testCtx, bool useDynamicRendering)
{
- return createTestGroup(testCtx, "explicit_vertex_parameter", "Tests for VK_AMD_shader_explicit_vertex_parameter.", createTests);
+ return createTestGroup(testCtx, "explicit_vertex_parameter", "Tests for VK_AMD_shader_explicit_vertex_parameter.", createTests, useDynamicRendering);
}
} // Draw
namespace Draw
{
-tcu::TestCaseGroup* createExplicitVertexParameterTests (tcu::TestContext& testCtx);
+tcu::TestCaseGroup* createExplicitVertexParameterTests (tcu::TestContext& testCtx, bool useDynamicRendering);
} // Draw
} // vkt
};
DrawIndexed::DrawIndexed (Context &context, TestSpec testSpec)
- : DrawTestsBaseClass(context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], testSpec.topology)
+ : DrawTestsBaseClass(context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], testSpec.useDynamicRendering, testSpec.topology)
{
switch (m_topology)
{
const vk::VkQueue queue = m_context.getUniversalQueue();
const vk::VkDevice device = m_context.getDevice();
- beginRenderPass();
+ beginRender();
const vk::VkDeviceSize dataSize = m_indexes.size() * sizeof(deUint32);
m_indexBuffer = Buffer::createAndAlloc( m_vk, m_context.getDevice(),
m_vk.cmdDrawIndexed(*m_cmdBuffer, 6, 1, 2, VERTEX_OFFSET, 0);
- endRenderPass(m_vk, *m_cmdBuffer);
+ endRender();
endCommandBuffer(m_vk, *m_cmdBuffer);
submitCommandsAndWait(m_vk, device, queue, m_cmdBuffer.get());
const vk::VkQueue queue = m_context.getUniversalQueue();
const vk::VkDevice device = m_context.getDevice();
- beginRenderPass();
+ beginRender();
const vk::VkDeviceSize dataSize = m_indexes.size() * sizeof(deUint32);
m_indexBuffer = Buffer::createAndAlloc( m_vk, m_context.getDevice(),
break;
}
- endRenderPass(m_vk, *m_cmdBuffer);
+ endRender();
endCommandBuffer(m_vk, *m_cmdBuffer);
submitCommandsAndWait(m_vk, device, queue, m_cmdBuffer.get());
}
return tcu::TestStatus(res, qpGetTestResultName(res));
+}
+void checkSupport(Context& context, DrawIndexed::TestSpec testSpec)
+{
+ if (testSpec.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
}
} // anonymous
-DrawIndexedTests::DrawIndexedTests (tcu::TestContext &testCtx)
- : TestCaseGroup (testCtx, "indexed_draw", "drawing indexed geometry")
+DrawIndexedTests::DrawIndexedTests (tcu::TestContext &testCtx, bool useDynamicRendering)
+ : TestCaseGroup (testCtx, "indexed_draw", "drawing indexed geometry")
+ , m_useDynamicRendering (useDynamicRendering)
{
/* Left blank on purpose */
}
DrawIndexed::TestSpec testSpec;
testSpec.shaders[glu::SHADERTYPE_VERTEX] = "vulkan/draw/VertexFetch.vert";
testSpec.shaders[glu::SHADERTYPE_FRAGMENT] = "vulkan/draw/VertexFetch.frag";
+ testSpec.useDynamicRendering = m_useDynamicRendering;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- addChild(new InstanceFactory<DrawIndexed>(m_testCtx, "draw_indexed_triangle_list", "Draws indexed triangle list", testSpec));
+ addChild(new InstanceFactory<DrawIndexed, FunctionSupport1<DrawIndexed::TestSpec> >
+ (m_testCtx, "draw_indexed_triangle_list", "Draws indexed triangle list", testSpec, FunctionSupport1<DrawIndexed::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- addChild(new InstanceFactory<DrawIndexed>(m_testCtx, "draw_indexed_triangle_strip", "Draws indexed triangle strip", testSpec));
+ addChild(new InstanceFactory<DrawIndexed, FunctionSupport1<DrawIndexed::TestSpec> >
+ (m_testCtx, "draw_indexed_triangle_strip", "Draws indexed triangle strip", testSpec, FunctionSupport1<DrawIndexed::TestSpec>::Args(checkSupport, testSpec)));
}
{
DrawInstancedIndexed::TestSpec testSpec;
testSpec.shaders[glu::SHADERTYPE_VERTEX] = "vulkan/draw/VertexFetchInstancedFirstInstance.vert";
testSpec.shaders[glu::SHADERTYPE_FRAGMENT] = "vulkan/draw/VertexFetch.frag";
+ testSpec.useDynamicRendering = m_useDynamicRendering;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- addChild(new InstanceFactory<DrawInstancedIndexed>(m_testCtx, "draw_instanced_indexed_triangle_list", "Draws indexed triangle list", testSpec));
+ addChild(new InstanceFactory<DrawInstancedIndexed, FunctionSupport1<DrawInstancedIndexed::TestSpec> >
+ (m_testCtx, "draw_instanced_indexed_triangle_list", "Draws indexed triangle list", testSpec, FunctionSupport1<DrawInstancedIndexed::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- addChild(new InstanceFactory<DrawInstancedIndexed>(m_testCtx, "draw_instanced_indexed_triangle_strip", "Draws indexed triangle strip", testSpec));
+ addChild(new InstanceFactory<DrawInstancedIndexed, FunctionSupport1<DrawInstancedIndexed::TestSpec> >
+ (m_testCtx, "draw_instanced_indexed_triangle_strip", "Draws indexed triangle strip", testSpec, FunctionSupport1<DrawInstancedIndexed::TestSpec>::Args(checkSupport, testSpec)));
}
}
class DrawIndexedTests : public tcu::TestCaseGroup
{
public:
- DrawIndexedTests (tcu::TestContext &testCtx);
+ DrawIndexedTests (tcu::TestContext &testCtx, bool useDynamicRendering);
~DrawIndexedTests (void);
void init (void);
DrawIndexedTests (const DrawIndexedTests &other);
DrawIndexedTests& operator= (const DrawIndexedTests &other);
+private:
+ const bool m_useDynamicRendering;
};
} // Draw
} // vkt
}
IndirectDraw::IndirectDraw (Context &context, TestSpec testSpec)
- : DrawTestsBaseClass (context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], testSpec.topology)
+ : DrawTestsBaseClass (context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], testSpec.useDynamicRendering, testSpec.topology)
, m_testIndirectCountExt (testSpec.testIndirectCountExt)
, m_indirectCountExtDrawPadding (1u)
, m_drawType (testSpec.drawType)
m_strideInBuffer = 2 * (deUint32)sizeof(vk::VkDrawIndexedIndirectCommand);
}
- beginRenderPass();
+ beginRender();
const vk::VkDeviceSize vertexBufferOffset = 0;
const vk::VkBuffer vertexBuffer = m_vertexBuffer->object();
}
}
}
- endRenderPass(m_vk, *m_cmdBuffer);
+ endRender();
endCommandBuffer(m_vk, *m_cmdBuffer);
submitCommandsAndWait(m_vk, device, queue, m_cmdBuffer.get());
m_strideInBuffer = 2 * (deUint32)sizeof(vk::VkDrawIndexedIndirectCommand);
}
- beginRenderPass();
+ beginRender();
const vk::VkDeviceSize vertexBufferOffset = 0;
const vk::VkBuffer vertexBuffer = m_vertexBuffer->object();
}
}
}
- endRenderPass(m_vk, *m_cmdBuffer);
+ endRender();
endCommandBuffer(m_vk, *m_cmdBuffer);
submitCommandsAndWait(m_vk, device, queue, m_cmdBuffer.get());
return tcu::TestStatus(res, qpGetTestResultName(res));
}
-void checkIndirectCountExt (Context& context)
+void checkSupport(Context& context, IndirectDraw::TestSpec testSpec)
{
- context.requireDeviceFunctionality("VK_KHR_draw_indirect_count");
+ if (testSpec.testIndirectCountExt != IndirectCountType::NONE)
+ context.requireDeviceFunctionality("VK_KHR_draw_indirect_count");
+
+ if (testSpec.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
}
} // anonymous
-IndirectDrawTests::IndirectDrawTests (tcu::TestContext& testCtx)
- : TestCaseGroup(testCtx, "indirect_draw", "indirect drawing simple geometry")
+IndirectDrawTests::IndirectDrawTests (tcu::TestContext& testCtx, bool useDynamicRendering)
+ : TestCaseGroup (testCtx, "indirect_draw", "indirect drawing simple geometry")
+ , m_useDynamicRendering (useDynamicRendering)
{
/* Left blank on purpose */
}
{
IndirectDraw::TestSpec testSpec;
testSpec.drawType = static_cast<DrawType>(drawTypeIdx);
+ testSpec.useDynamicRendering = m_useDynamicRendering;
testSpec.shaders[glu::SHADERTYPE_VERTEX] = "vulkan/draw/VertexFetch.vert";
testSpec.shaders[glu::SHADERTYPE_FRAGMENT] = "vulkan/draw/VertexFetch.frag";
+
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- indirectDrawGroup->addChild(new InstanceFactory<IndirectDraw>(m_testCtx, "triangle_list", "Draws triangle list", testSpec));
+ indirectDrawGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport1<IndirectDraw::TestSpec> >
+ (m_testCtx, "triangle_list", "Draws triangle list", testSpec, FunctionSupport1<IndirectDraw::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- indirectDrawGroup->addChild(new InstanceFactory<IndirectDraw>(m_testCtx, "triangle_strip", "Draws triangle strip", testSpec));
+ indirectDrawGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport1<IndirectDraw::TestSpec> >
+ (m_testCtx, "triangle_strip", "Draws triangle strip", testSpec, FunctionSupport1<IndirectDraw::TestSpec>::Args(checkSupport, testSpec)));
testSpec.testIndirectCountExt = IndirectCountType::BUFFER_LIMIT;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- indirectDrawCountGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport0>(m_testCtx, "triangle_list", "Draws triangle list", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawCountGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport1<IndirectDraw::TestSpec> >
+ (m_testCtx, "triangle_list", "Draws triangle list", testSpec, FunctionSupport1<IndirectDraw::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- indirectDrawCountGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport0>(m_testCtx, "triangle_strip", "Draws triangle strip", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawCountGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport1<IndirectDraw::TestSpec> >
+ (m_testCtx, "triangle_strip", "Draws triangle strip", testSpec, FunctionSupport1<IndirectDraw::TestSpec>::Args(checkSupport, testSpec)));
testSpec.testIndirectCountExt = IndirectCountType::PARAM_LIMIT;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- indirectDrawParamCountGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport0>(m_testCtx, "triangle_list", "Draws triangle list", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawParamCountGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport1<IndirectDraw::TestSpec> >
+ (m_testCtx, "triangle_list", "Draws triangle list", testSpec, FunctionSupport1<IndirectDraw::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- indirectDrawParamCountGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport0>(m_testCtx, "triangle_strip", "Draws triangle strip", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawParamCountGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport1<IndirectDraw::TestSpec> >
+ (m_testCtx, "triangle_strip", "Draws triangle strip", testSpec, FunctionSupport1<IndirectDraw::TestSpec>::Args(checkSupport, testSpec)));
}
drawTypeGroup->addChild(indirectDrawGroup);
drawTypeGroup->addChild(indirectDrawCountGroup);
IndirectDraw::TestSpec testSpec;
testSpec.testFirstInstanceNdx = true;
testSpec.drawType = static_cast<DrawType>(drawTypeIdx);
+ testSpec.useDynamicRendering = m_useDynamicRendering;
testSpec.shaders[glu::SHADERTYPE_VERTEX] = "vulkan/draw/VertexFetchInstanceIndex.vert";
testSpec.shaders[glu::SHADERTYPE_FRAGMENT] = "vulkan/draw/VertexFetch.frag";
+
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- indirectDrawFirstInstanceGroup->addChild(new InstanceFactory<IndirectDraw>(m_testCtx, "triangle_list", "Draws triangle list", testSpec));
+ indirectDrawFirstInstanceGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport1<IndirectDraw::TestSpec> >
+ (m_testCtx, "triangle_list", "Draws triangle list", testSpec, FunctionSupport1<IndirectDraw::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- indirectDrawFirstInstanceGroup->addChild(new InstanceFactory<IndirectDraw>(m_testCtx, "triangle_strip", "Draws triangle strip", testSpec));
+ indirectDrawFirstInstanceGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport1<IndirectDraw::TestSpec> >
+ (m_testCtx, "triangle_strip", "Draws triangle strip", testSpec, FunctionSupport1<IndirectDraw::TestSpec>::Args(checkSupport, testSpec)));
testSpec.testIndirectCountExt = IndirectCountType::BUFFER_LIMIT;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- indirectDrawCountFirstInstanceGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport0>(m_testCtx, "triangle_list", "Draws triangle list", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawCountFirstInstanceGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport1<IndirectDraw::TestSpec> >
+ (m_testCtx, "triangle_list", "Draws triangle list", testSpec, FunctionSupport1<IndirectDraw::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- indirectDrawCountFirstInstanceGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport0>(m_testCtx, "triangle_strip", "Draws triangle strip", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawCountFirstInstanceGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport1<IndirectDraw::TestSpec> >
+ (m_testCtx, "triangle_strip", "Draws triangle strip", testSpec, FunctionSupport1<IndirectDraw::TestSpec>::Args(checkSupport, testSpec)));
testSpec.testIndirectCountExt = IndirectCountType::PARAM_LIMIT;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- indirectDrawParamCountFirstInstanceGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport0>(m_testCtx, "triangle_list", "Draws triangle list", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawParamCountFirstInstanceGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport1<IndirectDraw::TestSpec> >
+ (m_testCtx, "triangle_list", "Draws triangle list", testSpec, FunctionSupport1<IndirectDraw::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- indirectDrawParamCountFirstInstanceGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport0>(m_testCtx, "triangle_strip", "Draws triangle strip", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawParamCountFirstInstanceGroup->addChild(new InstanceFactory<IndirectDraw, FunctionSupport1<IndirectDraw::TestSpec> >
+ (m_testCtx, "triangle_strip", "Draws triangle strip", testSpec, FunctionSupport1<IndirectDraw::TestSpec>::Args(checkSupport, testSpec)));
}
drawTypeGroup->addChild(indirectDrawFirstInstanceGroup);
drawTypeGroup->addChild(indirectDrawCountFirstInstanceGroup);
tcu::TestCaseGroup* indirectDrawCountNoFirstInstanceGroup = new tcu::TestCaseGroup(m_testCtx, "no_first_instance", "Use 0 as firstInstance");
tcu::TestCaseGroup* indirectDrawParamCountNoFirstInstanceGroup = new tcu::TestCaseGroup(m_testCtx, "no_first_instance", "Use 0 as firstInstance");
{
- IndirectDrawInstanced<FirstInstanceNotSupported>::TestSpec testSpec;
+ typedef IndirectDrawInstanced<FirstInstanceNotSupported> IDFirstInstanceNotSupported;
+
+ IDFirstInstanceNotSupported::TestSpec testSpec;
testSpec.drawType = static_cast<DrawType>(drawTypeIdx);
+ testSpec.useDynamicRendering = m_useDynamicRendering;
testSpec.shaders[glu::SHADERTYPE_VERTEX] = "vulkan/draw/VertexFetchInstanced.vert";
testSpec.shaders[glu::SHADERTYPE_FRAGMENT] = "vulkan/draw/VertexFetch.frag";
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- indirectDrawNoFirstInstanceGroup->addChild(new InstanceFactory<IndirectDrawInstanced<FirstInstanceNotSupported> >(m_testCtx, "triangle_list", "Draws an instanced triangle list", testSpec));
+ indirectDrawNoFirstInstanceGroup->addChild(new InstanceFactory<IDFirstInstanceNotSupported, FunctionSupport1<IDFirstInstanceNotSupported::TestSpec> >
+ (m_testCtx, "triangle_list", "Draws an instanced triangle list", testSpec, FunctionSupport1<IDFirstInstanceNotSupported::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- indirectDrawNoFirstInstanceGroup->addChild(new InstanceFactory<IndirectDrawInstanced<FirstInstanceNotSupported> >(m_testCtx, "triangle_strip", "Draws an instanced triangle strip", testSpec));
+ indirectDrawNoFirstInstanceGroup->addChild(new InstanceFactory<IDFirstInstanceNotSupported, FunctionSupport1<IDFirstInstanceNotSupported::TestSpec> >
+ (m_testCtx, "triangle_strip", "Draws an instanced triangle strip", testSpec, FunctionSupport1<IDFirstInstanceNotSupported::TestSpec>::Args(checkSupport, testSpec)));
testSpec.testIndirectCountExt = IndirectCountType::BUFFER_LIMIT;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- indirectDrawCountNoFirstInstanceGroup->addChild(new InstanceFactory<IndirectDrawInstanced<FirstInstanceNotSupported>, FunctionSupport0>(m_testCtx, "triangle_list", "Draws an instanced triangle list", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawCountNoFirstInstanceGroup->addChild(new InstanceFactory<IDFirstInstanceNotSupported, FunctionSupport1<IDFirstInstanceNotSupported::TestSpec> >
+ (m_testCtx, "triangle_list", "Draws an instanced triangle list", testSpec, FunctionSupport1<IDFirstInstanceNotSupported::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- indirectDrawCountNoFirstInstanceGroup->addChild(new InstanceFactory<IndirectDrawInstanced<FirstInstanceNotSupported>, FunctionSupport0>(m_testCtx, "triangle_strip", "Draws an instanced triangle strip", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawCountNoFirstInstanceGroup->addChild(new InstanceFactory<IDFirstInstanceNotSupported, FunctionSupport1<IDFirstInstanceNotSupported::TestSpec> >
+ (m_testCtx, "triangle_strip", "Draws an instanced triangle strip", testSpec, FunctionSupport1<IDFirstInstanceNotSupported::TestSpec>::Args(checkSupport, testSpec)));
testSpec.testIndirectCountExt = IndirectCountType::PARAM_LIMIT;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- indirectDrawParamCountNoFirstInstanceGroup->addChild(new InstanceFactory<IndirectDrawInstanced<FirstInstanceNotSupported>, FunctionSupport0>(m_testCtx, "triangle_list", "Draws an instanced triangle list", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawParamCountNoFirstInstanceGroup->addChild(new InstanceFactory<IDFirstInstanceNotSupported, FunctionSupport1<IDFirstInstanceNotSupported::TestSpec> >
+ (m_testCtx, "triangle_list", "Draws an instanced triangle list", testSpec, FunctionSupport1<IDFirstInstanceNotSupported::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- indirectDrawParamCountNoFirstInstanceGroup->addChild(new InstanceFactory<IndirectDrawInstanced<FirstInstanceNotSupported>, FunctionSupport0>(m_testCtx, "triangle_strip", "Draws an instanced triangle strip", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawParamCountNoFirstInstanceGroup->addChild(new InstanceFactory<IDFirstInstanceNotSupported, FunctionSupport1<IDFirstInstanceNotSupported::TestSpec> >
+ (m_testCtx, "triangle_strip", "Draws an instanced triangle strip", testSpec, FunctionSupport1<IDFirstInstanceNotSupported::TestSpec>::Args(checkSupport, testSpec)));
}
indirectDrawInstancedGroup->addChild(indirectDrawNoFirstInstanceGroup);
indirectDrawCountInstancedGroup->addChild(indirectDrawCountNoFirstInstanceGroup);
tcu::TestCaseGroup* indirectDrawCountFirstInstanceGroup = new tcu::TestCaseGroup(m_testCtx, "first_instance", "Use drawIndirectFirstInstance optional feature");
tcu::TestCaseGroup* indirectDrawParamCountFirstInstanceGroup = new tcu::TestCaseGroup(m_testCtx, "first_instance", "Use drawIndirectFirstInstance optional feature");
{
- IndirectDrawInstanced<FirstInstanceSupported>::TestSpec testSpec;
+ typedef IndirectDrawInstanced<FirstInstanceSupported> IDFirstInstanceSupported;
+
+ IDFirstInstanceSupported::TestSpec testSpec;
testSpec.drawType = static_cast<DrawType>(drawTypeIdx);
+ testSpec.useDynamicRendering = m_useDynamicRendering;
testSpec.shaders[glu::SHADERTYPE_VERTEX] = "vulkan/draw/VertexFetchInstancedFirstInstance.vert";
testSpec.shaders[glu::SHADERTYPE_FRAGMENT] = "vulkan/draw/VertexFetch.frag";
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- indirectDrawFirstInstanceGroup->addChild(new InstanceFactory<IndirectDrawInstanced<FirstInstanceSupported> >(m_testCtx, "triangle_list", "Draws an instanced triangle list", testSpec));
+ indirectDrawFirstInstanceGroup->addChild(new InstanceFactory<IDFirstInstanceSupported, FunctionSupport1<IDFirstInstanceSupported::TestSpec> >
+ (m_testCtx, "triangle_list", "Draws an instanced triangle list", testSpec, FunctionSupport1<IDFirstInstanceSupported::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- indirectDrawFirstInstanceGroup->addChild(new InstanceFactory<IndirectDrawInstanced<FirstInstanceSupported> >(m_testCtx, "triangle_strip", "Draws an instanced triangle strip", testSpec));
+ indirectDrawFirstInstanceGroup->addChild(new InstanceFactory<IDFirstInstanceSupported, FunctionSupport1<IDFirstInstanceSupported::TestSpec> >
+ (m_testCtx, "triangle_strip", "Draws an instanced triangle strip", testSpec, FunctionSupport1<IDFirstInstanceSupported::TestSpec>::Args(checkSupport, testSpec)));
testSpec.testIndirectCountExt = IndirectCountType::BUFFER_LIMIT;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- indirectDrawCountFirstInstanceGroup->addChild(new InstanceFactory<IndirectDrawInstanced<FirstInstanceSupported>, FunctionSupport0>(m_testCtx, "triangle_list", "Draws an instanced triangle list", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawCountFirstInstanceGroup->addChild(new InstanceFactory<IDFirstInstanceSupported, FunctionSupport1<IDFirstInstanceSupported::TestSpec> >
+ (m_testCtx, "triangle_list", "Draws an instanced triangle list", testSpec, FunctionSupport1<IDFirstInstanceSupported::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- indirectDrawCountFirstInstanceGroup->addChild(new InstanceFactory<IndirectDrawInstanced<FirstInstanceSupported>, FunctionSupport0>(m_testCtx, "triangle_strip", "Draws an instanced triangle strip", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawCountFirstInstanceGroup->addChild(new InstanceFactory<IDFirstInstanceSupported, FunctionSupport1<IDFirstInstanceSupported::TestSpec> >
+ (m_testCtx, "triangle_strip", "Draws an instanced triangle strip", testSpec, FunctionSupport1<IDFirstInstanceSupported::TestSpec>::Args(checkSupport, testSpec)));
testSpec.testIndirectCountExt = IndirectCountType::PARAM_LIMIT;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- indirectDrawParamCountFirstInstanceGroup->addChild(new InstanceFactory<IndirectDrawInstanced<FirstInstanceSupported>, FunctionSupport0>(m_testCtx, "triangle_list", "Draws an instanced triangle list", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawParamCountFirstInstanceGroup->addChild(new InstanceFactory<IDFirstInstanceSupported, FunctionSupport1<IDFirstInstanceSupported::TestSpec> >
+ (m_testCtx, "triangle_list", "Draws an instanced triangle list", testSpec, FunctionSupport1<IDFirstInstanceSupported::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- indirectDrawParamCountFirstInstanceGroup->addChild(new InstanceFactory<IndirectDrawInstanced<FirstInstanceSupported>, FunctionSupport0>(m_testCtx, "triangle_strip", "Draws an instanced triangle strip", testSpec, FunctionSupport0(checkIndirectCountExt)));
+ indirectDrawParamCountFirstInstanceGroup->addChild(new InstanceFactory<IDFirstInstanceSupported, FunctionSupport1<IDFirstInstanceSupported::TestSpec> >
+ (m_testCtx, "triangle_strip", "Draws an instanced triangle strip", testSpec, FunctionSupport1<IDFirstInstanceSupported::TestSpec>::Args(checkSupport, testSpec)));
}
indirectDrawInstancedGroup->addChild(indirectDrawFirstInstanceGroup);
indirectDrawCountInstancedGroup->addChild(indirectDrawCountFirstInstanceGroup);
class IndirectDrawTests : public tcu::TestCaseGroup
{
public:
- IndirectDrawTests (tcu::TestContext &testCtx);
+ IndirectDrawTests (tcu::TestContext &testCtx, bool useDynamicRendering);
~IndirectDrawTests (void);
void init (void);
IndirectDrawTests (const IndirectDrawTests &other);
IndirectDrawTests& operator= (const IndirectDrawTests &other);
+private:
+ const bool m_useDynamicRendering;
};
} // Draw
} // vkt
DrawFunction function;
vk::VkPrimitiveTopology topology;
+ deBool useDynamicRendering;
deBool testAttribDivisor;
deUint32 attribDivisor;
}
}
+ if (m_params.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
+
if (m_params.topology == vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN &&
context.isDeviceFunctionalitySupported("VK_KHR_portability_subset") &&
!context.getPortabilitySubsetFeatures().triangleFans)
const ImageViewCreateInfo colorTargetViewInfo(m_colorTargetImage->object(), imageViewType, m_colorAttachmentFormat, subresourceRange);
m_colorTargetView = vk::createImageView(m_vk, device, &colorTargetViewInfo);
- RenderPassCreateInfo renderPassCreateInfo;
- renderPassCreateInfo.addAttachment(AttachmentDescription(m_colorAttachmentFormat,
- vk::VK_SAMPLE_COUNT_1_BIT,
- vk::VK_ATTACHMENT_LOAD_OP_LOAD,
- vk::VK_ATTACHMENT_STORE_OP_STORE,
- vk::VK_ATTACHMENT_LOAD_OP_DONT_CARE,
- vk::VK_ATTACHMENT_STORE_OP_STORE,
- vk::VK_IMAGE_LAYOUT_GENERAL,
- vk::VK_IMAGE_LAYOUT_GENERAL));
-
- const vk::VkAttachmentReference colorAttachmentReference =
+ if (!m_params.useDynamicRendering)
{
- 0,
- vk::VK_IMAGE_LAYOUT_GENERAL
- };
-
- renderPassCreateInfo.addSubpass(SubpassDescription(vk::VK_PIPELINE_BIND_POINT_GRAPHICS,
- 0,
- 0,
- DE_NULL,
- 1,
- &colorAttachmentReference,
- DE_NULL,
- AttachmentReference(),
- 0,
- DE_NULL));
-
- vk::VkRenderPassMultiviewCreateInfo renderPassMultiviewCreateInfo;
- // Bit mask that specifies which view rendering is broadcast to
- // 0011 = Broadcast to first and second view (layer)
- const deUint32 viewMask = 0x3;
- // Bit mask that specifices correlation between views
- // An implementation may use this for optimizations (concurrent render)
- const deUint32 correlationMask = 0x3;
-
- if (m_params.testMultiview)
- {
- DE_ASSERT(renderPassCreateInfo.subpassCount == 1);
-
-
+ RenderPassCreateInfo renderPassCreateInfo;
+ renderPassCreateInfo.addAttachment(AttachmentDescription(m_colorAttachmentFormat,
+ vk::VK_SAMPLE_COUNT_1_BIT,
+ vk::VK_ATTACHMENT_LOAD_OP_LOAD,
+ vk::VK_ATTACHMENT_STORE_OP_STORE,
+ vk::VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+ vk::VK_ATTACHMENT_STORE_OP_STORE,
+ vk::VK_IMAGE_LAYOUT_GENERAL,
+ vk::VK_IMAGE_LAYOUT_GENERAL));
+
+ const vk::VkAttachmentReference colorAttachmentReference =
+ {
+ 0,
+ vk::VK_IMAGE_LAYOUT_GENERAL
+ };
+
+ renderPassCreateInfo.addSubpass(SubpassDescription(vk::VK_PIPELINE_BIND_POINT_GRAPHICS,
+ 0,
+ 0,
+ DE_NULL,
+ 1,
+ &colorAttachmentReference,
+ DE_NULL,
+ AttachmentReference(),
+ 0,
+ DE_NULL));
+
+ vk::VkRenderPassMultiviewCreateInfo renderPassMultiviewCreateInfo;
+ // Bit mask that specifies which view rendering is broadcast to
+ // 0011 = Broadcast to first and second view (layer)
+ const deUint32 viewMask = 0x3;
+ // Bit mask that specifices correlation between views
+ // An implementation may use this for optimizations (concurrent render)
+ const deUint32 correlationMask = 0x3;
+
+ if (m_params.testMultiview)
+ {
+ DE_ASSERT(renderPassCreateInfo.subpassCount == 1);
+
+ renderPassMultiviewCreateInfo.sType = vk::VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO;
+ renderPassMultiviewCreateInfo.pNext = DE_NULL;
+ renderPassMultiviewCreateInfo.subpassCount = renderPassCreateInfo.subpassCount;
+ renderPassMultiviewCreateInfo.pViewMasks = &viewMask;
+ renderPassMultiviewCreateInfo.correlationMaskCount = 1u;
+ renderPassMultiviewCreateInfo.pCorrelationMasks = &correlationMask;
+ renderPassMultiviewCreateInfo.pViewOffsets = DE_NULL;
+ renderPassMultiviewCreateInfo.dependencyCount = 0u;
+
+ renderPassCreateInfo.pNext = &renderPassMultiviewCreateInfo;
+ }
- renderPassMultiviewCreateInfo.sType = vk::VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO;
- renderPassMultiviewCreateInfo.pNext = DE_NULL;
- renderPassMultiviewCreateInfo.subpassCount = renderPassCreateInfo.subpassCount;
- renderPassMultiviewCreateInfo.pViewMasks = &viewMask;
- renderPassMultiviewCreateInfo.correlationMaskCount = 1u;
- renderPassMultiviewCreateInfo.pCorrelationMasks = &correlationMask;
- renderPassMultiviewCreateInfo.pViewOffsets = DE_NULL;
- renderPassMultiviewCreateInfo.dependencyCount = 0u;
+ m_renderPass = vk::createRenderPass(m_vk, device, &renderPassCreateInfo);
- renderPassCreateInfo.pNext = &renderPassMultiviewCreateInfo;
+ // create framebuffer
+ std::vector<vk::VkImageView> colorAttachments { *m_colorTargetView };
+ const FramebufferCreateInfo framebufferCreateInfo(*m_renderPass, colorAttachments, WIDTH, HEIGHT, 1);
+ m_framebuffer = vk::createFramebuffer(m_vk, device, &framebufferCreateInfo);
}
- m_renderPass = vk::createRenderPass(m_vk, device, &renderPassCreateInfo);
-
- std::vector<vk::VkImageView> colorAttachments(1);
- colorAttachments[0] = *m_colorTargetView;
-
- const FramebufferCreateInfo framebufferCreateInfo(*m_renderPass, colorAttachments, WIDTH, HEIGHT, 1);
-
- m_framebuffer = vk::createFramebuffer(m_vk, device, &framebufferCreateInfo);
-
const vk::VkVertexInputBindingDescription vertexInputBindingDescription[2] =
{
{
pipelineCreateInfo.addState(PipelineCreateInfo::RasterizerState());
pipelineCreateInfo.addState(PipelineCreateInfo::MultiSampleState());
+ vk::VkPipelineRenderingCreateInfoKHR renderingFormatCreateInfo
+ {
+ vk::VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ DE_NULL,
+ 0u,
+ 1u,
+ &m_colorAttachmentFormat,
+ vk::VK_FORMAT_UNDEFINED
+ };
+
+ if (m_params.useDynamicRendering)
+ {
+ pipelineCreateInfo.pNext = &renderingFormatCreateInfo;
+
+ if (m_params.testMultiview)
+ renderingFormatCreateInfo.viewMask = 3u;
+ }
+
m_pipeline = vk::createGraphicsPipeline(m_vk, device, DE_NULL, &pipelineCreateInfo);
}
qpTestResult res = QP_TEST_RESULT_PASS;
- const vk::VkClearColorValue clearColor = { { 0.0f, 0.0f, 0.0f, 1.0f } };
+ const vk::VkClearValue clearColor = { { { 0.0f, 0.0f, 0.0f, 1.0f } } };
int firstInstanceIndicesCount = DE_LENGTH_OF_ARRAY(firstInstanceIndices);
// Require 'drawIndirectFirstInstance' feature to run non-zero firstInstance indirect draw tests.
const ImageSubresourceRange subresourceRange(vk::VK_IMAGE_ASPECT_COLOR_BIT, 0, 1, 0, numLayers);
m_vk.cmdClearColorImage(*m_cmdBuffer, m_colorTargetImage->object(),
- vk::VK_IMAGE_LAYOUT_GENERAL, &clearColor, 1, &subresourceRange);
+ vk::VK_IMAGE_LAYOUT_GENERAL, &clearColor.color, 1, &subresourceRange);
const vk::VkMemoryBarrier memBarrier =
{
0, 1, &memBarrier, 0, DE_NULL, 0, DE_NULL);
const vk::VkRect2D renderArea = vk::makeRect2D(WIDTH, HEIGHT);
- beginRenderPass(m_vk, *m_cmdBuffer, *m_renderPass, *m_framebuffer, renderArea);
+ if (m_params.useDynamicRendering)
+ beginRendering(m_vk, *m_cmdBuffer, *m_colorTargetView, renderArea, clearColor, vk::VK_IMAGE_LAYOUT_GENERAL, vk::VK_ATTACHMENT_LOAD_OP_LOAD, 0, (m_params.testMultiview) ? 2u : 1u, (m_params.testMultiview) ? 3u : 0u);
+ else
+ beginRenderPass(m_vk, *m_cmdBuffer, *m_renderPass, *m_framebuffer, renderArea);
if (m_params.function == TestParams::FUNCTION_DRAW_INDEXED || m_params.function == TestParams::FUNCTION_DRAW_INDEXED_INDIRECT)
{
DE_ASSERT(false);
}
- endRenderPass(m_vk, *m_cmdBuffer);
+ if (m_params.useDynamicRendering)
+ endRendering(m_vk, *m_cmdBuffer);
+ else
+ endRenderPass(m_vk, *m_cmdBuffer);
+
endCommandBuffer(m_vk, *m_cmdBuffer);
submitCommandsAndWait(m_vk, device, queue, m_cmdBuffer.get());
} // anonymus
-InstancedTests::InstancedTests(tcu::TestContext& testCtx)
- : TestCaseGroup (testCtx, "instanced", "Instanced drawing tests")
+InstancedTests::InstancedTests(tcu::TestContext& testCtx, bool useDynamicRendering)
+ : TestCaseGroup (testCtx, "instanced", "Instanced drawing tests")
+ , m_useDynamicRendering (useDynamicRendering)
{
static const vk::VkPrimitiveTopology topologies[] =
{
TestParams param;
param.function = functions[functionNdx];
param.topology = topologies[topologyNdx];
+ param.useDynamicRendering = useDynamicRendering;
param.testAttribDivisor = testAttribDivisor ? DE_TRUE : DE_FALSE;
param.attribDivisor = divisors[divisorNdx];
param.testMultiview = multiviews[multiviewNdx];
class InstancedTests : public tcu::TestCaseGroup
{
public:
- InstancedTests (tcu::TestContext &testCtx);
+ InstancedTests (tcu::TestContext &testCtx, bool useDynamicRendering);
~InstancedTests (void);
private:
InstancedTests (const InstancedTests &other);
InstancedTests& operator= (const InstancedTests &other);
+
+private:
+ const bool m_useDynamicRendering;
};
} // Draw
VkBool32 depthClampEnable;
VkBool32 depthBiasEnable;
float depthBiasClamp;
-
+ VkBool32 useDynamicRendering;
};
constexpr deUint32 kImageDim = 256u;
flushMappedMemoryRange(vk, device, m_vertexBuffer->getBoundMemory().getMemory(), m_vertexBuffer->getBoundMemory().getOffset(), VK_WHOLE_SIZE);
}
- // Render pass
+ const VkImageUsageFlags targetImageUsageFlags = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+ const VkImageUsageFlags depthTargeUsageFlags = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+
+ const ImageCreateInfo targetImageCreateInfo(
+ VK_IMAGE_TYPE_2D, // imageType,
+ m_colorAttachmentFormat, // format,
+ kImageExtent, // extent,
+ 1u, // mipLevels,
+ 1u, // arrayLayers,
+ VK_SAMPLE_COUNT_1_BIT, // samples,
+ VK_IMAGE_TILING_OPTIMAL, // tiling,
+ targetImageUsageFlags); // usage,
+
+ m_colorTargetImage = Image::createAndAlloc(vk, device, targetImageCreateInfo, alloc, qIndex);
+
+ const ImageCreateInfo depthTargetImageCreateInfo(
+ VK_IMAGE_TYPE_2D, // imageType,
+ m_depthAttachmentFormat, // format,
+ kImageExtent, // extent,
+ 1u, // mipLevels,
+ 1u, // arrayLayers,
+ VK_SAMPLE_COUNT_1_BIT, // samples,
+ VK_IMAGE_TILING_OPTIMAL, // tiling,
+ depthTargeUsageFlags); // usage,
+
+ m_depthTargetImage = Image::createAndAlloc(vk, device, depthTargetImageCreateInfo, alloc, qIndex);
+
+ const ImageViewCreateInfo colorTargetViewInfo(m_colorTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, m_colorAttachmentFormat);
+ m_colorTargetView = createImageView(vk, device, &colorTargetViewInfo);
+
+ const ImageViewCreateInfo depthTargetViewInfo(m_depthTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, m_depthAttachmentFormat);
+ m_depthTargetView = createImageView(vk, device, &depthTargetViewInfo);
+
+ // Render pass and framebuffer
+ if (!m_params.useDynamicRendering)
{
- const VkImageUsageFlags targetImageUsageFlags = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
- const VkImageUsageFlags depthTargeUsageFlags = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
-
- const ImageCreateInfo targetImageCreateInfo(
- VK_IMAGE_TYPE_2D, // imageType,
- m_colorAttachmentFormat, // format,
- kImageExtent, // extent,
- 1u, // mipLevels,
- 1u, // arrayLayers,
- VK_SAMPLE_COUNT_1_BIT, // samples,
- VK_IMAGE_TILING_OPTIMAL, // tiling,
- targetImageUsageFlags); // usage,
-
- m_colorTargetImage = Image::createAndAlloc(vk, device, targetImageCreateInfo, alloc, qIndex);
-
- const ImageCreateInfo depthTargetImageCreateInfo(
- VK_IMAGE_TYPE_2D, // imageType,
- m_depthAttachmentFormat, // format,
- kImageExtent, // extent,
- 1u, // mipLevels,
- 1u, // arrayLayers,
- VK_SAMPLE_COUNT_1_BIT, // samples,
- VK_IMAGE_TILING_OPTIMAL, // tiling,
- depthTargeUsageFlags); // usage,
-
- m_depthTargetImage = Image::createAndAlloc(vk, device, depthTargetImageCreateInfo, alloc, qIndex);
-
RenderPassCreateInfo renderPassCreateInfo;
renderPassCreateInfo.addAttachment(AttachmentDescription(
m_colorAttachmentFormat, // format
DE_NULL)); // preserveAttachments
m_renderPass = createRenderPass(vk, device, &renderPassCreateInfo);
- }
-
- // Framebuffer
- {
- const ImageViewCreateInfo colorTargetViewInfo (m_colorTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, m_colorAttachmentFormat);
- m_colorTargetView = createImageView(vk, device, &colorTargetViewInfo);
- const ImageViewCreateInfo depthTargetViewInfo (m_depthTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, m_depthAttachmentFormat);
- m_depthTargetView = createImageView(vk, device, &depthTargetViewInfo);
-
- std::vector<VkImageView> fbAttachments(2);
- fbAttachments[0] = *m_colorTargetView;
- fbAttachments[1] = *m_depthTargetView;
+ std::vector<VkImageView> fbAttachments
+ {
+ *m_colorTargetView,
+ *m_depthTargetView
+ };
const FramebufferCreateInfo framebufferCreateInfo(*m_renderPass, fbAttachments, kImageExtent.width, kImageExtent.height, 1u);
m_framebuffer = createFramebuffer(vk, device, &framebufferCreateInfo);
pipelineCreateInfo.addState (PipelineCreateInfo::MultiSampleState ());
pipelineCreateInfo.addState (PipelineCreateInfo::DynamicState (dynamicStates));
+ vk::VkPipelineRenderingCreateInfoKHR renderingCreateInfo
+ {
+ vk::VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ DE_NULL,
+ 0u,
+ 1u,
+ &m_colorAttachmentFormat,
+ m_depthAttachmentFormat
+ };
+
+ if (m_params.useDynamicRendering)
+ pipelineCreateInfo.pNext = &renderingCreateInfo;
+
m_pipeline = createGraphicsPipeline(vk, device, DE_NULL, &pipelineCreateInfo);
}
InvertedDepthRangesTestInstance::ColorAndDepth InvertedDepthRangesTestInstance::draw (const VkViewport viewport)
{
- const DeviceInterface& vk = m_context.getDeviceInterface();
- const VkDevice device = m_context.getDevice();
- const VkQueue queue = m_context.getUniversalQueue();
- const deUint32 queueFamilyIndex = m_context.getUniversalQueueFamilyIndex();
- auto& alloc = m_context.getDefaultAllocator();
+ const DeviceInterface& vk = m_context.getDeviceInterface();
+ const VkDevice device = m_context.getDevice();
+ const VkQueue queue = m_context.getUniversalQueue();
+ const deUint32 queueFamilyIndex = m_context.getUniversalQueueFamilyIndex();
+ auto& alloc = m_context.getDefaultAllocator();
+ const VkClearValue clearColor = makeClearValueColor(kClearColor);
+ const VkClearValue clearDepth = makeClearValueDepthStencil(kClearDepth, 0u);
// Command buffer
vk.cmdSetViewport(*cmdBuffer, 0u, 1u, &viewport);
{
- const VkClearColorValue clearColor = makeClearValueColor(kClearColor).color;
const ImageSubresourceRange subresourceRange (VK_IMAGE_ASPECT_COLOR_BIT);
-
- const VkClearDepthStencilValue clearDepth = makeClearValueDepthStencil(kClearDepth, 0u).depthStencil;
const ImageSubresourceRange depthSubresourceRange (VK_IMAGE_ASPECT_DEPTH_BIT);
initialTransitionColor2DImage(vk, *cmdBuffer, m_colorTargetImage->object(), VK_IMAGE_LAYOUT_GENERAL, VK_ACCESS_TRANSFER_WRITE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT);
initialTransitionDepth2DImage(vk, *cmdBuffer, m_depthTargetImage->object(), VK_IMAGE_LAYOUT_GENERAL, VK_ACCESS_TRANSFER_WRITE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT);
- vk.cmdClearColorImage(*cmdBuffer, m_colorTargetImage->object(), VK_IMAGE_LAYOUT_GENERAL, &clearColor, 1, &subresourceRange);
- vk.cmdClearDepthStencilImage(*cmdBuffer, m_depthTargetImage->object(), VK_IMAGE_LAYOUT_GENERAL, &clearDepth, 1u, &depthSubresourceRange);
+ vk.cmdClearColorImage(*cmdBuffer, m_colorTargetImage->object(), VK_IMAGE_LAYOUT_GENERAL, &clearColor.color, 1, &subresourceRange);
+ vk.cmdClearDepthStencilImage(*cmdBuffer, m_depthTargetImage->object(), VK_IMAGE_LAYOUT_GENERAL, &clearDepth.depthStencil, 1u, &depthSubresourceRange);
}
{
const VkMemoryBarrier memBarrier =
vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, (VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT), 0, 1, &depthBarrier, 0, DE_NULL, 0, DE_NULL);
}
- beginRenderPass(vk, *cmdBuffer, *m_renderPass, *m_framebuffer, makeRect2D(kImageExtent));
+ if (m_params.useDynamicRendering)
+ beginRendering(vk, *cmdBuffer, *m_colorTargetView, *m_depthTargetView, makeRect2D(kImageExtent), clearColor, clearDepth);
+ else
+ beginRenderPass(vk, *cmdBuffer, *m_renderPass, *m_framebuffer, makeRect2D(kImageExtent));
{
const VkDeviceSize offset = 0;
vk.cmdBindPipeline(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipeline);
vk.cmdDraw(*cmdBuffer, 3, 1, 0, 0);
- endRenderPass(vk, *cmdBuffer);
+
+ if (m_params.useDynamicRendering)
+ endRendering(vk, *cmdBuffer);
+ else
+ endRenderPass(vk, *cmdBuffer);
+
endCommandBuffer(vk, *cmdBuffer);
// Submit
if (m_params.minDepth > 1.0f || m_params.minDepth < 0.0f || m_params.maxDepth > 1.0f || m_params.maxDepth < 0.0f)
context.requireDeviceFunctionality("VK_EXT_depth_range_unrestricted");
+
+ if (m_params.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
}
virtual TestInstance* createInstance (Context& context) const
const TestParams m_params;
};
-void populateTestGroup (tcu::TestCaseGroup* testGroup)
+void populateTestGroup (tcu::TestCaseGroup* testGroup, bool useDynamicRendering)
{
const struct
{
cDepthClamp.depthClamp,
cDepthParams.depthBiasEnable,
cDepthParams.depthBiasClamp,
+ useDynamicRendering
};
std::string name = cDepthClamp.name + "_" + cDepthParams.name;
} // anonymous
-tcu::TestCaseGroup* createInvertedDepthRangesTests (tcu::TestContext& testCtx)
+tcu::TestCaseGroup* createInvertedDepthRangesTests (tcu::TestContext& testCtx, bool useDynamicRendering)
{
- return createTestGroup(testCtx, "inverted_depth_ranges", "Inverted depth ranges", populateTestGroup);
+ return createTestGroup(testCtx, "inverted_depth_ranges", "Inverted depth ranges", populateTestGroup, useDynamicRendering);
}
} // Draw
namespace Draw
{
-tcu::TestCaseGroup* createInvertedDepthRangesTests (tcu::TestContext& testCtx);
+tcu::TestCaseGroup* createInvertedDepthRangesTests (tcu::TestContext& testCtx, bool useDynamicRendering);
} // Draw
} // vkt
bool useTessellation;
bool useGeometry;
bool multiview;
+ bool useDynamicRendering;
deUint32 maxInstanceIndex () const
{
if (m_params.useGeometry && !multiviewFeatures.multiviewGeometryShader)
TCU_THROW(NotSupportedError, "Multiview not supported with geometry shaders");
}
+
+ if (m_params.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
}
void MultiDrawTest::initPrograms (vk::SourceCollections& programCollection) const
const auto descriptorSetLayout = layoutBuilder.build(vkd, device);
const auto pipelineLayout = makePipelineLayout(vkd, device, descriptorSetLayout.get());
- // Render pass.
- const auto renderPass = makeMultidrawRenderPass(vkd, device, colorFormat, dsFormat, imageLayers);
+ Move<VkRenderPass> renderPass;
+ Move<VkFramebuffer> framebuffer;
- // Framebuffer (note layers is always 1 as required by the spec).
- const std::vector<VkImageView> attachments { colorBufferView.get(), dsBufferView.get() };
- const auto framebuffer = makeFramebuffer(vkd, device, renderPass.get(), static_cast<deUint32>(attachments.size()), de::dataOrNull(attachments), imageExtent.width, imageExtent.height, 1u);
+ // Render pass and Framebuffer (note layers is always 1 as required by the spec).
+ if (!m_params.useDynamicRendering)
+ {
+ renderPass = makeMultidrawRenderPass(vkd, device, colorFormat, dsFormat, imageLayers);
+ const std::vector<VkImageView> attachments { colorBufferView.get(), dsBufferView.get() };
+ framebuffer = makeFramebuffer(vkd, device, renderPass.get(), static_cast<deUint32>(attachments.size()), de::dataOrNull(attachments), imageExtent.width, imageExtent.height, 1u);
+ }
// Viewports and scissors.
const auto viewport = makeViewport(imageExtent);
1.0f, // float maxDepthBounds;
};
+ vk::VkPipelineRenderingCreateInfoKHR renderingCreateInfo
+ {
+ vk::VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ DE_NULL,
+ 0u,
+ 1u,
+ &colorFormat,
+ dsFormat
+ };
+
+ vk::VkPipelineRenderingCreateInfoKHR* nextPtr = nullptr;
+ if (m_params.useDynamicRendering)
+ nextPtr = &renderingCreateInfo;
+
const auto primitiveTopology = (m_params.useTessellation ? VK_PRIMITIVE_TOPOLOGY_PATCH_LIST : VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST);
const auto patchControlPoints = (m_params.useTessellation ? 3u : 0u);
pipelines.emplace_back(makeGraphicsPipeline(vkd, device, pipelineLayout.get(),
vertModule.get(), tescModule.get(), teseModule.get(), geomModule.get(), fragModule.get(),
renderPass.get(), viewports, scissors, primitiveTopology, subpassIdx, patchControlPoints,
- nullptr/*vertexInputStateCreateInfo*/, &rasterizationInfo, nullptr/*multisampleStateCreateInfo*/, &depthStencilInfo));
+ nullptr/*vertexInputStateCreateInfo*/, &rasterizationInfo, nullptr/*multisampleStateCreateInfo*/, &depthStencilInfo,
+ nullptr/*colorBlendStateCreateInfo*/, nullptr/*dynamicStateCreateInfo*/, nextPtr));
}
// Command pool and buffer.
clearValues.push_back(makeClearValueColorU32(0u, 0u, 0u, 0u));
clearValues.push_back(makeClearValueDepthStencil(((isMosaic || isIndexed) ? 0.0f : 1.0f), 0u));
- beginRenderPass(vkd, cmdBuffer, renderPass.get(), framebuffer.get(), scissor, static_cast<deUint32>(clearValues.size()), de::dataOrNull(clearValues));
+ if (m_params.useDynamicRendering)
+ {
+ // Transition color attachment to the proper initial layout for dynamic rendering
+ const auto colorPreBarrier = makeImageMemoryBarrier(
+ 0u,
+ VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,
+ VK_IMAGE_LAYOUT_UNDEFINED,
+ VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
+ colorBuffer.get(), colorSubresourceRange);
+
+ vkd.cmdPipelineBarrier(
+ cmdBuffer,
+ VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
+ (VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT),
+ 0u, 0u, nullptr, 0u, nullptr, 1u, &colorPreBarrier);
+
+ beginRendering(vkd, cmdBuffer, *colorBufferView, *dsBufferView, scissor, clearValues[0], clearValues[1],
+ vk::VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, vk::VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
+ VK_ATTACHMENT_LOAD_OP_CLEAR);
+ }
+ else
+ beginRenderPass(vkd, cmdBuffer, renderPass.get(), framebuffer.get(), scissor, static_cast<deUint32>(clearValues.size()), de::dataOrNull(clearValues));
for (deUint32 layerIdx = 0u; layerIdx < imageLayers; ++layerIdx)
{
}
}
- endRenderPass(vkd, cmdBuffer);
+ if (m_params.useDynamicRendering)
+ endRendering(vkd, cmdBuffer);
+ else
+ endRenderPass(vkd, cmdBuffer);
// Prepare images for copying.
const auto colorBufferBarrier = makeImageMemoryBarrier(
} // anonymous
-tcu::TestCaseGroup* createDrawMultiExtTests (tcu::TestContext& testCtx)
+tcu::TestCaseGroup* createDrawMultiExtTests (tcu::TestContext& testCtx, bool useDynamicRendering)
{
using GroupPtr = de::MovePtr<tcu::TestCaseGroup>;
for (const auto& shaderCase : shaderCases)
{
+ if (useDynamicRendering && (shaderCase.useTessellation || shaderCase.useGeometry))
+ continue;
+
GroupPtr shaderGroup(new tcu::TestCaseGroup(testCtx, shaderCase.name, ""));
for (const auto& multiviewCase : multiviewCases)
{
+ if (useDynamicRendering && multiviewCase.multiview)
+ continue;
+
GroupPtr multiviewGroup(new tcu::TestCaseGroup(testCtx, multiviewCase.name, ""));
const auto isIndexed = (drawTypeCase.drawType == DrawType::INDEXED);
shaderCase.useTessellation, // bool useTessellation;
shaderCase.useGeometry, // bool useGeometry;
multiviewCase.multiview, // bool multiview;
+ useDynamicRendering, // bool useDynamicRendering;
};
multiviewGroup->addChild(new MultiDrawTest(testCtx, "no_offset", "", params));
namespace Draw
{
-tcu::TestCaseGroup* createDrawMultiExtTests (tcu::TestContext& testCtx);
+tcu::TestCaseGroup* createDrawMultiExtTests (tcu::TestContext& testCtx, bool useDynamicRendering);
} // Draw
} // vkt
float depthEpsilon;
deUint32 repeatCount;
bool enableBlend;
+ bool useDynamicRendering;
vector<ClearStep> steps;
};
deMemcpy(m_vertexBuffer->getBoundMemory().getHostPtr(), m_vertices, static_cast<std::size_t>(totalDataSize));
flushMappedMemoryRange(vk, device, m_vertexBuffer->getBoundMemory().getMemory(), m_vertexBuffer->getBoundMemory().getOffset(), VK_WHOLE_SIZE);
}
+
+ if (hasColor)
+ {
+ const VkImageUsageFlags targetImageUsageFlags = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+ const ImageCreateInfo targetImageCreateInfo (VK_IMAGE_TYPE_2D, m_params.colorFormat, { WIDTH, HEIGHT, 1u }, 1u, 1u, VK_SAMPLE_COUNT_1_BIT, VK_IMAGE_TILING_OPTIMAL, targetImageUsageFlags);
+ m_colorTargetImage = Image::createAndAlloc(vk, device, targetImageCreateInfo, m_context.getDefaultAllocator(), queueFamilyIndex);
+ const ImageViewCreateInfo colorTargetViewInfo (m_colorTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, m_params.colorFormat);
+ m_colorTargetView = createImageView(vk, device, &colorTargetViewInfo);
+ }
+
+ if (hasDepth)
+ {
+ const VkImageUsageFlags depthImageUsageFlags = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+ const ImageCreateInfo depthImageCreateInfo (VK_IMAGE_TYPE_2D, m_params.depthFormat, { WIDTH, HEIGHT, 1u }, 1u, 1u, VK_SAMPLE_COUNT_1_BIT, VK_IMAGE_TILING_OPTIMAL, depthImageUsageFlags);
+ m_depthTargetImage = Image::createAndAlloc(vk, device, depthImageCreateInfo, m_context.getDefaultAllocator(), queueFamilyIndex);
+ const ImageViewCreateInfo depthTargetViewInfo (m_depthTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, m_params.depthFormat);
+ m_depthTargetView = createImageView(vk, device, &depthTargetViewInfo);
+ }
+
// Render pass
- std::vector<VkImageView> attachments;
+ if (!m_params.useDynamicRendering)
{
RenderPassCreateInfo renderPassCreateInfo;
if (hasColor)
{
- const VkImageUsageFlags targetImageUsageFlags = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
- const ImageCreateInfo targetImageCreateInfo (VK_IMAGE_TYPE_2D, m_params.colorFormat, { WIDTH, HEIGHT, 1u }, 1u, 1u, VK_SAMPLE_COUNT_1_BIT, VK_IMAGE_TILING_OPTIMAL, targetImageUsageFlags);
- m_colorTargetImage = Image::createAndAlloc(vk, device, targetImageCreateInfo, m_context.getDefaultAllocator(), queueFamilyIndex);
-
renderPassCreateInfo.addAttachment(AttachmentDescription(
m_params.colorFormat, // format
VK_SAMPLE_COUNT_1_BIT, // samples
VK_ATTACHMENT_STORE_OP_DONT_CARE, // stencilStoreOp
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, // initialLayout
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL)); // finalLayout
-
- const ImageViewCreateInfo colorTargetViewInfo (m_colorTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, m_params.colorFormat);
- m_colorTargetView = createImageView(vk, device, &colorTargetViewInfo);
- attachments.push_back(*m_colorTargetView);
}
if (hasDepth)
{
- const VkImageUsageFlags depthImageUsageFlags = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
- const ImageCreateInfo depthImageCreateInfo (VK_IMAGE_TYPE_2D, m_params.depthFormat, { WIDTH, HEIGHT, 1u }, 1u, 1u, VK_SAMPLE_COUNT_1_BIT, VK_IMAGE_TILING_OPTIMAL, depthImageUsageFlags);
- m_depthTargetImage = Image::createAndAlloc(vk, device, depthImageCreateInfo, m_context.getDefaultAllocator(), queueFamilyIndex);
-
renderPassCreateInfo.addAttachment(AttachmentDescription(
m_params.depthFormat, // format
VK_SAMPLE_COUNT_1_BIT, // samples
VK_ATTACHMENT_STORE_OP_DONT_CARE, // stencilStoreOp
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, // initialLayout
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL)); // finalLayout
-
- const ImageViewCreateInfo depthTargetViewInfo (m_depthTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, m_params.depthFormat);
- m_depthTargetView = createImageView(vk, device, &depthTargetViewInfo);
- attachments.push_back(*m_depthTargetView);
}
const VkAttachmentReference colorAttachmentReference = hasColor ? makeAttachmentReference(0u, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL) : AttachmentReference();
const VkAttachmentReference depthAttachmentReference = hasDepth ? makeAttachmentReference(hasColor ? 1u : 0u, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL) : AttachmentReference();
0u, // preserveAttachmentCount
DE_NULL)); // preserveAttachments
m_renderPass = createRenderPass(vk, device, &renderPassCreateInfo);
+
+ std::vector<VkImageView> attachments;
+ if (hasColor)
+ attachments.push_back(*m_colorTargetView);
+ if (hasDepth)
+ attachments.push_back(*m_depthTargetView);
+ const FramebufferCreateInfo framebufferCreateInfo(*m_renderPass, attachments, WIDTH, HEIGHT, 1);
+ m_framebuffer = createFramebuffer(vk, device, &framebufferCreateInfo);
}
- const FramebufferCreateInfo framebufferCreateInfo (*m_renderPass, attachments, WIDTH, HEIGHT, 1);
- m_framebuffer = createFramebuffer(vk, device, &framebufferCreateInfo);
// Vertex input
const VkVertexInputBindingDescription vertexInputBindingDescription =
pipelineCreateInfo.addState (PipelineCreateInfo::DepthStencilState (hasDepth, hasDepth, VK_COMPARE_OP_ALWAYS, VK_FALSE, VK_FALSE));
pipelineCreateInfo.addState (PipelineCreateInfo::RasterizerState ());
pipelineCreateInfo.addState (PipelineCreateInfo::MultiSampleState ());
- m_pipeline = createGraphicsPipeline(vk, device, DE_NULL, &pipelineCreateInfo);
+
+ vk::VkPipelineRenderingCreateInfoKHR renderingCreateInfo
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ DE_NULL,
+ 0u,
+ hasColor,
+ (hasColor ? &m_params.colorFormat : DE_NULL),
+ (hasDepth ? m_params.depthFormat : VK_FORMAT_UNDEFINED)
+ };
+
+ if (m_params.useDynamicRendering)
+ pipelineCreateInfo.pNext = &renderingCreateInfo;
+
+ m_pipeline = createGraphicsPipeline(vk, device, DE_NULL, &pipelineCreateInfo);
}
void MultipleClearsTest::clearAttachments (const DeviceInterface& vk, vk::VkCommandBuffer cmdBuffer, const ClearOp clearOp, const size_t stepIndex)
if (hasDepth)
initialTransitionDepth2DImage(vk, *cmdBuffer, m_depthTargetImage->object(), VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT);
- if (!m_params.steps.empty() && m_params.steps[0].clearOp == ClearOp::LOAD)
- beginRenderPass(vk, *cmdBuffer, *m_renderPass, *m_framebuffer, makeRect2D(0, 0, WIDTH, HEIGHT), m_params.steps[0].color, m_params.steps[0].depth, 0);
+ const VkRect2D renderArea = makeRect2D(0, 0, WIDTH, HEIGHT);
+ if (m_params.useDynamicRendering)
+ {
+ VkClearValue clearColorValue = makeClearValueColor(tcu::Vec4(0.0f));
+ VkClearValue clearDepthValue = makeClearValueDepthStencil(0.0f, 0u);
+ if (!m_params.steps.empty() && m_params.steps[0].clearOp == ClearOp::LOAD)
+ {
+ clearColorValue = makeClearValueColor(m_params.steps[0].color);
+ clearDepthValue = makeClearValueDepthStencil(m_params.steps[0].depth, 0u);
+ }
+
+ vk::VkRenderingAttachmentInfoKHR colorAttachment
+ {
+ vk::VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ *m_colorTargetView, // VkImageView imageView;
+ vk::VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, // VkImageLayout imageLayout;
+ vk::VK_RESOLVE_MODE_NONE, // VkResolveModeFlagBits resolveMode;
+ DE_NULL, // VkImageView resolveImageView;
+ vk::VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout resolveImageLayout;
+ vk::VK_ATTACHMENT_LOAD_OP_LOAD, // VkAttachmentLoadOp loadOp;
+ vk::VK_ATTACHMENT_STORE_OP_STORE, // VkAttachmentStoreOp storeOp;
+ clearColorValue // VkClearValue clearValue;
+ };
+
+ vk::VkRenderingAttachmentInfoKHR depthAttachment
+ {
+ vk::VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ *m_depthTargetView, // VkImageView imageView;
+ vk::VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, // VkImageLayout imageLayout;
+ vk::VK_RESOLVE_MODE_NONE, // VkResolveModeFlagBits resolveMode;
+ DE_NULL, // VkImageView resolveImageView;
+ vk::VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout resolveImageLayout;
+ vk::VK_ATTACHMENT_LOAD_OP_LOAD, // VkAttachmentLoadOp loadOp;
+ vk::VK_ATTACHMENT_STORE_OP_STORE, // VkAttachmentStoreOp storeOp;
+ clearDepthValue // VkClearValue clearValue;
+ };
+
+ vk::VkRenderingInfoKHR renderingInfo
+ {
+ vk::VK_STRUCTURE_TYPE_RENDERING_INFO_KHR,
+ DE_NULL,
+ 0u, // VkRenderingFlagsKHR flags;
+ renderArea, // VkRect2D renderArea;
+ 1u, // deUint32 layerCount;
+ 0u, // deUint32 viewMask;
+ hasColor, // deUint32 colorAttachmentCount;
+ (hasColor ? &colorAttachment : DE_NULL), // const VkRenderingAttachmentInfoKHR* pColorAttachments;
+ (hasDepth ? &depthAttachment : DE_NULL), // const VkRenderingAttachmentInfoKHR* pDepthAttachment;
+ DE_NULL, // const VkRenderingAttachmentInfoKHR* pStencilAttachment;
+ };
+
+ vk.cmdBeginRenderingKHR(*cmdBuffer, &renderingInfo);
+ }
else
- beginRenderPass(vk, *cmdBuffer, *m_renderPass, *m_framebuffer, makeRect2D(0, 0, WIDTH, HEIGHT));
+ {
+ if (!m_params.steps.empty() && m_params.steps[0].clearOp == ClearOp::LOAD)
+ beginRenderPass(vk, *cmdBuffer, *m_renderPass, *m_framebuffer, renderArea, m_params.steps[0].color, m_params.steps[0].depth, 0);
+ else
+ beginRenderPass(vk, *cmdBuffer, *m_renderPass, *m_framebuffer, renderArea);
+ }
+
vk.cmdBindPipeline(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipeline);
{
const VkDeviceSize offset = 0;
clearAttachments(vk, *cmdBuffer, step.clearOp, j);
}
- endRenderPass(vk, *cmdBuffer);
+ if (m_params.useDynamicRendering)
+ endRendering(vk, *cmdBuffer);
+ else
+ endRenderPass(vk, *cmdBuffer);
if (hasDepth)
{
if (vki.getPhysicalDeviceImageFormatProperties(vkd, m_params.depthFormat, VK_IMAGE_TYPE_2D, VK_IMAGE_TILING_OPTIMAL, depthUsage, 0u, &imageFormatProperties) != VK_SUCCESS)
TCU_THROW(NotSupportedError, "Depth format not supported");
}
+
+ if (m_params.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
}
virtual TestInstance* createInstance (Context& context) const
} // anonymous
-MultipleClearsWithinRenderPassTests::MultipleClearsWithinRenderPassTests (tcu::TestContext &testCtx)
+MultipleClearsWithinRenderPassTests::MultipleClearsWithinRenderPassTests (tcu::TestContext &testCtx, bool useDynamicRendering)
: TestCaseGroup (testCtx, "multiple_clears_within_render_pass", "Tests for multiple clears within render pass")
+ , m_useDynamicRendering(useDynamicRendering)
{
}
0.01f, // float depthEpsilon;
1u, // deUint32 repeatCount;
true, // bool enableBlend;
+ m_useDynamicRendering, // bool useDynamicRendering;
{ // vector<ClearStep> steps;
{ ClearOp::LOAD , Vec4(1.0f, 0.0f, 0.0f, 1.0f) , 0.7f },
{ ClearOp::CLEAR , Vec4(0.0f, 1.0f, 0.0f, 1.0f) , 0.3f },
0.01f, // float depthEpsilon;
1u, // deUint32 repeatCount;
true, // bool enableBlend;
+ m_useDynamicRendering, // bool useDynamicRendering;
{ // vector<ClearStep> steps;
{ ClearOp::DRAW , Vec4(1.0f, 0.0f, 0.0f, 1.0f) , 0.7f },
{ ClearOp::CLEAR , Vec4(0.0f, 1.0f, 0.0f, 1.0f) , 0.3f },
0.01f, // float depthEpsilon;
1u, // deUint32 repeatCount;
true, // bool enableBlend;
+ m_useDynamicRendering, // bool useDynamicRendering;
{ // vector<ClearStep> steps;
{ ClearOp::CLEAR , Vec4(1.0f, 0.0f, 0.0f, 1.0f) , 0.7f },
{ ClearOp::CLEAR , Vec4(0.0f, 1.0f, 0.0f, 1.0f) , 0.3f },
0.01f, // float depthEpsilon;
1u, // deUint32 repeatCount;
false, // bool enableBlend;
+ m_useDynamicRendering, // bool useDynamicRendering;
{ // vector<ClearStep> steps;
{ ClearOp::LOAD , Vec4(1.0f, 0.0f, 0.0f, 1.0f) , 0.3f },
{ ClearOp::CLEAR , Vec4(0.0f, 1.0f, 0.0f, 1.0f) , 0.9f }
0.01f, // float depthEpsilon;
1u, // deUint32 repeatCount;
false, // bool enableBlend;
+ m_useDynamicRendering, // bool useDynamicRendering;
{ // vector<ClearStep> steps;
{ ClearOp::DRAW , Vec4(1.0f, 0.0f, 0.0f, 1.0f) , 0.3f },
{ ClearOp::CLEAR , Vec4(0.0f, 1.0f, 0.0f, 1.0f) , 0.9f }
0.01f, // float depthEpsilon;
1u, // deUint32 repeatCount;
false, // bool enableBlend;
+ m_useDynamicRendering, // bool useDynamicRendering;
{ // vector<ClearStep> steps;
{ ClearOp::CLEAR , Vec4(1.0f, 0.0f, 0.0f, 1.0f) , 0.3f },
{ ClearOp::CLEAR , Vec4(0.0f, 1.0f, 0.0f, 1.0f) , 0.9f }
class MultipleClearsWithinRenderPassTests : public tcu::TestCaseGroup
{
public:
- MultipleClearsWithinRenderPassTests (tcu::TestContext &testCtx);
+ MultipleClearsWithinRenderPassTests (tcu::TestContext &testCtx, bool useDynamicRendering);
~MultipleClearsWithinRenderPassTests ();
void init ();
private:
MultipleClearsWithinRenderPassTests (const MultipleClearsWithinRenderPassTests &other);
MultipleClearsWithinRenderPassTests& operator= (const MultipleClearsWithinRenderPassTests &other);
+
+private:
+ const bool m_useDynamicRendering;
};
}
}
// From the SPIR-V point of view, structured test variants will allow us to test interpolation decorations on struct members
// instead of plain ids.
bool useStructure;
+ bool useDynamicRendering;
};
template<typename T>
{
if (!(m_params.samples & context.getDeviceProperties().limits.framebufferColorSampleCounts))
throw tcu::NotSupportedError("Multisampling with " + de::toString(m_params.samples) + " samples not supported");
+
+ if (m_params.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
}
TestInstance* DrawTestCase::createInstance (Context& context) const
}
}
+ {
+ const ImageViewCreateInfo colorTargetViewInfo(colorTargetImage->object(),
+ vk::VK_IMAGE_VIEW_TYPE_2D,
+ m_params.format);
+
+ colorTargetViews.push_back(makeSharedPtr(createImageView(vk, device, &colorTargetViewInfo)));
+
+ if (useMultisampling)
+ {
+ const ImageViewCreateInfo multisamplingTargetViewInfo(multisampleImage->object(),
+ vk::VK_IMAGE_VIEW_TYPE_2D,
+ m_params.format);
+
+ multisampleViews.push_back(makeSharedPtr(createImageView(vk, device, &multisamplingTargetViewInfo)));
+ }
+ }
+
// Create render pass and framebuffer
+ if (!m_params.useDynamicRendering)
{
RenderPassCreateInfo renderPassCreateInfo;
std::vector<vk::VkImageView> attachments;
deUint32 attachmentNdx = 0;
{
- const ImageViewCreateInfo colorTargetViewInfo (colorTargetImage->object(),
- vk::VK_IMAGE_VIEW_TYPE_2D,
- m_params.format);
-
const vk::VkAttachmentReference colorAttachmentReference =
{
attachmentNdx++,
vk::VK_IMAGE_LAYOUT_GENERAL
};
- colorTargetViews.push_back(makeSharedPtr(createImageView(vk, device, &colorTargetViewInfo)));
colorAttachmentRefs.push_back(colorAttachmentReference);
renderPassCreateInfo.addAttachment(AttachmentDescription(m_params.format,
if (useMultisampling)
{
- const ImageViewCreateInfo multisamplingTargetViewInfo (multisampleImage->object(),
- vk::VK_IMAGE_VIEW_TYPE_2D,
- m_params.format);
-
const vk::VkAttachmentReference multiSampleAttachmentReference =
{
attachmentNdx++,
vk::VK_IMAGE_LAYOUT_GENERAL
};
- multisampleViews.push_back(makeSharedPtr(createImageView(vk, device, &multisamplingTargetViewInfo)));
multisampleAttachmentRefs.push_back(multiSampleAttachmentReference);
renderPassCreateInfo.addAttachment(AttachmentDescription(m_params.format,
pipelineCreateInfo.addState(PipelineCreateInfo::RasterizerState());
pipelineCreateInfo.addState(PipelineCreateInfo::MultiSampleState(m_params.samples, sampleShadingEnable, 1.0f));
+ std::vector<vk::VkFormat> colorAttachmentFormats(colorTargetViews.size(), m_params.format);
+ vk::VkPipelineRenderingCreateInfoKHR renderingCreateInfo
+ {
+ vk::VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ DE_NULL,
+ 0u,
+ static_cast<deUint32>(colorAttachmentFormats.size()),
+ colorAttachmentFormats.data(),
+ vk::VK_FORMAT_UNDEFINED
+ };
+
+ if (m_params.useDynamicRendering)
+ pipelineCreateInfo.pNext = &renderingCreateInfo;
+
pipeline = createGraphicsPipeline(vk, device, DE_NULL, &pipelineCreateInfo);
}
const vk::VkBuffer buffer = vertexBuffer->object();
const vk::VkOffset3D zeroOffset = { 0, 0, 0 };
const auto clearValueColor = vk::makeClearValueColor(tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f));
- std::vector<vk::VkClearValue> clearValues;
-
- clearValues.push_back(clearValueColor);
- if (useMultisampling)
- clearValues.push_back(clearValueColor);
+ std::vector<vk::VkClearValue> clearValues (2, clearValueColor);
beginCommandBuffer(vk, *cmdBuffer, 0u);
- beginRenderPass(vk, *cmdBuffer, *renderPass, *framebuffer, renderArea, (deUint32)clearValues.size(), &clearValues[0]);
+
+ if (m_params.useDynamicRendering)
+ {
+ const deUint32 imagesCount = static_cast<deUint32>(colorTargetViews.size());
+ std::vector<vk::VkRenderingAttachmentInfoKHR> colorAttachments(imagesCount,
+ {
+ vk::VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ DE_NULL, // VkImageView imageView;
+ vk::VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout imageLayout;
+ vk::VK_RESOLVE_MODE_NONE, // VkResolveModeFlagBits resolveMode;
+ DE_NULL, // VkImageView resolveImageView;
+ vk::VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout resolveImageLayout;
+ vk::VK_ATTACHMENT_LOAD_OP_CLEAR, // VkAttachmentLoadOp loadOp;
+ vk::VK_ATTACHMENT_STORE_OP_STORE, // VkAttachmentStoreOp storeOp;
+ clearValueColor // VkClearValue clearValue;
+ });
+
+ for (deUint32 i = 0; i < imagesCount; ++i)
+ {
+ if (useMultisampling)
+ {
+ colorAttachments[i].imageView = **multisampleViews[i];
+ colorAttachments[i].resolveMode = vk::VK_RESOLVE_MODE_AVERAGE_BIT;
+ colorAttachments[i].resolveImageView = **colorTargetViews[i];
+ }
+ else
+ colorAttachments[i].imageView = **colorTargetViews[i];
+ }
+
+ vk::VkRenderingInfoKHR renderingInfo
+ {
+ vk::VK_STRUCTURE_TYPE_RENDERING_INFO_KHR,
+ DE_NULL,
+ 0, // VkRenderingFlagsKHR flags;
+ renderArea, // VkRect2D renderArea;
+ 1u, // deUint32 layerCount;
+ 0u, // deUint32 viewMask;
+ imagesCount, // deUint32 colorAttachmentCount;
+ colorAttachments.data(), // const VkRenderingAttachmentInfoKHR* pColorAttachments;
+ DE_NULL, // const VkRenderingAttachmentInfoKHR* pDepthAttachment;
+ DE_NULL, // const VkRenderingAttachmentInfoKHR* pStencilAttachment;
+ };
+
+ vk.cmdBeginRenderingKHR(*cmdBuffer, &renderingInfo);
+ }
+ else
+ {
+ const deUint32 imagesCount = static_cast<deUint32>(colorTargetViews.size() + multisampleViews.size());
+ beginRenderPass(vk, *cmdBuffer, *renderPass, *framebuffer, renderArea, imagesCount, &clearValues[0]);
+ }
+
vk.cmdBindVertexBuffers(*cmdBuffer, 0, 1, &buffer, &vertexBufferOffset);
vk.cmdBindPipeline(*cmdBuffer, vk::VK_PIPELINE_BIND_POINT_GRAPHICS, *pipeline);
vk.cmdPushConstants(*cmdBuffer, *pipelineLayout, vk::VK_SHADER_STAGE_FRAGMENT_BIT, 0u, pcDataSize, &pcData);
vk.cmdDraw(*cmdBuffer, 3u, 1u, 0u, 0u);
- endRenderPass(vk, *cmdBuffer);
+
+ if (m_params.useDynamicRendering)
+ endRendering(vk, *cmdBuffer);
+ else
+ endRenderPass(vk, *cmdBuffer);
endCommandBuffer(vk, *cmdBuffer);
submitCommandsAndWait(vk, device, queue, cmdBuffer.get());
return tcu::TestStatus::pass("Results differ and references match");
}
-void createTests (tcu::TestCaseGroup* testGroup)
+void createTests (tcu::TestCaseGroup* testGroup, bool useDynamicRendering)
{
tcu::TestContext& testCtx = testGroup->getTestContext();
const vk::VkFormat format = vk::VK_FORMAT_R8G8B8A8_UNORM;
for (const auto& testVariant : testVariants)
{
- const DrawParams params {format, size, testVariant.samples, grpVariant.useStructure};
+ const DrawParams params {format, size, testVariant.samples, grpVariant.useStructure, useDynamicRendering};
group->addChild(new DrawTestCase(testCtx, testVariant.name, testVariant.desc, params));
}
} // anonymous
-tcu::TestCaseGroup* createMultipleInterpolationTests (tcu::TestContext& testCtx)
+tcu::TestCaseGroup* createMultipleInterpolationTests (tcu::TestContext& testCtx, bool useDynamicRendering)
{
return createTestGroup(testCtx,
"multiple_interpolation",
"Tests for multiple interpolation decorations in a shader stage.",
- createTests);
+ createTests,
+ useDynamicRendering);
}
} // Draw
namespace Draw
{
-tcu::TestCaseGroup* createMultipleInterpolationTests (tcu::TestContext& testCtx);
+tcu::TestCaseGroup* createMultipleInterpolationTests (tcu::TestContext& testCtx, bool useDynamicRendering);
} // Draw
} // vkt
VkFrontFace frontFace;
VkCullModeFlagBits cullMode;
bool zeroViewportHeight;
+ bool useDynamicRendering;
};
class NegativeViewportHeightTestInstance : public TestInstance
flushMappedMemoryRange(vk, device, m_vertexBuffer->getBoundMemory().getMemory(), m_vertexBuffer->getBoundMemory().getOffset(), VK_WHOLE_SIZE);
}
- // Render pass
- {
- const VkExtent3D targetImageExtent = { WIDTH, HEIGHT, 1 };
- const VkImageUsageFlags targetImageUsageFlags = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+ const VkExtent3D targetImageExtent = { WIDTH, HEIGHT, 1 };
+ const VkImageUsageFlags targetImageUsageFlags = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+
+ const ImageCreateInfo targetImageCreateInfo(
+ VK_IMAGE_TYPE_2D, // imageType,
+ m_colorAttachmentFormat, // format,
+ targetImageExtent, // extent,
+ 1u, // mipLevels,
+ 1u, // arrayLayers,
+ VK_SAMPLE_COUNT_1_BIT, // samples,
+ VK_IMAGE_TILING_OPTIMAL, // tiling,
+ targetImageUsageFlags); // usage,
- const ImageCreateInfo targetImageCreateInfo(
- VK_IMAGE_TYPE_2D, // imageType,
- m_colorAttachmentFormat, // format,
- targetImageExtent, // extent,
- 1u, // mipLevels,
- 1u, // arrayLayers,
- VK_SAMPLE_COUNT_1_BIT, // samples,
- VK_IMAGE_TILING_OPTIMAL, // tiling,
- targetImageUsageFlags); // usage,
+ m_colorTargetImage = Image::createAndAlloc(vk, device, targetImageCreateInfo, m_context.getDefaultAllocator(), m_context.getUniversalQueueFamilyIndex());
- m_colorTargetImage = Image::createAndAlloc(vk, device, targetImageCreateInfo, m_context.getDefaultAllocator(), m_context.getUniversalQueueFamilyIndex());
+ const ImageViewCreateInfo colorTargetViewInfo(m_colorTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, m_colorAttachmentFormat);
+ m_colorTargetView = createImageView(vk, device, &colorTargetViewInfo);
+ // Render pass and framebuffer
+ if (!m_params.useDynamicRendering)
+ {
RenderPassCreateInfo renderPassCreateInfo;
renderPassCreateInfo.addAttachment(AttachmentDescription(
m_colorAttachmentFormat, // format
DE_NULL)); // preserveAttachments
m_renderPass = createRenderPass(vk, device, &renderPassCreateInfo);
- }
-
- // Framebuffer
- {
- const ImageViewCreateInfo colorTargetViewInfo (m_colorTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, m_colorAttachmentFormat);
- m_colorTargetView = createImageView(vk, device, &colorTargetViewInfo);
-
- std::vector<VkImageView> colorAttachments(1);
- colorAttachments[0] = *m_colorTargetView;
- const FramebufferCreateInfo framebufferCreateInfo(*m_renderPass, colorAttachments, WIDTH, HEIGHT, 1);
+ std::vector<VkImageView> colorAttachments { *m_colorTargetView };
+ const FramebufferCreateInfo framebufferCreateInfo (*m_renderPass, colorAttachments, WIDTH, HEIGHT, 1);
m_framebuffer = createFramebuffer(vk, device, &framebufferCreateInfo);
}
pipelineCreateInfo.addState (PipelineCreateInfo::MultiSampleState ());
pipelineCreateInfo.addState (PipelineCreateInfo::DynamicState (dynamicStates));
+ vk::VkPipelineRenderingCreateInfoKHR renderingCreateInfo
+ {
+ vk::VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ DE_NULL,
+ 0u,
+ 1u,
+ &m_colorAttachmentFormat,
+ vk::VK_FORMAT_UNDEFINED
+ };
+
+ if (m_params.useDynamicRendering)
+ pipelineCreateInfo.pNext = &renderingCreateInfo;
+
m_pipeline = createGraphicsPipeline(vk, device, DE_NULL, &pipelineCreateInfo);
}
const VkDevice device = m_context.getDevice();
const VkQueue queue = m_context.getUniversalQueue();
const deUint32 queueFamilyIndex = m_context.getUniversalQueueFamilyIndex();
+ const VkClearValue clearColor = makeClearValueColorF32(0.125f, 0.25f, 0.5f, 1.0f);
// Command buffer
vk.cmdSetViewport(*cmdBuffer, 0u, 1u, &viewport);
{
- const VkClearColorValue clearColor = makeClearValueColorF32(0.125f, 0.25f, 0.5f, 1.0f).color;
const ImageSubresourceRange subresourceRange (VK_IMAGE_ASPECT_COLOR_BIT);
initialTransitionColor2DImage(vk, *cmdBuffer, m_colorTargetImage->object(), VK_IMAGE_LAYOUT_GENERAL,
VK_ACCESS_TRANSFER_WRITE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT);
- vk.cmdClearColorImage(*cmdBuffer, m_colorTargetImage->object(), VK_IMAGE_LAYOUT_GENERAL, &clearColor, 1, &subresourceRange);
+ vk.cmdClearColorImage(*cmdBuffer, m_colorTargetImage->object(), VK_IMAGE_LAYOUT_GENERAL, &clearColor.color, 1, &subresourceRange);
}
if (m_params.zeroViewportHeight)
vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, 0, 1, &memBarrier, 0, DE_NULL, 0, DE_NULL);
}
- beginRenderPass(vk, *cmdBuffer, *m_renderPass, *m_framebuffer, makeRect2D(0, 0, WIDTH, HEIGHT));
+ VkRect2D rect = makeRect2D(0, 0, WIDTH, HEIGHT);
+ if (m_params.useDynamicRendering)
+ beginRendering(vk, *cmdBuffer, *m_colorTargetView, rect, clearColor);
+ else
+ beginRenderPass(vk, *cmdBuffer, *m_renderPass, *m_framebuffer, rect);
{
const VkDeviceSize offset = 0;
vk.cmdBindPipeline(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipeline);
vk.cmdDraw(*cmdBuffer, 6, 1, 0, 0);
- endRenderPass(vk, *cmdBuffer);
+
+ if (m_params.useDynamicRendering)
+ endRendering(vk, *cmdBuffer);
+ else
+ endRenderPass(vk, *cmdBuffer);
+
endCommandBuffer(vk, *cmdBuffer);
// Submit
virtual void checkSupport (Context& context) const
{
+ if (m_params.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
+
context.requireDeviceFunctionality("VK_KHR_maintenance1");
}
const TestParams m_params;
};
-void populateTestGroup (tcu::TestCaseGroup* testGroup, bool zeroViewportHeight)
+struct GroupParams
+{
+ bool zeroViewportHeight;
+ bool useDynamicRendering;
+};
+
+void populateTestGroup (tcu::TestCaseGroup* testGroup, GroupParams groupParams)
{
const struct
{
{
frontFace[ndxFrontFace].frontFace,
cullMode[ndxCullMode].cullMode,
- zeroViewportHeight
+ groupParams.zeroViewportHeight,
+ groupParams.useDynamicRendering
};
std::ostringstream name;
name << frontFace[ndxFrontFace].name << "_" << cullMode[ndxCullMode].name;
} // anonymous
-tcu::TestCaseGroup* createNegativeViewportHeightTests (tcu::TestContext& testCtx)
+tcu::TestCaseGroup* createNegativeViewportHeightTests (tcu::TestContext& testCtx, bool useDynamicRendering)
{
- return createTestGroup(testCtx, "negative_viewport_height", "Negative viewport height (VK_KHR_maintenance1)", populateTestGroup, false);
+ GroupParams groupParams { false, useDynamicRendering };
+ return createTestGroup(testCtx, "negative_viewport_height", "Negative viewport height (VK_KHR_maintenance1)", populateTestGroup, groupParams);
}
-tcu::TestCaseGroup* createZeroViewportHeightTests (tcu::TestContext& testCtx)
+tcu::TestCaseGroup* createZeroViewportHeightTests (tcu::TestContext& testCtx, bool useDynamicRendering)
{
- return createTestGroup(testCtx, "zero_viewport_height", "Zero viewport height (VK_KHR_maintenance1)", populateTestGroup, true);
+ GroupParams groupParams{ false, useDynamicRendering };
+ return createTestGroup(testCtx, "zero_viewport_height", "Zero viewport height (VK_KHR_maintenance1)", populateTestGroup, groupParams);
}
} // Draw
namespace Draw
{
-tcu::TestCaseGroup* createNegativeViewportHeightTests (tcu::TestContext& testCtx);
-tcu::TestCaseGroup* createZeroViewportHeightTests (tcu::TestContext& testCtx);
+tcu::TestCaseGroup* createNegativeViewportHeightTests (tcu::TestContext& testCtx, bool useDynamicRendering);
+tcu::TestCaseGroup* createZeroViewportHeightTests (tcu::TestContext& testCtx, bool useDynamicRendering);
} // Draw
} // vkt
vector<VkRect2D> staticScissors;
vector<TestCommandSp> commands;
bool usesMultipleScissors;
+ bool usesDynamicRendering;
VkExtent2D framebufferSize;
};
void ScissorTestCase::checkSupport (Context& context) const
{
+ if (m_params.usesDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
+
if (m_params.usesMultipleScissors)
{
context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_GEOMETRY_SHADER);
TestStatus ScissorTestInstance::iterate (void)
{
ConstPixelBufferAccess frame;
+ VkFormat colorImageFormat = VK_FORMAT_R8G8B8A8_UNORM;
de::SharedPtr<Image> colorTargetImage;
TestLog& log = m_context.getTestContext().getLog();
const DeviceInterface& vk = m_context.getDeviceInterface();
// Create color buffer image
{
const VkExtent3D targetImageExtent = { WIDTH, HEIGHT, 1 };
- const ImageCreateInfo targetImageCreateInfo (VK_IMAGE_TYPE_2D, VK_FORMAT_R8G8B8A8_UNORM, targetImageExtent, 1, 1, VK_SAMPLE_COUNT_1_BIT,
+ const ImageCreateInfo targetImageCreateInfo (VK_IMAGE_TYPE_2D, colorImageFormat, targetImageExtent, 1, 1, VK_SAMPLE_COUNT_1_BIT,
VK_IMAGE_TILING_OPTIMAL, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT);
colorTargetImage = Image::createAndAlloc(vk, device, targetImageCreateInfo, m_context.getDefaultAllocator(), m_context.getUniversalQueueFamilyIndex());
}
- // Create render pass and frame buffer
- {
- const ImageViewCreateInfo colorTargetViewInfo (colorTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, VK_FORMAT_R8G8B8A8_UNORM);
- colorTargetView = createImageView(vk, device, &colorTargetViewInfo);
+ const ImageViewCreateInfo colorTargetViewInfo(colorTargetImage->object(), VK_IMAGE_VIEW_TYPE_2D, colorImageFormat);
+ colorTargetView = createImageView(vk, device, &colorTargetViewInfo);
+ // Create render pass
+ if (!m_params.usesDynamicRendering)
+ {
RenderPassCreateInfo renderPassCreateInfo;
- renderPassCreateInfo.addAttachment(AttachmentDescription(VK_FORMAT_R8G8B8A8_UNORM,
+ renderPassCreateInfo.addAttachment(AttachmentDescription(colorImageFormat,
VK_SAMPLE_COUNT_1_BIT,
VK_ATTACHMENT_LOAD_OP_CLEAR,
VK_ATTACHMENT_STORE_OP_STORE,
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL));
const VkAttachmentReference colorAttachmentRef = { 0, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL };
- vector<VkImageView> colorAttachment (1, *colorTargetView);
renderPassCreateInfo.addSubpass(SubpassDescription(VK_PIPELINE_BIND_POINT_GRAPHICS, 0, 0, DE_NULL, 1, &colorAttachmentRef,
DE_NULL, AttachmentReference(), 0, DE_NULL));
renderPass = createRenderPass(vk, device, &renderPassCreateInfo);
+ // Create framebuffer
+ vector<VkImageView> colorAttachment { *colorTargetView };
const FramebufferCreateInfo framebufferCreateInfo(*renderPass, colorAttachment, framebufferSize.width, framebufferSize.height, 1);
-
- framebuffer = createFramebuffer(vk, device, &framebufferCreateInfo);
+ framebuffer = createFramebuffer(vk, device, &framebufferCreateInfo);
}
// Create vertex buffer
pipelineCreateInfo.addState(PipelineCreateInfo::ViewportState(numScissors, vector<VkViewport>(numScissors, viewport), m_params.staticScissors));
}
+ vk::VkPipelineRenderingCreateInfoKHR renderingCreateInfo
+ {
+ vk::VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ DE_NULL,
+ 0u,
+ 1u,
+ &colorImageFormat,
+ vk::VK_FORMAT_UNDEFINED
+ };
+
+ if (m_params.usesDynamicRendering)
+ pipelineCreateInfo.pNext = &renderingCreateInfo;
+
pipeline = createGraphicsPipeline(vk, device, DE_NULL, &pipelineCreateInfo);
}
const VkRect2D renderArea = makeRect2D(framebufferSize);
const VkDeviceSize vertexBufferOffset = 0;
const VkOffset3D zeroOffset = { 0, 0, 0 };
- const Vec4 clearColor (0.0f, 0.0f, 0.0f, 1.0f);
+ const tcu::Vec4 clearColor = { 0.0f, 0.0f, 0.0f, 1.0f };
+ const VkClearValue clearValue = makeClearValueColor(clearColor);
clearColorImage(vk, device, m_context.getUniversalQueue(), m_context.getUniversalQueueFamilyIndex(), colorTargetImage->object(), clearColor,
VK_IMAGE_LAYOUT_UNDEFINED,
VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT);
beginCommandBuffer(vk, *cmdBuffer, 0u);
- beginRenderPass(vk, *cmdBuffer, *renderPass, *framebuffer, renderArea, clearColor);
+
+ if (m_params.usesDynamicRendering)
+ beginRendering(vk, *cmdBuffer, *colorTargetView, renderArea, clearValue, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_ATTACHMENT_LOAD_OP_CLEAR);
+ else
+ beginRenderPass(vk, *cmdBuffer, *renderPass, *framebuffer, renderArea, clearColor);
+
if (vertexBufferSize > 0)
{
const VkBuffer buffer = vertexBuffer->object();
for (size_t commandIdx = 0; commandIdx < m_params.commands.size(); commandIdx++)
m_params.commands[commandIdx]->addCommands(vk, *cmdBuffer);
- endRenderPass(vk, *cmdBuffer);
+ if (m_params.usesDynamicRendering)
+ endRendering(vk, *cmdBuffer);
+ else
+ endRenderPass(vk, *cmdBuffer);
+
transition2DImage(vk, *cmdBuffer, colorTargetImage->object(),
VK_IMAGE_ASPECT_COLOR_BIT, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,
return TestStatus(res, qpGetTestResultName(res));
}
-void createTests (TestCaseGroup* testGroup)
+void createTests (TestCaseGroup* testGroup, bool useDynamicRendering)
{
TestContext& testCtx = testGroup->getTestContext();
const Vec4 red (1.0f, 0.0f, 0.0f, 1.0f);
{
TestParams params;
params.dynamicScissor = false;
+ params.usesDynamicRendering = useDynamicRendering;
params.staticScissors.push_back(makeRect2D(30, 40, WIDTH - 60, HEIGHT - 80));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(10, 10, 50, 50, red)));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(WIDTH - 80, HEIGHT - 100, 30, 40, green)));
{
TestParams params;
params.dynamicScissor = false;
+ params.usesDynamicRendering = useDynamicRendering;
params.staticScissors.push_back(makeRect2D(30, 40, WIDTH - 60, HEIGHT - 80));
params.commands.push_back(TestCommandSp(new RectClearTestCommand(10, 10, 50, 50, red)));
params.commands.push_back(TestCommandSp(new RectClearTestCommand(WIDTH - 80, HEIGHT - 100, 30, 40, green)));
{
TestParams params;
params.dynamicScissor = false;
+ params.usesDynamicRendering = useDynamicRendering;
params.staticScissors.push_back(makeRect2D(30, 40, WIDTH - 60, HEIGHT - 70));
params.staticScissors.push_back(makeRect2D(40, 50, WIDTH - 60, HEIGHT - 70));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(10, 10, WIDTH - 10, HEIGHT - 10, red)));
{
TestParams params;
params.dynamicScissor = false;
+ params.usesDynamicRendering = useDynamicRendering;
params.staticScissors.push_back(makeRect2D(30, 40, WIDTH, HEIGHT));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(0, 0, WIDTH, HEIGHT + 30, green)));
{
TestParams params;
params.dynamicScissor = false;
+ params.usesDynamicRendering = useDynamicRendering;
params.staticScissors.push_back(makeRect2D(WIDTH + 30, HEIGHT + 40, WIDTH, HEIGHT));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(100, 100, 20, 30, green)));
{
TestParams params;
params.dynamicScissor = false;
+ params.usesDynamicRendering = useDynamicRendering;
params.staticScissors.push_back(makeRect2D(WIDTH, 0, WIDTH, HEIGHT));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(100, 100, 20, 30, green)));
{
TestParams params;
params.dynamicScissor = false;
+ params.usesDynamicRendering = useDynamicRendering;
params.staticScissors.push_back(makeRect2D(100, 100, 0x7fffffff - 100, 0x7fffffff - 100));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(0, 0, WIDTH, HEIGHT, green)));
{
TestParams params;
params.dynamicScissor = false;
+ params.usesDynamicRendering = useDynamicRendering;
for (deUint32 i = 0; i < 16; i++)
params.staticScissors.push_back(makeRect2D(10 + i * 3, 20 + i * 2, WIDTH / 2, HEIGHT / 2));
{
TestParams params;
params.dynamicScissor = false;
+ params.usesDynamicRendering = useDynamicRendering;
params.staticScissors.push_back(makeRect2D(0, 0, 0, 0));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(10, 10, 50, 50, red)));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(WIDTH - 80, HEIGHT - 100, 30, 40, green)));
{
TestParams params;
params.dynamicScissor = true;
+ params.usesDynamicRendering = useDynamicRendering;
params.commands.push_back(TestCommandSp(new DynamicScissorTestCommand(0, vector<VkRect2D>(1, makeRect2D(30, 40, WIDTH - 60, HEIGHT - 80)))));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(10, 10, 50, 50, red)));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(WIDTH - 80, HEIGHT - 100, 30, 40, green)));
{
TestParams params;
params.dynamicScissor = true;
+ params.usesDynamicRendering = useDynamicRendering;
params.commands.push_back(TestCommandSp(new DynamicScissorTestCommand(0, vector<VkRect2D>(1, makeRect2D(0, 0, 0, 0)))));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(10, 10, 50, 50, red)));
params.commands.push_back(TestCommandSp(new DynamicScissorTestCommand(0, vector<VkRect2D>(1, makeRect2D(30, 40, WIDTH - 60, HEIGHT - 80)))));
vector<VkRect2D> scissors;
params.dynamicScissor = true;
+ params.usesDynamicRendering = useDynamicRendering;
+
scissors.push_back(rect);
rect.offset.x += 10;
rect.offset.y += 10;
vector<VkRect2D> scissors;
params.dynamicScissor = true;
+ params.usesDynamicRendering = useDynamicRendering;
+
scissors.push_back(rect);
rect.offset.x += 10;
rect.offset.y += 10;
{
TestParams params;
params.dynamicScissor = true;
+ params.usesDynamicRendering = useDynamicRendering;
params.commands.push_back(TestCommandSp(new DynamicScissorTestCommand(0, vector<VkRect2D>(1, makeRect2D(30, 40, WIDTH, HEIGHT)))));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(0, 0, WIDTH + 50, HEIGHT + 20, green)));
{
TestParams params;
params.dynamicScissor = true;
+ params.usesDynamicRendering = useDynamicRendering;
params.commands.push_back(TestCommandSp(new DynamicScissorTestCommand(0, vector<VkRect2D>(1, makeRect2D(WIDTH + 30, HEIGHT + 40, WIDTH, HEIGHT)))));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(100, 100, 20, 30, green)));
{
TestParams params;
params.dynamicScissor = true;
+ params.usesDynamicRendering = useDynamicRendering;
params.commands.push_back(TestCommandSp(new DynamicScissorTestCommand(0, vector<VkRect2D>(1, makeRect2D(WIDTH, 0, WIDTH, HEIGHT)))));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(100, 100, 20, 30, green)));
{
TestParams params;
params.dynamicScissor = true;
+ params.usesDynamicRendering = useDynamicRendering;
params.commands.push_back(TestCommandSp(new DynamicScissorTestCommand(0, vector<VkRect2D>(1, makeRect2D(100, 100, 0x7fffffff - 100, 0x7fffffff - 100)))));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(0, 0, WIDTH, HEIGHT, green)));
TestParams params;
vector<VkRect2D> scissors;
params.dynamicScissor = true;
+ params.usesDynamicRendering = useDynamicRendering;
for (deUint32 i = 0; i < 16; i++)
scissors.push_back(makeRect2D(10 + i * 3, 20 + i * 2, WIDTH / 2, HEIGHT / 2));
{
TestParams params;
params.dynamicScissor = true;
+ params.usesDynamicRendering = useDynamicRendering;
params.commands.push_back(TestCommandSp(new DynamicScissorTestCommand(0, vector<VkRect2D>(1, makeRect2D(30, 40, WIDTH - 60, HEIGHT - 80)))));
params.commands.push_back(TestCommandSp(new RectClearTestCommand(10, 10, 50, 50, red)));
params.commands.push_back(TestCommandSp(new RectClearTestCommand(WIDTH - 80, HEIGHT - 100, 30, 40, green)));
vector<VkRect2D> scissors;
params.dynamicScissor = true;
+ params.usesDynamicRendering = useDynamicRendering;
+
scissors.push_back(makeRect2D(30, 40, 50, 60));
scissors.push_back(makeRect2D(40, 20, 50, 50));
params.commands.push_back(TestCommandSp(new DynamicScissorTestCommand(0, scissors)));
params.framebufferSize = size;
params.dynamicScissor = false;
+ params.usesDynamicRendering = useDynamicRendering;
params.staticScissors.push_back(makeRect2D(1, 1, size.width - 2, size.height - 2));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(0, 0, WIDTH * 4, HEIGHT * 4, red)));
params.framebufferSize = size;
params.dynamicScissor = true;
+ params.usesDynamicRendering = useDynamicRendering;
scissors.push_back(makeRect2D(1, 1, size.width - 2, size.height - 2));
params.commands.push_back(TestCommandSp(new DynamicScissorTestCommand(0, scissors)));
params.framebufferSize = size;
params.dynamicScissor = false;
+ params.usesDynamicRendering = useDynamicRendering;
params.staticScissors.push_back(makeRect2D(0, 0, size.width + 1, size.height + 1));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(0, 0, WIDTH * 4, HEIGHT * 4, red)));
params.framebufferSize = size;
params.dynamicScissor = true;
+ params.usesDynamicRendering = useDynamicRendering;
scissors.push_back(makeRect2D(0, 0, size.width + 1, size.height + 1));
params.commands.push_back(TestCommandSp(new DynamicScissorTestCommand(0, scissors)));
params.framebufferSize = size;
params.dynamicScissor = false;
+ params.usesDynamicRendering = useDynamicRendering;
params.staticScissors.push_back(makeRect2D(0, 0, WIDTH * 2, HEIGHT * 2));
params.commands.push_back(TestCommandSp(new QuadDrawTestCommand(0, 0, WIDTH * 4, HEIGHT * 4, red)));
params.framebufferSize = size;
params.dynamicScissor = true;
+ params.usesDynamicRendering = useDynamicRendering;
scissors.push_back(makeRect2D(0, 0, WIDTH * 2, HEIGHT * 2));
params.commands.push_back(TestCommandSp(new DynamicScissorTestCommand(0, scissors)));
} // anonymous
-TestCaseGroup* createScissorTests (TestContext& testCtx)
+TestCaseGroup* createScissorTests (TestContext& testCtx, bool useDynamicRendering)
{
- return createTestGroup(testCtx, "scissor", "Scissor tests", createTests);
+ return createTestGroup(testCtx, "scissor", "Scissor tests", createTests, useDynamicRendering);
}
} // Draw
namespace Draw
{
-tcu::TestCaseGroup* createScissorTests (tcu::TestContext& testCtx);
+tcu::TestCaseGroup* createScissorTests (tcu::TestContext& testCtx, bool useDynamicRendering);
} // Draw
} // vkt
TestFlags flags;
};
-inline FlagsTestSpec addFlags (FlagsTestSpec spec, const TestFlags flags)
-{
- spec.flags |= flags;
- return spec;
-}
-
enum Constants
{
// \note Data layout in buffers (junk data and good data is intertwined).
};
DrawTest::DrawTest (Context &context, TestSpec testSpec)
- : DrawTestsBaseClass(context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], testSpec.topology)
+ : DrawTestsBaseClass(context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], testSpec.useDynamicRendering, testSpec.topology)
, m_flags (testSpec.flags)
{
DE_ASSERT(m_topology == vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP);
{
// Draw
{
- beginRenderPass();
+ beginRender();
const vk::VkDeviceSize vertexBufferOffset = 0;
const vk::VkBuffer vertexBuffer = m_vertexBuffer->object();
m_vk.cmdDraw(*m_cmdBuffer, NUM_VERTICES, numInstances, NDX_FIRST_VERTEX, firstInstance);
}
- endRenderPass(m_vk, *m_cmdBuffer);
+ endRender();
endCommandBuffer(m_vk, *m_cmdBuffer);
}
}
}
-void checkSupport (Context& context, TestFlags flags)
+void checkSupport (Context& context, DrawTest::TestSpec testSpec)
{
context.requireDeviceFunctionality("VK_KHR_shader_draw_parameters");
TCU_THROW(NotSupportedError, "shaderDrawParameters feature not supported by the device");
}
- if (flags & TEST_FLAG_MULTIDRAW)
+ if (testSpec.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
+
+ if (testSpec.flags & TEST_FLAG_MULTIDRAW)
context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_MULTI_DRAW_INDIRECT);
- if (flags & TEST_FLAG_FIRST_INSTANCE)
+ if (testSpec.flags & TEST_FLAG_FIRST_INSTANCE)
context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_DRAW_INDIRECT_FIRST_INSTANCE);
}
-void addDrawCase (tcu::TestCaseGroup* group, const DrawTest::TestSpec testSpec, const TestFlags flags)
+void addDrawCase (tcu::TestCaseGroup* group, DrawTest::TestSpec testSpec, const TestFlags flags)
{
std::ostringstream name;
name << "draw";
if (flags & TEST_FLAG_INSTANCED) name << "_instanced";
if (flags & TEST_FLAG_FIRST_INSTANCE) name << "_first_instance";
- group->addChild(new InstanceFactory<DrawTest, FunctionSupport1<TestFlags>>(group->getTestContext(), name.str(), "", addFlags(testSpec, flags), FunctionSupport1<TestFlags>::Args(checkSupport, testSpec.flags | flags)));
+ testSpec.flags |= flags;
+
+ group->addChild(new InstanceFactory<DrawTest, FunctionSupport1<DrawTest::TestSpec>>(group->getTestContext(), name.str(), "", testSpec, FunctionSupport1<DrawTest::TestSpec>::Args(checkSupport, testSpec)));
}
} // anonymous
-ShaderDrawParametersTests::ShaderDrawParametersTests (tcu::TestContext &testCtx)
- : TestCaseGroup (testCtx, "shader_draw_parameters", "VK_KHR_shader_draw_parameters")
+ShaderDrawParametersTests::ShaderDrawParametersTests (tcu::TestContext &testCtx, bool useDynamicRendering)
+ : TestCaseGroup (testCtx, "shader_draw_parameters", "VK_KHR_shader_draw_parameters")
+ , m_useDynamicRendering (useDynamicRendering)
{
}
DrawTest::TestSpec testSpec;
testSpec.shaders[glu::SHADERTYPE_VERTEX] = "vulkan/draw/VertexFetchShaderDrawParameters.vert";
testSpec.shaders[glu::SHADERTYPE_FRAGMENT] = "vulkan/draw/VertexFetch.frag";
+ testSpec.useDynamicRendering = m_useDynamicRendering;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
testSpec.flags = 0;
DrawTest::TestSpec testSpec;
testSpec.shaders[glu::SHADERTYPE_VERTEX] = "vulkan/draw/VertexFetchShaderDrawParameters.vert";
testSpec.shaders[glu::SHADERTYPE_FRAGMENT] = "vulkan/draw/VertexFetch.frag";
+ testSpec.useDynamicRendering = m_useDynamicRendering;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
testSpec.flags = TEST_FLAG_INSTANCED;
DrawTest::TestSpec testSpec;
testSpec.shaders[glu::SHADERTYPE_VERTEX] = "vulkan/draw/VertexFetchShaderDrawParametersDrawIndex.vert";
testSpec.shaders[glu::SHADERTYPE_FRAGMENT] = "vulkan/draw/VertexFetch.frag";
+ testSpec.useDynamicRendering = m_useDynamicRendering;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
testSpec.flags = TEST_FLAG_INDIRECT | TEST_FLAG_MULTIDRAW;
class ShaderDrawParametersTests : public tcu::TestCaseGroup
{
public:
- ShaderDrawParametersTests (tcu::TestContext& testCtx);
+ ShaderDrawParametersTests (tcu::TestContext& testCtx, bool useDynamicRendering);
void init (void);
private:
ShaderDrawParametersTests (const ShaderDrawParametersTests& other);
ShaderDrawParametersTests& operator= (const ShaderDrawParametersTests& other);
+
+private:
+ const bool m_useDynamicRendering;
};
} // Draw
MIN_MAX_VIEWPORTS = 16, //!< Minimum number of viewports for an implementation supporting multiViewport.
};
+struct TestParams
+{
+ int numLayers;
+ bool useDynamicRendering;
+};
+
template<typename T>
inline VkDeviceSize sizeInBytes(const std::vector<T>& vec)
{
3, // uint32_t patchControlPoints;
};
- const VkGraphicsPipelineCreateInfo graphicsPipelineInfo =
+ VkGraphicsPipelineCreateInfo graphicsPipelineInfo
{
VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, // VkStructureType sType;
DE_NULL, // const void* pNext;
0, // deInt32 basePipelineIndex;
};
+ VkFormat colorAttachmentFormat = VK_FORMAT_R8G8B8A8_UNORM;
+ vk::VkPipelineRenderingCreateInfoKHR renderingCreateInfo
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ DE_NULL,
+ 0u,
+ 1u,
+ &colorAttachmentFormat,
+ VK_FORMAT_UNDEFINED
+ };
+
+ // when pipeline is created without render pass we are using dynamic rendering
+ if (renderPass == DE_NULL)
+ graphicsPipelineInfo.pNext = &renderingCreateInfo;
+
return createGraphicsPipeline(vk, device, DE_NULL, &graphicsPipelineInfo);
}
return image;
}
-void initVertexTestPrograms (SourceCollections& programCollection, const int numViewports)
+void initVertexTestPrograms (SourceCollections& programCollection, const TestParams params)
{
- DE_UNREF(numViewports);
+ DE_UNREF(params.numLayers);
// Vertex shader
{
}
}
-void initTessellationTestPrograms (SourceCollections& programCollection, const int numViewports)
+void initTessellationTestPrograms (SourceCollections& programCollection, const TestParams params)
{
- DE_UNREF(numViewports);
+ DE_UNREF(params.numLayers);
// Vertex shader
{
};
Renderer (Context& context,
+ const bool useDynamicRendering,
const UVec2& renderSize,
const int numLayers,
const VkFormat colorFormat,
const Vec4& clearColor,
const std::vector<PositionColorVertex>& vertices,
const Shader shader)
- : m_renderSize (renderSize)
+ : m_useDynamicRendering (useDynamicRendering)
+ , m_renderSize (renderSize)
, m_colorFormat (colorFormat)
, m_colorSubresourceRange (makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, numLayers))
, m_clearColor (clearColor)
m_vertexModule = createShaderModule (vk, device, context.getBinaryCollection().get("vert"), 0u);
m_fragmentModule = createShaderModule (vk, device, context.getBinaryCollection().get("frag"), 0u);
- m_renderPass = makeRenderPass (vk, device, m_colorFormat);
- m_framebuffer = makeFramebuffer (vk, device, *m_renderPass, m_colorAttachment.get(),
+
+ if (!m_useDynamicRendering)
+ {
+ m_renderPass = makeRenderPass (vk, device, m_colorFormat);
+
+ m_framebuffer = makeFramebuffer (vk, device, *m_renderPass, m_colorAttachment.get(),
static_cast<deUint32>(m_renderSize.x()),
static_cast<deUint32>(m_renderSize.y()),
numLayers);
+ }
+
m_pipelineLayout = makePipelineLayout (vk, device);
m_pipeline = makeGraphicsPipeline (vk, device, *m_pipelineLayout, *m_renderPass, *m_vertexModule, *m_tessellationControlModule,
*m_tessellationEvaluationModule, *m_fragmentModule, m_renderSize);
makeOffset2D(0, 0),
makeExtent2D(m_renderSize.x(), m_renderSize.y()),
};
- const VkRenderPassBeginInfo renderPassBeginInfo =
+
+ if (m_useDynamicRendering)
{
- VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO, // VkStructureType sType;
- DE_NULL, // const void* pNext;
- *m_renderPass, // VkRenderPass renderPass;
- *m_framebuffer, // VkFramebuffer framebuffer;
- renderArea, // VkRect2D renderArea;
- 1u, // uint32_t clearValueCount;
- &clearValue, // const VkClearValue* pClearValues;
- };
- vk.cmdBeginRenderPass(*m_cmdBuffer, &renderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE);
+ initialTransitionColor2DImage(vk, *m_cmdBuffer, *m_colorImage, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
+ VK_ACCESS_TRANSFER_WRITE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT);
+ beginRendering(vk, *m_cmdBuffer, *m_colorAttachment, renderArea, clearValue, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_ATTACHMENT_LOAD_OP_CLEAR, 0, m_numLayers);
+ }
+ else
+ {
+ const VkRenderPassBeginInfo renderPassBeginInfo =
+ {
+ VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ *m_renderPass, // VkRenderPass renderPass;
+ *m_framebuffer, // VkFramebuffer framebuffer;
+ renderArea, // VkRect2D renderArea;
+ 1u, // uint32_t clearValueCount;
+ &clearValue, // const VkClearValue* pClearValues;
+ };
+ vk.cmdBeginRenderPass(*m_cmdBuffer, &renderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE);
+ }
vk.cmdBindPipeline(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipeline);
{
vk.cmdBindVertexBuffers(*m_cmdBuffer, 0u, 1u, &vertexBuffer, &vertexBufferOffset);
}
vk.cmdDraw(*m_cmdBuffer, static_cast<deUint32>(m_numLayers * 6), 1u, 0u, 0u); // two triangles per layer
- vk.cmdEndRenderPass(*m_cmdBuffer);
+
+ if (m_useDynamicRendering)
+ endRendering(vk, *m_cmdBuffer);
+ else
+ vk.cmdEndRenderPass(*m_cmdBuffer);
copyImageToBuffer(vk, *m_cmdBuffer, *m_colorImage, colorBuffer, tcu::IVec2(m_renderSize.x(), m_renderSize.y()), VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, m_colorSubresourceRange.layerCount);
}
private:
+ const bool m_useDynamicRendering;
const UVec2 m_renderSize;
const VkFormat m_colorFormat;
const VkImageSubresourceRange m_colorSubresourceRange;
Renderer& operator= (const Renderer&);
};
-void checkRequirements (Context& context, const int)
+void checkRequirements (Context& context, const TestParams params)
{
context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_MULTI_VIEWPORT);
context.requireDeviceFunctionality("VK_EXT_shader_viewport_index_layer");
+ if (params.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
+
const VkPhysicalDeviceLimits limits = context.getDeviceProperties().limits;
if (limits.maxFramebufferLayers < MIN_MAX_FRAMEBUFFER_LAYERS)
TCU_FAIL("multiViewport supported but maxViewports is less than the minimum required");
}
-tcu::TestStatus testVertexShader (Context& context, const int numLayers)
+tcu::TestStatus testVertexShader (Context& context, const TestParams params)
{
const DeviceInterface& vk = context.getDeviceInterface();
const VkDevice device = context.getDevice();
const UVec2 renderSize (256, 256);
const VkFormat colorFormat = VK_FORMAT_R8G8B8A8_UNORM;
const Vec4 clearColor (0.5f, 0.5f, 0.5f, 1.0f);
- const std::vector<UVec4> grid = generateGrid(numLayers, renderSize);
- const std::vector<Vec4> colors = generateColors(numLayers);
+ const std::vector<UVec4> grid = generateGrid(params.numLayers, renderSize);
+ const std::vector<Vec4> colors = generateColors(params.numLayers);
const std::vector<PositionColorVertex> vertices = generateVertices(grid, colors, renderSize);
- const VkDeviceSize colorBufferSize = renderSize.x() * renderSize.y() * tcu::getPixelSize(mapVkFormat(colorFormat)) * numLayers;
+ const VkDeviceSize colorBufferSize = renderSize.x() * renderSize.y() * tcu::getPixelSize(mapVkFormat(colorFormat)) * params.numLayers;
const SharedPtr<Buffer> colorBuffer = Buffer::createAndAlloc(vk, device, makeBufferCreateInfo(colorBufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT), allocator, MemoryRequirement::HostVisible);
{
context.getTestContext().getLog()
- << tcu::TestLog::Message << "Rendering a rectangle in each of the " << numLayers << " layer(s)." << tcu::TestLog::EndMessage
+ << tcu::TestLog::Message << "Rendering a rectangle in each of the " << params.numLayers << " layer(s)." << tcu::TestLog::EndMessage
<< tcu::TestLog::Message << "Not covered area will be filled with a gray color." << tcu::TestLog::EndMessage;
}
// Draw.
{
- const Renderer renderer (context, renderSize, numLayers, colorFormat, clearColor, vertices, Renderer::VERTEX);
+ const Renderer renderer (context, params.useDynamicRendering, renderSize, params.numLayers, colorFormat, clearColor, vertices, Renderer::VERTEX);
renderer.draw(context, colorBuffer->object());
}
invalidateAlloc(vk, device, alloc);
deUint8* resultMem = reinterpret_cast<deUint8*>(alloc.getHostPtr());
- for (int i = 0; i < numLayers; i++)
+ for (int i = 0; i < params.numLayers; i++)
{
- const tcu::ConstPixelBufferAccess resultImage (mapVkFormat(colorFormat), renderSize.x(), renderSize.y(), 1u, resultMem + ((colorBufferSize / numLayers) * i));
+ const tcu::ConstPixelBufferAccess resultImage (mapVkFormat(colorFormat), renderSize.x(), renderSize.y(), 1u, resultMem + ((colorBufferSize / params.numLayers) * i));
const tcu::TextureLevel referenceImage = generateReferenceImage(mapVkFormat(colorFormat), renderSize, clearColor, grid[i], colors[i]);
std::string imageSetName = "layer_" + de::toString(i);
std::string imageSetDesc = "Image compare for layer " + de::toString(i);
return tcu::TestStatus::pass("OK");
}
-tcu::TestStatus testTessellationShader (Context& context, const int numLayers)
+tcu::TestStatus testTessellationShader (Context& context, const TestParams params)
{
const VkPhysicalDeviceFeatures& features = context.getDeviceFeatures();
if (!features.tessellationShader)
const UVec2 renderSize (256, 256);
const VkFormat colorFormat = VK_FORMAT_R8G8B8A8_UNORM;
const Vec4 clearColor (0.5f, 0.5f, 0.5f, 1.0f);
- const std::vector<UVec4> grid = generateGrid(numLayers, renderSize);
- const std::vector<Vec4> colors = generateColors(numLayers);
+ const std::vector<UVec4> grid = generateGrid(params.numLayers, renderSize);
+ const std::vector<Vec4> colors = generateColors(params.numLayers);
const std::vector<PositionColorVertex> vertices = generateVertices(grid, colors, renderSize);
- const VkDeviceSize colorBufferSize = renderSize.x() * renderSize.y() * tcu::getPixelSize(mapVkFormat(colorFormat)) * numLayers;
+ const VkDeviceSize colorBufferSize = renderSize.x() * renderSize.y() * tcu::getPixelSize(mapVkFormat(colorFormat)) * params.numLayers;
const SharedPtr<Buffer> colorBuffer = Buffer::createAndAlloc(vk, device, makeBufferCreateInfo(colorBufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT), allocator, MemoryRequirement::HostVisible);
{
context.getTestContext().getLog()
- << tcu::TestLog::Message << "Rendering a rectangle in each of the " << numLayers << " layer(s)." << tcu::TestLog::EndMessage
+ << tcu::TestLog::Message << "Rendering a rectangle in each of the " << params.numLayers << " layer(s)." << tcu::TestLog::EndMessage
<< tcu::TestLog::Message << "Not covered area will be filled with a gray color." << tcu::TestLog::EndMessage;
}
// Draw.
{
- const Renderer renderer (context, renderSize, numLayers, colorFormat, clearColor, vertices, Renderer::TESSELLATION);
+ const Renderer renderer (context, params.useDynamicRendering, renderSize, params.numLayers, colorFormat, clearColor, vertices, Renderer::TESSELLATION);
renderer.draw(context, colorBuffer->object());
}
invalidateAlloc(vk, device, alloc);
deUint8* resultMem = reinterpret_cast<deUint8*>(alloc.getHostPtr());
- for (int i = 0; i < numLayers; i++) {
- const tcu::ConstPixelBufferAccess resultImage (mapVkFormat(colorFormat), renderSize.x(), renderSize.y(), 1u, resultMem + ((colorBufferSize / numLayers) * i));
+ for (int i = 0; i < params.numLayers; i++) {
+ const tcu::ConstPixelBufferAccess resultImage (mapVkFormat(colorFormat), renderSize.x(), renderSize.y(), 1u, resultMem + ((colorBufferSize / params.numLayers) * i));
const tcu::TextureLevel referenceImage = generateReferenceImage(mapVkFormat(colorFormat), renderSize, clearColor, grid[i], colors[i]);
std::string imageSetName = "layer_" + de::toString(i);
std::string imageSetDesc = "Image compare for layer " + de::toString(i);
} // anonymous
-tcu::TestCaseGroup* createShaderLayerTests (tcu::TestContext& testCtx)
+tcu::TestCaseGroup* createShaderLayerTests (tcu::TestContext& testCtx, bool useDynamicRendering)
{
MovePtr<tcu::TestCaseGroup> group (new tcu::TestCaseGroup(testCtx, "shader_layer", ""));
MIN_MAX_FRAMEBUFFER_LAYERS,
};
+ TestParams parmas
+ {
+ 1,
+ useDynamicRendering
+ };
+
for (int i = 0; i < DE_LENGTH_OF_ARRAY(numLayersToTest); ++i)
{
- int numLayers = numLayersToTest[i];
- addFunctionCaseWithPrograms(group.get(), "vertex_shader_" + de::toString(numLayers), "", checkRequirements, initVertexTestPrograms, testVertexShader, numLayers);
+ parmas.numLayers = numLayersToTest[i];
+ addFunctionCaseWithPrograms<TestParams>(group.get(), "vertex_shader_" + de::toString(parmas.numLayers), "", checkRequirements, initVertexTestPrograms, testVertexShader, parmas);
}
for (int i = 0; i < DE_LENGTH_OF_ARRAY(numLayersToTest); ++i)
{
- int numLayers = numLayersToTest[i];
- addFunctionCaseWithPrograms(group.get(), "tessellation_shader_" + de::toString(numLayers), "", checkRequirements, initTessellationTestPrograms, testTessellationShader, numLayers);
+ parmas.numLayers = numLayersToTest[i];
+ addFunctionCaseWithPrograms<TestParams>(group.get(), "tessellation_shader_" + de::toString(parmas.numLayers), "", checkRequirements, initTessellationTestPrograms, testTessellationShader, parmas);
}
return group.release();
namespace Draw
{
-tcu::TestCaseGroup* createShaderLayerTests (tcu::TestContext& testCtx);
+tcu::TestCaseGroup* createShaderLayerTests (tcu::TestContext& testCtx, bool useDynamicRendering);
} // Draw
} // vkt
MIN_MAX_VIEWPORTS = 16, //!< Minimum number of viewports for an implementation supporting multiViewport.
};
-struct FragmentTestParams
+struct TestParams
{
int numViewports;
bool writeFromVertex;
-
- FragmentTestParams (int nvp, bool write)
- : numViewports (nvp)
- , writeFromVertex (write)
- {
- if (!write)
- DE_ASSERT(nvp == 1);
- }
+ bool useDynamicRendering;
+ bool useTessellationShader;
};
template<typename T>
3, // uint32_t patchControlPoints;
};
- const VkGraphicsPipelineCreateInfo graphicsPipelineInfo =
+ VkGraphicsPipelineCreateInfo graphicsPipelineInfo
{
VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, // VkStructureType sType;
DE_NULL, // const void* pNext;
0, // deInt32 basePipelineIndex;
};
+ VkFormat colorAttachmentFormat = VK_FORMAT_R8G8B8A8_UNORM;
+ vk::VkPipelineRenderingCreateInfoKHR renderingCreateInfo
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR,
+ DE_NULL,
+ 0u,
+ 1u,
+ &colorAttachmentFormat,
+ VK_FORMAT_UNDEFINED
+ };
+
+ // when pipeline is created without render pass we are using dynamic rendering
+ if (renderPass == DE_NULL)
+ graphicsPipelineInfo.pNext = &renderingCreateInfo;
+
return createGraphicsPipeline(vk, device, DE_NULL, &graphicsPipelineInfo);
}
return image;
}
-void initVertexTestPrograms (SourceCollections& programCollection, const int numViewports)
+void initVertexTestPrograms (SourceCollections& programCollection, const TestParams)
{
- DE_UNREF(numViewports);
-
// Vertex shader
{
std::ostringstream src;
}
}
-void initFragmentTestPrograms (SourceCollections& programCollection, FragmentTestParams testParams)
+void initFragmentTestPrograms (SourceCollections& programCollection, const TestParams testParams)
{
// Vertex shader.
{
}
}
-void initTessellationTestPrograms (SourceCollections& programCollection, const int numViewports)
+void initTessellationTestPrograms (SourceCollections& programCollection, const TestParams)
{
- DE_UNREF(numViewports);
-
// Vertex shader
{
std::ostringstream src;
Renderer (Context& context,
const UVec2& renderSize,
- const int numViewports,
+ const TestParams& testParams,
const std::vector<UVec4>& cells,
const VkFormat colorFormat,
const Vec4& clearColor,
const std::vector<Vec4>& colors,
const Shader shader)
- : m_renderSize (renderSize)
+ : m_useDynamicRendering (testParams.useDynamicRendering)
+ , m_renderSize (renderSize)
, m_colorFormat (colorFormat)
, m_colorSubresourceRange (makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u))
- , m_clearColor (clearColor)
- , m_numViewports (numViewports)
+ , m_clearValue (makeClearValueColor(clearColor))
+ , m_numViewports (testParams.numViewports)
, m_colors (colors)
, m_vertices (generateVertices(colors))
, m_shader (shader)
m_vertexModule = createShaderModule (vk, device, context.getBinaryCollection().get("vert"), 0u);
m_fragmentModule = createShaderModule (vk, device, context.getBinaryCollection().get("frag"), 0u);
- m_renderPass = makeRenderPass (vk, device, m_colorFormat);
- m_framebuffer = makeFramebuffer (vk, device, *m_renderPass, m_colorAttachment.get(),
+
+ if (!m_useDynamicRendering)
+ {
+ m_renderPass = makeRenderPass (vk, device, m_colorFormat);
+
+ m_framebuffer = makeFramebuffer (vk, device, *m_renderPass, m_colorAttachment.get(),
static_cast<deUint32>(m_renderSize.x()), static_cast<deUint32>(m_renderSize.y()));
+ }
if (shader == FRAGMENT)
{
beginCommandBuffer(vk, *m_cmdBuffer);
- beginRenderPass(vk, *m_cmdBuffer, *m_renderPass, *m_framebuffer, makeRect2D(0, 0, m_renderSize.x(), m_renderSize.y()), m_clearColor);
+ const VkRect2D renderArea = makeRect2D(0, 0, m_renderSize.x(), m_renderSize.y());
+ if (m_useDynamicRendering)
+ {
+ initialTransitionColor2DImage(vk, *m_cmdBuffer, *m_colorImage, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
+ VK_ACCESS_TRANSFER_WRITE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT);
+ beginRendering(vk, *m_cmdBuffer, *m_colorAttachment, renderArea, m_clearValue, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_ATTACHMENT_LOAD_OP_CLEAR);
+ }
+ else
+ beginRenderPass(vk, *m_cmdBuffer, *m_renderPass, *m_framebuffer, renderArea, m_clearValue);
vk.cmdBindPipeline(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipeline);
{
}
vk.cmdDraw(*m_cmdBuffer, static_cast<deUint32>(m_numViewports * 6), 1u, 0u, 0u); // two triangles per viewport
- endRenderPass(vk, *m_cmdBuffer);
+
+ if (m_useDynamicRendering)
+ endRendering(vk, *m_cmdBuffer);
+ else
+ endRenderPass(vk, *m_cmdBuffer);
copyImageToBuffer(vk, *m_cmdBuffer, *m_colorImage, colorBuffer, tcu::IVec2(m_renderSize.x(), m_renderSize.y()));
}
private:
+ const bool m_useDynamicRendering;
const UVec2 m_renderSize;
const VkFormat m_colorFormat;
const VkImageSubresourceRange m_colorSubresourceRange;
- const Vec4 m_clearColor;
+ const VkClearValue m_clearValue;
const int m_numViewports;
const std::vector<Vec4> m_colors;
const std::vector<PositionColorVertex> m_vertices;
Renderer& operator= (const Renderer&);
};
-tcu::TestStatus testVertexFragmentShader (Context& context, const int numViewports, Renderer::Shader shader)
+tcu::TestStatus testVertexFragmentShader (Context& context, const TestParams& testParams, Renderer::Shader shader)
{
const DeviceInterface& vk = context.getDeviceInterface();
const VkDevice device = context.getDevice();
const UVec2 renderSize (128, 128);
const VkFormat colorFormat = VK_FORMAT_R8G8B8A8_UNORM;
const Vec4 clearColor (0.5f, 0.5f, 0.5f, 1.0f);
- const std::vector<Vec4> colors = generateColors(numViewports);
- const std::vector<UVec4> cells = generateGrid(numViewports, renderSize);
+ const std::vector<Vec4> colors = generateColors(testParams.numViewports);
+ const std::vector<UVec4> cells = generateGrid(testParams.numViewports, renderSize);
const VkDeviceSize colorBufferSize = renderSize.x() * renderSize.y() * tcu::getPixelSize(mapVkFormat(colorFormat));
{
context.getTestContext().getLog()
- << tcu::TestLog::Message << "Rendering a colorful grid of " << numViewports << " rectangle(s)." << tcu::TestLog::EndMessage
+ << tcu::TestLog::Message << "Rendering a colorful grid of " << testParams.numViewports << " rectangle(s)." << tcu::TestLog::EndMessage
<< tcu::TestLog::Message << "Not covered area will be filled with a gray color." << tcu::TestLog::EndMessage;
}
// Draw
{
- const Renderer renderer (context, renderSize, numViewports, cells, colorFormat, clearColor, colors, shader);
+ const Renderer renderer (context, renderSize, testParams, cells, colorFormat, clearColor, colors, shader);
renderer.draw(context, colorBuffer->object());
}
return tcu::TestStatus::pass("OK");
}
-tcu::TestStatus testVertexShader (Context& context, const int numViewports)
+tcu::TestStatus testVertexShader (Context& context, const TestParams testParams)
{
- return testVertexFragmentShader(context, numViewports, Renderer::VERTEX);
+ return testVertexFragmentShader(context, testParams, Renderer::VERTEX);
}
-tcu::TestStatus testFragmentShader (Context& context, FragmentTestParams testParams)
+tcu::TestStatus testFragmentShader (Context& context, const TestParams testParams)
{
- return testVertexFragmentShader(context, testParams.numViewports, Renderer::FRAGMENT);
+ return testVertexFragmentShader(context, testParams, Renderer::FRAGMENT);
}
-tcu::TestStatus testTessellationShader (Context& context, const int numViewports)
+tcu::TestStatus testTessellationShader (Context& context, const TestParams testParams)
{
const DeviceInterface& vk = context.getDeviceInterface();
const VkDevice device = context.getDevice();
const UVec2 renderSize (128, 128);
const VkFormat colorFormat = VK_FORMAT_R8G8B8A8_UNORM;
const Vec4 clearColor (0.5f, 0.5f, 0.5f, 1.0f);
- const std::vector<Vec4> colors = generateColors(numViewports);
- const std::vector<UVec4> cells = generateGrid(numViewports, renderSize);
+ const std::vector<Vec4> colors = generateColors(testParams.numViewports);
+ const std::vector<UVec4> cells = generateGrid(testParams.numViewports, renderSize);
const VkDeviceSize colorBufferSize = renderSize.x() * renderSize.y() * tcu::getPixelSize(mapVkFormat(colorFormat));
{
context.getTestContext().getLog()
- << tcu::TestLog::Message << "Rendering a colorful grid of " << numViewports << " rectangle(s)." << tcu::TestLog::EndMessage
+ << tcu::TestLog::Message << "Rendering a colorful grid of " << testParams.numViewports << " rectangle(s)." << tcu::TestLog::EndMessage
<< tcu::TestLog::Message << "Not covered area will be filled with a gray color." << tcu::TestLog::EndMessage;
}
// Draw
{
- const Renderer renderer (context, renderSize, numViewports, cells, colorFormat, clearColor, colors, Renderer::TESSELLATION);
+ const Renderer renderer (context, renderSize, testParams, cells, colorFormat, clearColor, colors, Renderer::TESSELLATION);
renderer.draw(context, colorBuffer->object());
}
return tcu::TestStatus::pass("OK");
}
-void checkSupportVertex (Context& context, const int)
+void checkSupport (Context& context, TestParams params)
{
context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_MULTI_VIEWPORT);
context.requireDeviceFunctionality("VK_EXT_shader_viewport_index_layer");
if (context.getDeviceProperties().limits.maxViewports < MIN_MAX_VIEWPORTS)
TCU_FAIL("multiViewport supported but maxViewports is less than the minimum required");
-}
-
-void checkSupportFragment (Context& context, FragmentTestParams)
-{
- checkSupportVertex(context, 0);
-}
-void checkSupportTessellation (Context& context, const int)
-{
- context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_TESSELLATION_SHADER);
+ if (params.useTessellationShader)
+ context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_TESSELLATION_SHADER);
- checkSupportVertex(context, 0);
+ if (params.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
}
} // anonymous
-tcu::TestCaseGroup* createShaderViewportIndexTests (tcu::TestContext& testCtx)
+tcu::TestCaseGroup* createShaderViewportIndexTests (tcu::TestContext& testCtx, bool useDynamicRendering)
{
MovePtr<tcu::TestCaseGroup> group (new tcu::TestCaseGroup(testCtx, "shader_viewport_index", ""));
- for (int numViewports = 1; numViewports <= MIN_MAX_VIEWPORTS; ++numViewports)
- addFunctionCaseWithPrograms(group.get(), "vertex_shader_" + de::toString(numViewports), "", checkSupportVertex, initVertexTestPrograms, testVertexShader, numViewports);
+ TestParams testParams
+ {
+ 1, // int numViewports;
+ false, // bool writeFromVertex;
+ useDynamicRendering, // bool useDynamicRendering;
+ false // bool useTessellationShader;
+ };
+
+ for (testParams.numViewports = 1; testParams.numViewports <= MIN_MAX_VIEWPORTS; ++testParams.numViewports)
+ addFunctionCaseWithPrograms(group.get(), "vertex_shader_" + de::toString(testParams.numViewports), "", checkSupport, initVertexTestPrograms, testVertexShader, testParams);
- addFunctionCaseWithPrograms(group.get(), "fragment_shader_implicit", "", checkSupportFragment, initFragmentTestPrograms, testFragmentShader, FragmentTestParams(1, false));
- for (int numViewports = 1; numViewports <= MIN_MAX_VIEWPORTS; ++numViewports)
- addFunctionCaseWithPrograms(group.get(), "fragment_shader_" + de::toString(numViewports), "", checkSupportFragment, initFragmentTestPrograms, testFragmentShader, FragmentTestParams(numViewports, true));
+ testParams.numViewports = 1;
+ addFunctionCaseWithPrograms(group.get(), "fragment_shader_implicit", "", checkSupport, initFragmentTestPrograms, testFragmentShader, testParams);
+ testParams.writeFromVertex = true;
+ for (testParams.numViewports = 1; testParams.numViewports <= MIN_MAX_VIEWPORTS; ++testParams.numViewports)
+ addFunctionCaseWithPrograms(group.get(), "fragment_shader_" + de::toString(testParams.numViewports), "", checkSupport, initFragmentTestPrograms, testFragmentShader, testParams);
+ testParams.writeFromVertex = false;
- for (int numViewports = 1; numViewports <= MIN_MAX_VIEWPORTS; ++numViewports)
- addFunctionCaseWithPrograms(group.get(), "tessellation_shader_" + de::toString(numViewports), "", checkSupportTessellation, initTessellationTestPrograms, testTessellationShader, numViewports);
+ testParams.useTessellationShader = true;
+ for (testParams.numViewports = 1; testParams.numViewports <= MIN_MAX_VIEWPORTS; ++testParams.numViewports)
+ addFunctionCaseWithPrograms(group.get(), "tessellation_shader_" + de::toString(testParams.numViewports), "", checkSupport, initTessellationTestPrograms, testTessellationShader, testParams);
return group.release();
}
namespace Draw
{
-tcu::TestCaseGroup* createShaderViewportIndexTests (tcu::TestContext& testCtx);
+tcu::TestCaseGroup* createShaderViewportIndexTests (tcu::TestContext& testCtx, bool useDynamicRendering);
} // Draw
} // vkt
};
SimpleDraw::SimpleDraw (Context &context, TestSpec testSpec)
- : DrawTestsBaseClass(context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], testSpec.topology)
+ : DrawTestsBaseClass(context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], testSpec.useDynamicRendering, testSpec.topology)
{
m_data.push_back(VertexElementData(tcu::Vec4(1.0f, -1.0f, 1.0f, 1.0f), tcu::RGBA::blue().toVec(), -1));
m_data.push_back(VertexElementData(tcu::Vec4(-1.0f, 1.0f, 1.0f, 1.0f), tcu::RGBA::blue().toVec(), -1));
const vk::VkQueue queue = m_context.getUniversalQueue();
const vk::VkDevice device = m_context.getDevice();
- beginRenderPass();
+ beginRender();
const vk::VkDeviceSize vertexBufferOffset = 0;
const vk::VkBuffer vertexBuffer = m_vertexBuffer->object();
break;
}
- endRenderPass(m_vk, *m_cmdBuffer);
+ endRender();
endCommandBuffer(m_vk, *m_cmdBuffer);
submitCommandsAndWait(m_vk, device, queue, m_cmdBuffer.get());
const vk::VkQueue queue = m_context.getUniversalQueue();
const vk::VkDevice device = m_context.getDevice();
- beginRenderPass();
+ beginRender();
const vk::VkDeviceSize vertexBufferOffset = 0;
const vk::VkBuffer vertexBuffer = m_vertexBuffer->object();
break;
}
- endRenderPass(m_vk, *m_cmdBuffer);
+ endRender();
endCommandBuffer(m_vk, *m_cmdBuffer);
submitCommandsAndWait(m_vk, device, queue, m_cmdBuffer.get());
return tcu::TestStatus(res, qpGetTestResultName(res));
}
+void checkSupport(Context& context, SimpleDraw::TestSpec testSpec)
+{
+ if (testSpec.useDynamicRendering)
+ context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
+}
+
} // anonymous
-SimpleDrawTests::SimpleDrawTests (tcu::TestContext &testCtx)
-: TestCaseGroup (testCtx, "simple_draw", "drawing simple geometry")
+SimpleDrawTests::SimpleDrawTests (tcu::TestContext &testCtx, bool useDynamicRendering)
+ : TestCaseGroup (testCtx, "simple_draw", "drawing simple geometry")
+ , m_useDynamicRendering (useDynamicRendering)
{
/* Left blank on purpose */
}
SimpleDrawTests::~SimpleDrawTests (void) {}
-
void SimpleDrawTests::init (void)
{
{
SimpleDraw::TestSpec testSpec;
testSpec.shaders[glu::SHADERTYPE_VERTEX] = "vulkan/draw/VertexFetch.vert";
testSpec.shaders[glu::SHADERTYPE_FRAGMENT] = "vulkan/draw/VertexFetch.frag";
+ testSpec.useDynamicRendering = m_useDynamicRendering;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- addChild(new InstanceFactory<SimpleDraw>(m_testCtx, "simple_draw_triangle_list", "Draws triangle list", testSpec));
+ addChild(new InstanceFactory<SimpleDraw, FunctionSupport1<SimpleDraw::TestSpec> >
+ (m_testCtx, "simple_draw_triangle_list", "Draws triangle list", testSpec, FunctionSupport1<SimpleDraw::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- addChild(new InstanceFactory<SimpleDraw>(m_testCtx, "simple_draw_triangle_strip", "Draws triangle strip", testSpec));
+ addChild(new InstanceFactory<SimpleDraw, FunctionSupport1<SimpleDraw::TestSpec> >
+ (m_testCtx, "simple_draw_triangle_strip", "Draws triangle strip", testSpec, FunctionSupport1<SimpleDraw::TestSpec>::Args(checkSupport, testSpec)));
}
{
SimpleDrawInstanced::TestSpec testSpec;
testSpec.shaders[glu::SHADERTYPE_VERTEX] = "vulkan/draw/VertexFetchInstancedFirstInstance.vert";
testSpec.shaders[glu::SHADERTYPE_FRAGMENT] = "vulkan/draw/VertexFetch.frag";
+ testSpec.useDynamicRendering = m_useDynamicRendering;
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
- addChild(new InstanceFactory<SimpleDrawInstanced>(m_testCtx, "simple_draw_instanced_triangle_list", "Draws an instanced triangle list", testSpec));
+ addChild(new InstanceFactory<SimpleDrawInstanced, FunctionSupport1<SimpleDrawInstanced::TestSpec> >
+ (m_testCtx, "simple_draw_instanced_triangle_list", "Draws an instanced triangle list", testSpec, FunctionSupport1<SimpleDrawInstanced::TestSpec>::Args(checkSupport, testSpec)));
testSpec.topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
- addChild(new InstanceFactory<SimpleDrawInstanced>(m_testCtx, "simple_draw_instanced_triangle_strip", "Draws an instanced triangle strip", testSpec));
+ addChild(new InstanceFactory<SimpleDrawInstanced, FunctionSupport1<SimpleDrawInstanced::TestSpec> >
+ (m_testCtx, "simple_draw_instanced_triangle_strip", "Draws an instanced triangle strip", testSpec, FunctionSupport1<SimpleDrawInstanced::TestSpec>::Args(checkSupport, testSpec)));
}
}
class SimpleDrawTests : public tcu::TestCaseGroup
{
public:
- SimpleDrawTests (tcu::TestContext &testCtx);
+ SimpleDrawTests (tcu::TestContext &testCtx, bool useDynamicRendering);
~SimpleDrawTests (void);
void init (void);
SimpleDrawTests (const SimpleDrawTests &other);
SimpleDrawTests& operator= (const SimpleDrawTests &other);
+ const bool m_useDynamicRendering;
};
} // Draw
} // vkt
{
ShaderMap shaders;
vk::VkPrimitiveTopology topology;
+ bool useDynamicRendering;
};
template<typename Instance, typename Support = NoSupport0>
namespace
{
-void createChildren (tcu::TestCaseGroup* group)
+tcu::TestCaseGroup* createTestsInternal (tcu::TestContext& testCtx, bool useDynamicRendering)
{
- tcu::TestContext& testCtx = group->getTestContext();
+ const char* groupName[] { "draw", "draw_with_dynamic_rendering" };
+ const char* groupDescription[] { "Simple Draw tests", "Simple Draw tests using VK_KHR_dynamic_rendering" };
- group->addChild(new ConcurrentDrawTests (testCtx));
- group->addChild(new SimpleDrawTests (testCtx));
- group->addChild(new DrawIndexedTests (testCtx));
- group->addChild(new IndirectDrawTests (testCtx));
- group->addChild(createBasicDrawTests (testCtx));
- group->addChild(new InstancedTests (testCtx));
- group->addChild(new ShaderDrawParametersTests (testCtx));
- group->addChild(createNegativeViewportHeightTests (testCtx));
- group->addChild(createZeroViewportHeightTests (testCtx));
- group->addChild(createInvertedDepthRangesTests (testCtx));
- group->addChild(createDifferingInterpolationTests (testCtx));
- group->addChild(createShaderLayerTests (testCtx));
- group->addChild(createShaderViewportIndexTests (testCtx));
- group->addChild(createScissorTests (testCtx));
- group->addChild(createMultipleInterpolationTests (testCtx));
- group->addChild(createDiscardRectanglesTests (testCtx));
- group->addChild(createExplicitVertexParameterTests (testCtx));
- group->addChild(createOutputLocationTests (testCtx));
- group->addChild(createDepthClampTests (testCtx));
- group->addChild(createAhbTests (testCtx));
- group->addChild(new MultipleClearsWithinRenderPassTests (testCtx));
- group->addChild(createDrawMultiExtTests (testCtx));
+ de::MovePtr<tcu::TestCaseGroup> group(new tcu::TestCaseGroup(testCtx, groupName[useDynamicRendering], groupDescription[useDynamicRendering]));
+
+ group->addChild(new ConcurrentDrawTests (testCtx, useDynamicRendering));
+ group->addChild(new SimpleDrawTests (testCtx, useDynamicRendering));
+ group->addChild(new DrawIndexedTests (testCtx, useDynamicRendering));
+ group->addChild(new IndirectDrawTests (testCtx, useDynamicRendering));
+ group->addChild(createBasicDrawTests (testCtx, useDynamicRendering));
+ group->addChild(new InstancedTests (testCtx, useDynamicRendering));
+ group->addChild(new ShaderDrawParametersTests (testCtx, useDynamicRendering));
+ group->addChild(createNegativeViewportHeightTests (testCtx, useDynamicRendering));
+ group->addChild(createZeroViewportHeightTests (testCtx, useDynamicRendering));
+ group->addChild(createInvertedDepthRangesTests (testCtx, useDynamicRendering));
+ group->addChild(createDifferingInterpolationTests (testCtx, useDynamicRendering));
+ group->addChild(createShaderLayerTests (testCtx, useDynamicRendering));
+ group->addChild(createShaderViewportIndexTests (testCtx, useDynamicRendering));
+ group->addChild(createScissorTests (testCtx, useDynamicRendering));
+ group->addChild(createMultipleInterpolationTests (testCtx, useDynamicRendering));
+ group->addChild(createDiscardRectanglesTests (testCtx, useDynamicRendering));
+ group->addChild(createExplicitVertexParameterTests (testCtx, useDynamicRendering));
+ group->addChild(createDepthClampTests (testCtx, useDynamicRendering));
+ group->addChild(new MultipleClearsWithinRenderPassTests (testCtx, useDynamicRendering));
+ group->addChild(createDrawMultiExtTests (testCtx, useDynamicRendering));
+
+ if (!useDynamicRendering)
+ {
+ // amber tests - no support for dynamic rendering
+ group->addChild(createOutputLocationTests (testCtx));
+
+ // subpasses can't be translated to dynamic rendering
+ group->addChild(createAhbTests (testCtx));
+ }
+
+ return group.release();
}
} // anonymous
tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx)
{
- return createTestGroup(testCtx, "draw", "Simple Draw tests", createChildren);
+ return createTestsInternal(testCtx, false);
+}
+
+tcu::TestCaseGroup* createDynamicRenderingTests (tcu::TestContext& testCtx)
+{
+ return createTestsInternal(testCtx, true);
}
} // Draw
{
tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx);
-
+tcu::TestCaseGroup* createDynamicRenderingTests (tcu::TestContext& testCtx);
} // Draw
} // vkt
addChild(ssbo::createTests (m_testCtx));
addChild(QueryPool::createTests (m_testCtx));
addChild(Draw::createTests (m_testCtx));
+ addChild(Draw::createDynamicRenderingTests (m_testCtx));
addChild(compute::createTests (m_testCtx));
addChild(image::createTests (m_testCtx));
addChild(wsi::createTests (m_testCtx));
vk-default/conditional-rendering.txt
vk-default/descriptor-indexing.txt
vk-default/device-group.txt
+vk-default/draw-with-dynamic-rendering.txt
vk-default/draw.txt
vk-default/drm-format-modifiers.txt
vk-default/dynamic-state.txt
--- /dev/null
+dEQP-VK.draw_with_dynamic_rendering.concurrent.compute_and_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.simple_draw.simple_draw_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.simple_draw.simple_draw_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.simple_draw.simple_draw_instanced_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.simple_draw.simple_draw_instanced_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indexed_draw.draw_indexed_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indexed_draw.draw_indexed_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indexed_draw.draw_instanced_indexed_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indexed_draw.draw_instanced_indexed_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_count_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.sequential.indirect_draw_param_count_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_count_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_instanced.no_first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_instanced.no_first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_instanced.first_instance.triangle_list
+dEQP-VK.draw_with_dynamic_rendering.indirect_draw.indexed.indirect_draw_param_count_instanced.first_instance.triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.point_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.point_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_strip.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_strip.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_strip.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_strip.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_fan.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_fan.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_list_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_list_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_strip_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.line_strip_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_list_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_list_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_strip_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw.triangle_strip_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.point_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.point_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_strip.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_strip.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_list.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_list.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_strip.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_strip.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_fan.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_fan.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_list_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_list_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_strip_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.line_strip_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_list_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_list_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_strip_with_adjacency.1
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed.triangle_strip_with_adjacency.45
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.point_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.point_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.point_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.point_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_fan.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_fan.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_fan.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_fan.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_list_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.line_strip_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_list_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indirect.triangle_strip_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.point_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.point_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.point_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.point_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_fan.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_fan.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_fan.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_fan.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_list_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.line_strip_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_list_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip_with_adjacency.1_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip_with_adjacency.1_multi_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip_with_adjacency.45_single_command
+dEQP-VK.draw_with_dynamic_rendering.basic_draw.draw_indexed_indirect.triangle_strip_with_adjacency.45_multi_command
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_point_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_point_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_point_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_point_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_line_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_line_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_line_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_line_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_list_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_strip_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_vk_primitive_topology_triangle_fan_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_vk_primitive_topology_triangle_fan_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_0
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_0_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_1
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_1_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_2
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_2_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_4
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_4_multiview
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_20
+dEQP-VK.draw_with_dynamic_rendering.instanced.draw_indexed_indirect_vk_primitive_topology_triangle_fan_attrib_divisor_20_multiview
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_vertex.draw
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_vertex.draw_indexed
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_vertex.draw_indirect
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_vertex.draw_indexed_indirect
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indexed
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indirect
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indirect_first_instance
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indexed_indirect
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.base_instance.draw_indexed_indirect_first_instance
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.draw_index.draw
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.draw_index.draw_instanced
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.draw_index.draw_indexed
+dEQP-VK.draw_with_dynamic_rendering.shader_draw_parameters.draw_index.draw_indexed_instanced
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_ccw_cull_none
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_ccw_cull_front
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_ccw_cull_back
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_ccw_cull_both
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_cw_cull_none
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_cw_cull_front
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_cw_cull_back
+dEQP-VK.draw_with_dynamic_rendering.negative_viewport_height.front_cw_cull_both
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_ccw_cull_none
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_ccw_cull_front
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_ccw_cull_back
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_ccw_cull_both
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_cw_cull_none
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_cw_cull_front
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_cw_cull_back
+dEQP-VK.draw_with_dynamic_rendering.zero_viewport_height.front_cw_cull_both
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltazero
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltasmall
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltaone
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltaone_bias_clamp_neg
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_deltasmall_bias_clamp_pos
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.depthclamp_depth_range_unrestricted
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltazero
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltasmall
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltaone
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltaone_bias_clamp_neg
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_deltasmall_bias_clamp_pos
+dEQP-VK.draw_with_dynamic_rendering.inverted_depth_ranges.nodepthclamp_depth_range_unrestricted
+dEQP-VK.draw_with_dynamic_rendering.differing_interpolation.flat_0
+dEQP-VK.draw_with_dynamic_rendering.differing_interpolation.flat_1
+dEQP-VK.draw_with_dynamic_rendering.differing_interpolation.noperspective_0
+dEQP-VK.draw_with_dynamic_rendering.differing_interpolation.noperspective_1
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.vertex_shader_256
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_layer.tessellation_shader_256
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_9
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_10
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_11
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_12
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_13
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_14
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_15
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.vertex_shader_16
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_implicit
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_9
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_10
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_11
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_12
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_13
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_14
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_15
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.fragment_shader_16
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_1
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_2
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_3
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_4
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_5
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_6
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_7
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_8
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_9
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_10
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_11
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_12
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_13
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_14
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_15
+dEQP-VK.draw_with_dynamic_rendering.shader_viewport_index.tessellation_shader_16
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_two_quads
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_two_clears
+dEQP-VK.draw_with_dynamic_rendering.scissor.two_static_scissors_one_quad
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_partially_outside_viewport
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_outside_viewport
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_viewport_border
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_max_int32
+dEQP-VK.draw_with_dynamic_rendering.scissor.16_static_scissors
+dEQP-VK.draw_with_dynamic_rendering.scissor.empty_static_scissor
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_two_quads
+dEQP-VK.draw_with_dynamic_rendering.scissor.empty_dynamic_scissor_first_draw
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_updates_between_draws
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_out_of_order_updates
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_partially_outside_viewport
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_outside_viewport
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_viewport_border
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_max_int32
+dEQP-VK.draw_with_dynamic_rendering.scissor.16_dynamic_scissors
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_two_clears
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_mix
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_framebuffer_border_in
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_framebuffer_border_in
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_framebuffer_border_out
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_framebuffer_border_out
+dEQP-VK.draw_with_dynamic_rendering.scissor.static_scissor_oversized
+dEQP-VK.draw_with_dynamic_rendering.scissor.dynamic_scissor_oversized
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.1_sample
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.2_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.4_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.8_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.16_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.32_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.separate.64_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.1_sample
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.2_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.4_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.8_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.16_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.32_samples
+dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.structured.64_samples
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.scissor_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_scissor_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_scissor_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_inclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_1
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_2
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_3
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_4
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_8
+dEQP-VK.draw_with_dynamic_rendering.discard_rectangles.dynamic_discard_dynamic_scissor_exclusive_rect_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_1
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_1
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_2
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_4
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_8
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_16
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_32
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_sample_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_sample_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.smooth_centroid_samples_64
+dEQP-VK.draw_with_dynamic_rendering.explicit_vertex_parameter.noperspective_centroid_samples_64
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.x8_d24_unorm_pack32_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_depth_range_unrestricted_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_depth_range_unrestricted_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_clamp_four_viewports
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d16_unorm_s8_uint_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d24_unorm_s8_uint_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_depth_bias_clamp_input_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_depth_bias_clamp_input_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_depth_range_unrestricted_negative
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_depth_range_unrestricted_positive
+dEQP-VK.draw_with_dynamic_rendering.depth_clamp.d32_sfloat_s8_uint_clamp_four_viewports
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_unorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d32_sfloat_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d32_sfloat_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangle_strip
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d16_unorm_triangles
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.load_clear_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.draw_clear_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multiple_clears_within_render_pass.clear_clear_c_r8g8b8a8_snorm_d_d16_unorm_big_triangle
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.normal.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_mixed.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_random.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.no_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.one_draw.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.16_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_zero.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_4.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.10_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.10_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.mosaic.indexed_packed.max_draws.stride_extra_12.2_instances_base_3.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.normal.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_mixed.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_random.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.no_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.one_draw.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.16_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_zero.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_zero.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_zero.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_zero.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.standard_stride.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.standard_stride.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.standard_stride.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.standard_stride.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_4.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_4.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_4.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_4.1_instance.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.no_instances.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.no_instances.vert_only.single_view.offset_6
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.vert_only.single_view.no_offset
+dEQP-VK.draw_with_dynamic_rendering.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.vert_only.single_view.offset_6
dEQP-VK.draw.explicit_vertex_parameter.noperspective_sample_samples_64
dEQP-VK.draw.explicit_vertex_parameter.smooth_centroid_samples_64
dEQP-VK.draw.explicit_vertex_parameter.noperspective_centroid_samples_64
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp-output-float
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp-output-vec2
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump-output-float
-dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump-output-vec2
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp-output-vec2
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp-output-vec3
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump-output-vec2
-dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump-output-vec3
-dEQP-VK.draw.output_location.array.r16g16-sfloat-highp
-dEQP-VK.draw.output_location.array.r16g16-sfloat-highp-output-float
-dEQP-VK.draw.output_location.array.r16g16-sfloat-mediump
-dEQP-VK.draw.output_location.array.r16g16-sfloat-mediump-output-float
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp-output-vec2
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp-output-vec3
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump-output-vec2
-dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump-output-vec3
-dEQP-VK.draw.output_location.array.r32-sfloat-highp
-dEQP-VK.draw.output_location.array.r32-sfloat-mediump
-dEQP-VK.draw.output_location.array.r8g8-uint-highp
-dEQP-VK.draw.output_location.array.r8g8-uint-highp-output-uint
-dEQP-VK.draw.output_location.array.r8g8-uint-mediump
-dEQP-VK.draw.output_location.array.r8g8-uint-mediump-output-uint
-dEQP-VK.draw.output_location.shuffle.inputs-outputs
-dEQP-VK.draw.output_location.shuffle.inputs-outputs-mod
dEQP-VK.draw.depth_clamp.d16_unorm
dEQP-VK.draw.depth_clamp.d16_unorm_clamp_input_negative
dEQP-VK.draw.depth_clamp.d16_unorm_clamp_input_positive
dEQP-VK.draw.depth_clamp.d32_sfloat_s8_uint_depth_range_unrestricted_negative
dEQP-VK.draw.depth_clamp.d32_sfloat_s8_uint_depth_range_unrestricted_positive
dEQP-VK.draw.depth_clamp.d32_sfloat_s8_uint_clamp_four_viewports
-dEQP-VK.draw.ahb.triangle_list
-dEQP-VK.draw.ahb.triangle_list_layers_3
-dEQP-VK.draw.ahb.triangle_list_layers_5
-dEQP-VK.draw.ahb.triangle_list_layers_8
dEQP-VK.draw.multiple_clears_within_render_pass.load_clear_draw_c_r8g8b8a8_unorm_triangle_strip
dEQP-VK.draw.multiple_clears_within_render_pass.draw_clear_draw_c_r8g8b8a8_unorm_triangle_strip
dEQP-VK.draw.multiple_clears_within_render_pass.clear_clear_draw_c_r8g8b8a8_unorm_triangle_strip
dEQP-VK.draw.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.tess_geom.single_view.offset_6
dEQP-VK.draw.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.tess_geom.multiview.no_offset
dEQP-VK.draw.multi_draw.overlapping.indexed_packed.max_draws.stride_extra_12.1_instance.tess_geom.multiview.offset_6
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp-output-float
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-highp-output-vec2
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump-output-float
+dEQP-VK.draw.output_location.array.b10g11r11-ufloat-pack32-mediump-output-vec2
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp-output-vec2
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-highp-output-vec3
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump-output-vec2
+dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump-output-vec3
+dEQP-VK.draw.output_location.array.r16g16-sfloat-highp
+dEQP-VK.draw.output_location.array.r16g16-sfloat-highp-output-float
+dEQP-VK.draw.output_location.array.r16g16-sfloat-mediump
+dEQP-VK.draw.output_location.array.r16g16-sfloat-mediump-output-float
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp-output-vec2
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-highp-output-vec3
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump-output-vec2
+dEQP-VK.draw.output_location.array.r32g32b32a32-sfloat-mediump-output-vec3
+dEQP-VK.draw.output_location.array.r32-sfloat-highp
+dEQP-VK.draw.output_location.array.r32-sfloat-mediump
+dEQP-VK.draw.output_location.array.r8g8-uint-highp
+dEQP-VK.draw.output_location.array.r8g8-uint-highp-output-uint
+dEQP-VK.draw.output_location.array.r8g8-uint-mediump
+dEQP-VK.draw.output_location.array.r8g8-uint-mediump-output-uint
+dEQP-VK.draw.output_location.shuffle.inputs-outputs
+dEQP-VK.draw.output_location.shuffle.inputs-outputs-mod
+dEQP-VK.draw.ahb.triangle_list
+dEQP-VK.draw.ahb.triangle_list_layers_3
+dEQP-VK.draw.ahb.triangle_list_layers_5
+dEQP-VK.draw.ahb.triangle_list_layers_8
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
#endif
VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
+ VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = 1000044000,
+ VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = 1000044001,
+ VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = 1000044002,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = 1000044003,
+ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = 1000044004,
+ VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
+ VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
+ VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
+ VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
+ VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
+#define VK_KHR_dynamic_rendering 1
+#define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1
+#define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering"
+
+typedef enum VkRenderingFlagBitsKHR {
+ VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 0x00000001,
+ VK_RENDERING_SUSPENDING_BIT_KHR = 0x00000002,
+ VK_RENDERING_RESUMING_BIT_KHR = 0x00000004,
+ VK_RENDERING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkRenderingFlagBitsKHR;
+typedef VkFlags VkRenderingFlagsKHR;
+typedef struct VkRenderingAttachmentInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkImageView imageView;
+ VkImageLayout imageLayout;
+ VkResolveModeFlagBits resolveMode;
+ VkImageView resolveImageView;
+ VkImageLayout resolveImageLayout;
+ VkAttachmentLoadOp loadOp;
+ VkAttachmentStoreOp storeOp;
+ VkClearValue clearValue;
+} VkRenderingAttachmentInfoKHR;
+
+typedef struct VkRenderingInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkRenderingFlagsKHR flags;
+ VkRect2D renderArea;
+ uint32_t layerCount;
+ uint32_t viewMask;
+ uint32_t colorAttachmentCount;
+ const VkRenderingAttachmentInfoKHR* pColorAttachments;
+ const VkRenderingAttachmentInfoKHR* pDepthAttachment;
+ const VkRenderingAttachmentInfoKHR* pStencilAttachment;
+} VkRenderingInfoKHR;
+
+typedef struct VkPipelineRenderingCreateInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ uint32_t viewMask;
+ uint32_t colorAttachmentCount;
+ const VkFormat* pColorAttachmentFormats;
+ VkFormat depthStencilAttachmentFormat;
+} VkPipelineRenderingCreateInfoKHR;
+
+typedef struct VkPhysicalDeviceDynamicRenderingFeaturesKHR {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 dynamicRendering;
+} VkPhysicalDeviceDynamicRenderingFeaturesKHR;
+
+typedef struct VkCommandBufferInheritanceRenderingInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkRenderingFlagsKHR flags;
+ uint32_t viewMask;
+ uint32_t colorAttachmentCount;
+ const VkFormat* pColorAttachmentFormats;
+ VkFormat depthStencilAttachmentFormat;
+ VkSampleCountFlagBits rasterizationSamples;
+} VkCommandBufferInheritanceRenderingInfoKHR;
+
+typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkImageView imageView;
+ VkImageLayout imageLayout;
+ VkExtent2D shadingRateAttachmentTexelSize;
+} VkRenderingFragmentShadingRateAttachmentInfoKHR;
+
+typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT {
+ VkStructureType sType;
+ const void* pNext;
+ VkImageView imageView;
+ VkImageLayout imageLayout;
+} VkRenderingFragmentDensityMapAttachmentInfoEXT;
+
+typedef struct VkAttachmentSampleCountInfoAMD {
+ VkStructureType sType;
+ const void* pNext;
+ uint32_t colorAttachmentCount;
+ const VkSampleCountFlagBits* pColorAttachmentSamples;
+ VkSampleCountFlagBits depthStencilAttachmentSamples;
+} VkAttachmentSampleCountInfoAMD;
+
+typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV;
+
+typedef struct VkMultiviewPerViewAttributesInfoNVX {
+ VkStructureType sType;
+ const void* pNext;
+ VkBool32 perViewAttributes;
+ VkBool32 perViewAttributesPositionXOnly;
+} VkMultiviewPerViewAttributesInfoNVX;
+
+typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR(
+ VkCommandBuffer commandBuffer,
+ const VkRenderingInfoKHR* pRenderingInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR(
+ VkCommandBuffer commandBuffer);
+#endif
+
+
#define VK_KHR_multiview 1
#define VK_KHR_MULTIVIEW_SPEC_VERSION 1
#define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"