Merge vk-gl-cts/dev/VK_KHR_fragment_shader_barycentric into vk-gl-cts/main
Change-Id: Iee05a3a148b62122de199cad70cda8f9f3f2170c
diff --git a/AndroidGen.mk b/AndroidGen.mk
index a0669d5..7266b57 100644
--- a/AndroidGen.mk
+++ b/AndroidGen.mk
@@ -171,6 +171,7 @@
external/vulkancts/modules/vulkan/fragment_ops/vktFragmentOperationsTransientAttachmentTests.cpp \
external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockBasic.cpp \
external/vulkancts/modules/vulkan/fragment_shader_interlock/vktFragmentShaderInterlockTests.cpp \
+ external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.cpp \
external/vulkancts/modules/vulkan/fragment_shading_rate/vktAttachmentRateTests.cpp \
external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp \
external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRatePixelConsistency.cpp \
@@ -1291,6 +1292,7 @@
$(deqp_dir)/external/vulkancts/modules/vulkan/dynamic_state \
$(deqp_dir)/external/vulkancts/modules/vulkan/fragment_ops \
$(deqp_dir)/external/vulkancts/modules/vulkan/fragment_shader_interlock \
+ $(deqp_dir)/external/vulkancts/modules/vulkan/fragment_shading_barycentric \
$(deqp_dir)/external/vulkancts/modules/vulkan/fragment_shading_rate \
$(deqp_dir)/external/vulkancts/modules/vulkan/geometry \
$(deqp_dir)/external/vulkancts/modules/vulkan/image \
diff --git a/android/cts/main/src/vk-master-2019-03-01.txt b/android/cts/main/src/vk-master-2019-03-01.txt
index 501a3f0..24a776f 100644
--- a/android/cts/main/src/vk-master-2019-03-01.txt
+++ b/android/cts/main/src/vk-master-2019-03-01.txt
@@ -3827,6 +3827,7 @@
dEQP-VK.api.device_init.create_device_unsupported_features.present_wait_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.pipeline_executable_properties_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.present_id_features_khr
+dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shader_barycentric_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.shader_subgroup_uniform_control_flow_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.workgroup_memory_explicit_layout_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.transform_feedback_features_ext
@@ -3841,7 +3842,6 @@
dEQP-VK.api.device_init.create_device_unsupported_features.vertex_attribute_divisor_features_ext
dEQP-VK.api.device_init.create_device_unsupported_features.compute_shader_derivatives_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.mesh_shader_features_nv
-dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shader_barycentric_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.shader_image_footprint_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.exclusive_scissor_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.shader_integer_functions2_features_intel
diff --git a/android/cts/main/vk-master-2019-03-01/api.txt b/android/cts/main/vk-master-2019-03-01/api.txt
index 9ced639..0820bd6 100644
--- a/android/cts/main/vk-master-2019-03-01/api.txt
+++ b/android/cts/main/vk-master-2019-03-01/api.txt
@@ -3810,6 +3810,7 @@
dEQP-VK.api.device_init.create_device_unsupported_features.present_wait_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.pipeline_executable_properties_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.present_id_features_khr
+dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shader_barycentric_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.shader_subgroup_uniform_control_flow_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.workgroup_memory_explicit_layout_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.transform_feedback_features_ext
@@ -3824,7 +3825,6 @@
dEQP-VK.api.device_init.create_device_unsupported_features.vertex_attribute_divisor_features_ext
dEQP-VK.api.device_init.create_device_unsupported_features.compute_shader_derivatives_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.mesh_shader_features_nv
-dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shader_barycentric_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.shader_image_footprint_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.exclusive_scissor_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.shader_integer_functions2_features_intel
diff --git a/android/cts/main/vk-master-2021-03-01/fragment-shading-barycentric.txt b/android/cts/main/vk-master-2021-03-01/fragment-shading-barycentric.txt
new file mode 100644
index 0000000..e713feb
--- /dev/null
+++ b/android/cts/main/vk-master-2021-03-01/fragment-shading-barycentric.txt
@@ -0,0 +1,1998 @@
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.point_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.point_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.point_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.point_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.point_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.point_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip_with_adjacency.noperspective
diff --git a/android/cts/main/vk-master-2022-03-01.txt b/android/cts/main/vk-master-2022-03-01.txt
index 7455776..a5f1320 100644
--- a/android/cts/main/vk-master-2022-03-01.txt
+++ b/android/cts/main/vk-master-2022-03-01.txt
@@ -7,6 +7,7 @@
vk-master-2022-03-01/dynamic-rendering.txt
vk-master-2022-03-01/dynamic-state.txt
vk-master-2022-03-01/fragment-operations.txt
+vk-master-2022-03-01/fragment-shading-barycentric.txt
vk-master-2022-03-01/fragment-shading-rate.txt
vk-master-2022-03-01/glsl.txt
vk-master-2022-03-01/graphicsfuzz.txt
diff --git a/android/cts/main/vk-master-2022-03-01/api.txt b/android/cts/main/vk-master-2022-03-01/api.txt
index 99775ce..5b6dba1 100644
--- a/android/cts/main/vk-master-2022-03-01/api.txt
+++ b/android/cts/main/vk-master-2022-03-01/api.txt
@@ -14,6 +14,7 @@
dEQP-VK.api.device_init.create_device_global_priority_query_khr.basic
dEQP-VK.api.device_init.create_device_unsupported_features.ray_tracing_maintenance1_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.graphics_pipeline_library_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.shader_early_and_late_fragment_tests_features_amd
dEQP-VK.api.device_init.create_device_unsupported_features.image_compression_control_features_ext
dEQP-VK.api.device_init.create_device_unsupported_features.pipeline_properties_features_ext
dEQP-VK.api.device_init.create_device_unsupported_features.primitives_generated_query_features_ext
diff --git a/android/cts/main/vk-master-2022-03-01/fragment-shading-barycentric.txt b/android/cts/main/vk-master-2022-03-01/fragment-shading-barycentric.txt
new file mode 100644
index 0000000..e713feb
--- /dev/null
+++ b/android/cts/main/vk-master-2022-03-01/fragment-shading-barycentric.txt
@@ -0,0 +1,1998 @@
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.point_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.point_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.point_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.point_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.point_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.point_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip_with_adjacency.noperspective
diff --git a/android/cts/main/vk-master.txt b/android/cts/main/vk-master.txt
index 702c1b7..51f2aca 100644
--- a/android/cts/main/vk-master.txt
+++ b/android/cts/main/vk-master.txt
@@ -11,6 +11,7 @@
vk-master/dynamic-state.txt
vk-master/fragment-operations.txt
vk-master/fragment-shader-interlock.txt
+vk-master/fragment-shading-barycentric.txt
vk-master/fragment-shading-rate.txt
vk-master/geometry.txt
vk-master/glsl.txt
diff --git a/android/cts/main/vk-master/api.txt b/android/cts/main/vk-master/api.txt
index dcad966..4b13519 100644
--- a/android/cts/main/vk-master/api.txt
+++ b/android/cts/main/vk-master/api.txt
@@ -3872,6 +3872,7 @@
dEQP-VK.api.device_init.create_device_unsupported_features.present_wait_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.pipeline_executable_properties_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.present_id_features_khr
+dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shader_barycentric_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.shader_subgroup_uniform_control_flow_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.workgroup_memory_explicit_layout_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.ray_tracing_maintenance1_features_khr
@@ -3887,7 +3888,6 @@
dEQP-VK.api.device_init.create_device_unsupported_features.vertex_attribute_divisor_features_ext
dEQP-VK.api.device_init.create_device_unsupported_features.compute_shader_derivatives_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.mesh_shader_features_nv
-dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shader_barycentric_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.shader_image_footprint_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.exclusive_scissor_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.shader_integer_functions2_features_intel
@@ -3915,6 +3915,7 @@
dEQP-VK.api.device_init.create_device_unsupported_features.custom_border_color_features_ext
dEQP-VK.api.device_init.create_device_unsupported_features.diagnostics_config_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.graphics_pipeline_library_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.shader_early_and_late_fragment_tests_features_amd
dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shading_rate_enums_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.ray_tracing_motion_blur_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.ycbcr2_plane444_formats_features_ext
diff --git a/android/cts/main/vk-master/fragment-shading-barycentric.txt b/android/cts/main/vk-master/fragment-shading-barycentric.txt
new file mode 100644
index 0000000..e713feb
--- /dev/null
+++ b/android/cts/main/vk-master/fragment-shading-barycentric.txt
@@ -0,0 +1,1998 @@
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.point_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.point_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.point_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.point_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.point_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.point_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip_with_adjacency.noperspective
diff --git a/external/fetch_sources.py b/external/fetch_sources.py
index ba61065..7b8dbe4 100644
--- a/external/fetch_sources.py
+++ b/external/fetch_sources.py
@@ -299,12 +299,12 @@
GitRepo(
"https://github.com/KhronosGroup/SPIRV-Tools.git",
"git@github.com:KhronosGroup/SPIRV-Tools.git",
- "b0ce31fd2d8fdf0bdf87832a63d3da3289202fdf",
+ "b930e734ea198b7aabbbf04ee1562cf6f57962f0",
"spirv-tools"),
GitRepo(
"https://github.com/KhronosGroup/glslang.git",
"git@github.com:KhronosGroup/glslang.git",
- "14f6e2730457bac14a64cb3d962d0a3da8c15ae4",
+ "7dda6a6347b0bd550e202942adee475956ef462a",
"glslang",
removeTags = ["master-tot"]),
GitRepo(
@@ -315,7 +315,7 @@
GitRepo(
"https://github.com/KhronosGroup/Vulkan-Docs.git",
"git@github.com:KhronosGroup/Vulkan-Docs.git",
- "71decb7f868d3891974eab139f03c7c6c87fea4d",
+ "9b5562187a8ad72c171410b036ceedbc450153ba",
"vulkan-docs"),
GitRepo(
"https://github.com/google/amber.git",
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkApiExtensionDependencyInfo.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkApiExtensionDependencyInfo.inl
index 59f387e..11f6ebe 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkApiExtensionDependencyInfo.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkApiExtensionDependencyInfo.inl
@@ -321,7 +321,9 @@
std::make_tuple(0, 1, 3, "VK_KHR_display_swapchain", "VK_KHR_swapchain"),
std::make_tuple(0, 1, 3, "VK_KHR_display_swapchain", "VK_KHR_display"),
std::make_tuple(0, 1, 0, "VK_KHR_driver_properties", "VK_KHR_get_physical_device_properties2"),
+ std::make_tuple(0, 1, 0, "VK_KHR_dynamic_rendering", "VK_KHR_depth_stencil_resolve"),
std::make_tuple(0, 1, 0, "VK_KHR_dynamic_rendering", "VK_KHR_get_physical_device_properties2"),
+ std::make_tuple(0, 1, 1, "VK_KHR_dynamic_rendering", "VK_KHR_depth_stencil_resolve"),
std::make_tuple(0, 1, 0, "VK_KHR_external_fence", "VK_KHR_external_fence_capabilities"),
std::make_tuple(0, 1, 0, "VK_KHR_external_fence_fd", "VK_KHR_external_fence"),
std::make_tuple(0, 1, 0, "VK_KHR_external_fence_win32", "VK_KHR_external_fence"),
@@ -332,6 +334,7 @@
std::make_tuple(0, 1, 0, "VK_KHR_external_semaphore_fd", "VK_KHR_external_semaphore"),
std::make_tuple(0, 1, 0, "VK_KHR_external_semaphore_win32", "VK_KHR_external_semaphore"),
std::make_tuple(0, 1, 0, "VK_KHR_format_feature_flags2", "VK_KHR_get_physical_device_properties2"),
+ std::make_tuple(0, 1, 0, "VK_KHR_fragment_shader_barycentric", "VK_KHR_get_physical_device_properties2"),
std::make_tuple(0, 1, 0, "VK_KHR_fragment_shading_rate", "VK_KHR_create_renderpass2"),
std::make_tuple(0, 1, 0, "VK_KHR_fragment_shading_rate", "VK_KHR_get_physical_device_properties2"),
std::make_tuple(0, 1, 1, "VK_KHR_fragment_shading_rate", "VK_KHR_create_renderpass2"),
@@ -522,6 +525,7 @@
std::make_tuple(1, 0, "VK_AMD_shader_ballot"),
std::make_tuple(1, 0, "VK_AMD_shader_core_properties"),
std::make_tuple(1, 0, "VK_AMD_shader_core_properties2"),
+ std::make_tuple(1, 0, "VK_AMD_shader_early_and_late_fragment_tests"),
std::make_tuple(1, 0, "VK_AMD_shader_explicit_vertex_parameter"),
std::make_tuple(1, 0, "VK_AMD_shader_fragment_mask"),
std::make_tuple(1, 0, "VK_AMD_shader_image_load_store_lod"),
@@ -677,6 +681,7 @@
std::make_tuple(1, 0, "VK_KHR_external_semaphore_fd"),
std::make_tuple(1, 0, "VK_KHR_external_semaphore_win32"),
std::make_tuple(1, 0, "VK_KHR_format_feature_flags2"),
+ std::make_tuple(1, 0, "VK_KHR_fragment_shader_barycentric"),
std::make_tuple(1, 0, "VK_KHR_fragment_shading_rate"),
std::make_tuple(1, 0, "VK_KHR_get_display_properties2"),
std::make_tuple(1, 0, "VK_KHR_get_memory_requirements2"),
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkBasicTypes.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkBasicTypes.inl
index 9326685..c2e78f4 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkBasicTypes.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkBasicTypes.inl
@@ -599,7 +599,6 @@
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
@@ -700,6 +699,9 @@
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001,
VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
@@ -884,6 +886,7 @@
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
@@ -951,6 +954,12 @@
VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF,
};
+enum VkPipelineCacheHeaderVersion
+{
+ VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
+ VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF,
+};
+
enum VkImageLayout
{
VK_IMAGE_LAYOUT_UNDEFINED = 0,
@@ -1046,12 +1055,6 @@
VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF,
};
-enum VkPipelineCacheHeaderVersion
-{
- VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
- VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF,
-};
-
enum VkVendorId
{
VK_VENDOR_ID_VIV = 0x10001,
@@ -3890,6 +3893,7 @@
VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
+ VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008,
VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF,
};
typedef uint32_t VkDeviceDiagnosticsConfigFlagsNV;
@@ -4693,6 +4697,7 @@
#define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
#define VK_KHR_PRESENT_ID_SPEC_VERSION 1
#define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
+#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
#define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
@@ -4840,9 +4845,10 @@
#define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
#define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
#define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
-#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
+#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2
#define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
#define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1
+#define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1
#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
#define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
#define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceExtensions.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceExtensions.inl
index 210a0b9..60e4a05 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceExtensions.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceExtensions.inl
@@ -31,6 +31,7 @@
"VK_KHR_external_semaphore_fd",
"VK_KHR_external_semaphore_win32",
"VK_KHR_format_feature_flags2",
+ "VK_KHR_fragment_shader_barycentric",
"VK_KHR_fragment_shading_rate",
"VK_KHR_get_memory_requirements2",
"VK_KHR_global_priority",
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeatureTest.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeatureTest.inl
index 4cf3ad4..85996cf 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeatureTest.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeatureTest.inl
@@ -2089,6 +2089,53 @@
}
+tcu::TestStatus createDeviceWithUnsupportedFeaturesTestFragmentShaderBarycentricFeaturesKHR (Context& context)
+{
+ const PlatformInterface& vkp = context.getPlatformInterface();
+ tcu::TestLog& log = context.getTestContext().getLog();
+ tcu::ResultCollector resultCollector (log);
+ const CustomInstance instance (createCustomInstanceWithExtensions(context, context.getInstanceExtensions(), DE_NULL, true));
+ const InstanceDriver& instanceDriver (instance.getDriver());
+ const VkPhysicalDevice physicalDevice = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine());
+ const deUint32 queueFamilyIndex = 0;
+ const deUint32 queueCount = 1;
+ const float queuePriority = 1.0f;
+ const DeviceFeatures deviceFeaturesAll (context.getInstanceInterface(), context.getUsedApiVersion(), physicalDevice, context.getInstanceExtensions(), context.getDeviceExtensions(), DE_TRUE);
+ const VkPhysicalDeviceFeatures2 deviceFeatures2 = deviceFeaturesAll.getCoreFeatures2();
+ int numErrors = 0;
+ bool isSubProcess = context.getTestContext().getCommandLine().isSubProcess();
+
+
+ VkPhysicalDeviceFeatures emptyDeviceFeatures;
+ deMemset(&emptyDeviceFeatures, 0, sizeof(emptyDeviceFeatures));
+
+ // Only non-core extensions will be used when creating the device.
+ vector<const char*> coreExtensions;
+ getCoreDeviceExtensions(context.getUsedApiVersion(), coreExtensions);
+ vector<string> nonCoreExtensions(removeExtensions(context.getDeviceExtensions(), coreExtensions));
+
+ vector<const char*> extensionNames;
+ extensionNames.reserve(nonCoreExtensions.size());
+ for (const string& extension : nonCoreExtensions)
+ extensionNames.push_back(extension.c_str());
+
+ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>()))
+ {
+ static const Feature features[] =
+ {
+ FEATURE_ITEM (VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR, fragmentShaderBarycentric),
+ };
+ auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR*>(featuresStruct);
+ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+ }
+
+ if (numErrors > 0)
+ return tcu::TestStatus(resultCollector.getResult(), "Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.");
+ else
+ return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
+}
+
+
tcu::TestStatus createDeviceWithUnsupportedFeaturesTestShaderSubgroupUniformControlFlowFeaturesKHR (Context& context)
{
const PlatformInterface& vkp = context.getPlatformInterface();
@@ -2804,53 +2851,6 @@
}
-tcu::TestStatus createDeviceWithUnsupportedFeaturesTestFragmentShaderBarycentricFeaturesNV (Context& context)
-{
- const PlatformInterface& vkp = context.getPlatformInterface();
- tcu::TestLog& log = context.getTestContext().getLog();
- tcu::ResultCollector resultCollector (log);
- const CustomInstance instance (createCustomInstanceWithExtensions(context, context.getInstanceExtensions(), DE_NULL, true));
- const InstanceDriver& instanceDriver (instance.getDriver());
- const VkPhysicalDevice physicalDevice = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine());
- const deUint32 queueFamilyIndex = 0;
- const deUint32 queueCount = 1;
- const float queuePriority = 1.0f;
- const DeviceFeatures deviceFeaturesAll (context.getInstanceInterface(), context.getUsedApiVersion(), physicalDevice, context.getInstanceExtensions(), context.getDeviceExtensions(), DE_TRUE);
- const VkPhysicalDeviceFeatures2 deviceFeatures2 = deviceFeaturesAll.getCoreFeatures2();
- int numErrors = 0;
- bool isSubProcess = context.getTestContext().getCommandLine().isSubProcess();
-
-
- VkPhysicalDeviceFeatures emptyDeviceFeatures;
- deMemset(&emptyDeviceFeatures, 0, sizeof(emptyDeviceFeatures));
-
- // Only non-core extensions will be used when creating the device.
- vector<const char*> coreExtensions;
- getCoreDeviceExtensions(context.getUsedApiVersion(), coreExtensions);
- vector<string> nonCoreExtensions(removeExtensions(context.getDeviceExtensions(), coreExtensions));
-
- vector<const char*> extensionNames;
- extensionNames.reserve(nonCoreExtensions.size());
- for (const string& extension : nonCoreExtensions)
- extensionNames.push_back(extension.c_str());
-
- if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>()))
- {
- static const Feature features[] =
- {
- FEATURE_ITEM (VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV, fragmentShaderBarycentric),
- };
- auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV*>(featuresStruct);
- checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
- }
-
- if (numErrors > 0)
- return tcu::TestStatus(resultCollector.getResult(), "Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.");
- else
- return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
-}
-
-
tcu::TestStatus createDeviceWithUnsupportedFeaturesTestShaderImageFootprintFeaturesNV (Context& context)
{
const PlatformInterface& vkp = context.getPlatformInterface();
@@ -4159,6 +4159,53 @@
}
+tcu::TestStatus createDeviceWithUnsupportedFeaturesTestShaderEarlyAndLateFragmentTestsFeaturesAMD (Context& context)
+{
+ const PlatformInterface& vkp = context.getPlatformInterface();
+ tcu::TestLog& log = context.getTestContext().getLog();
+ tcu::ResultCollector resultCollector (log);
+ const CustomInstance instance (createCustomInstanceWithExtensions(context, context.getInstanceExtensions(), DE_NULL, true));
+ const InstanceDriver& instanceDriver (instance.getDriver());
+ const VkPhysicalDevice physicalDevice = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine());
+ const deUint32 queueFamilyIndex = 0;
+ const deUint32 queueCount = 1;
+ const float queuePriority = 1.0f;
+ const DeviceFeatures deviceFeaturesAll (context.getInstanceInterface(), context.getUsedApiVersion(), physicalDevice, context.getInstanceExtensions(), context.getDeviceExtensions(), DE_TRUE);
+ const VkPhysicalDeviceFeatures2 deviceFeatures2 = deviceFeaturesAll.getCoreFeatures2();
+ int numErrors = 0;
+ bool isSubProcess = context.getTestContext().getCommandLine().isSubProcess();
+
+
+ VkPhysicalDeviceFeatures emptyDeviceFeatures;
+ deMemset(&emptyDeviceFeatures, 0, sizeof(emptyDeviceFeatures));
+
+ // Only non-core extensions will be used when creating the device.
+ vector<const char*> coreExtensions;
+ getCoreDeviceExtensions(context.getUsedApiVersion(), coreExtensions);
+ vector<string> nonCoreExtensions(removeExtensions(context.getDeviceExtensions(), coreExtensions));
+
+ vector<const char*> extensionNames;
+ extensionNames.reserve(nonCoreExtensions.size());
+ for (const string& extension : nonCoreExtensions)
+ extensionNames.push_back(extension.c_str());
+
+ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD>()))
+ {
+ static const Feature features[] =
+ {
+ FEATURE_ITEM (VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, shaderEarlyAndLateFragmentTests),
+ };
+ auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD*>(featuresStruct);
+ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+ }
+
+ if (numErrors > 0)
+ return tcu::TestStatus(resultCollector.getResult(), "Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.");
+ else
+ return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
+}
+
+
tcu::TestStatus createDeviceWithUnsupportedFeaturesTestFragmentShadingRateEnumsFeaturesNV (Context& context)
{
const PlatformInterface& vkp = context.getPlatformInterface();
@@ -5790,6 +5837,7 @@
addFunctionCase(testGroup, "present_wait_features_khr", "createDeviceWithUnsupportedFeaturesTestPresentWaitFeaturesKHR", createDeviceWithUnsupportedFeaturesTestPresentWaitFeaturesKHR);
addFunctionCase(testGroup, "pipeline_executable_properties_features_khr", "createDeviceWithUnsupportedFeaturesTestPipelineExecutablePropertiesFeaturesKHR", createDeviceWithUnsupportedFeaturesTestPipelineExecutablePropertiesFeaturesKHR);
addFunctionCase(testGroup, "present_id_features_khr", "createDeviceWithUnsupportedFeaturesTestPresentIdFeaturesKHR", createDeviceWithUnsupportedFeaturesTestPresentIdFeaturesKHR);
+ addFunctionCase(testGroup, "fragment_shader_barycentric_features_khr", "createDeviceWithUnsupportedFeaturesTestFragmentShaderBarycentricFeaturesKHR", createDeviceWithUnsupportedFeaturesTestFragmentShaderBarycentricFeaturesKHR);
addFunctionCase(testGroup, "shader_subgroup_uniform_control_flow_features_khr", "createDeviceWithUnsupportedFeaturesTestShaderSubgroupUniformControlFlowFeaturesKHR", createDeviceWithUnsupportedFeaturesTestShaderSubgroupUniformControlFlowFeaturesKHR);
addFunctionCase(testGroup, "workgroup_memory_explicit_layout_features_khr", "createDeviceWithUnsupportedFeaturesTestWorkgroupMemoryExplicitLayoutFeaturesKHR", createDeviceWithUnsupportedFeaturesTestWorkgroupMemoryExplicitLayoutFeaturesKHR);
addFunctionCase(testGroup, "ray_tracing_maintenance1_features_khr", "createDeviceWithUnsupportedFeaturesTestRayTracingMaintenance1FeaturesKHR", createDeviceWithUnsupportedFeaturesTestRayTracingMaintenance1FeaturesKHR);
@@ -5805,7 +5853,6 @@
addFunctionCase(testGroup, "vertex_attribute_divisor_features_ext", "createDeviceWithUnsupportedFeaturesTestVertexAttributeDivisorFeaturesEXT", createDeviceWithUnsupportedFeaturesTestVertexAttributeDivisorFeaturesEXT);
addFunctionCase(testGroup, "compute_shader_derivatives_features_nv", "createDeviceWithUnsupportedFeaturesTestComputeShaderDerivativesFeaturesNV", createDeviceWithUnsupportedFeaturesTestComputeShaderDerivativesFeaturesNV);
addFunctionCase(testGroup, "mesh_shader_features_nv", "createDeviceWithUnsupportedFeaturesTestMeshShaderFeaturesNV", createDeviceWithUnsupportedFeaturesTestMeshShaderFeaturesNV);
- addFunctionCase(testGroup, "fragment_shader_barycentric_features_nv", "createDeviceWithUnsupportedFeaturesTestFragmentShaderBarycentricFeaturesNV", createDeviceWithUnsupportedFeaturesTestFragmentShaderBarycentricFeaturesNV);
addFunctionCase(testGroup, "shader_image_footprint_features_nv", "createDeviceWithUnsupportedFeaturesTestShaderImageFootprintFeaturesNV", createDeviceWithUnsupportedFeaturesTestShaderImageFootprintFeaturesNV);
addFunctionCase(testGroup, "exclusive_scissor_features_nv", "createDeviceWithUnsupportedFeaturesTestExclusiveScissorFeaturesNV", createDeviceWithUnsupportedFeaturesTestExclusiveScissorFeaturesNV);
addFunctionCase(testGroup, "shader_integer_functions2_features_intel", "createDeviceWithUnsupportedFeaturesTestShaderIntegerFunctions2FeaturesINTEL", createDeviceWithUnsupportedFeaturesTestShaderIntegerFunctions2FeaturesINTEL);
@@ -5833,6 +5880,7 @@
addFunctionCase(testGroup, "custom_border_color_features_ext", "createDeviceWithUnsupportedFeaturesTestCustomBorderColorFeaturesEXT", createDeviceWithUnsupportedFeaturesTestCustomBorderColorFeaturesEXT);
addFunctionCase(testGroup, "diagnostics_config_features_nv", "createDeviceWithUnsupportedFeaturesTestDiagnosticsConfigFeaturesNV", createDeviceWithUnsupportedFeaturesTestDiagnosticsConfigFeaturesNV);
addFunctionCase(testGroup, "graphics_pipeline_library_features_ext", "createDeviceWithUnsupportedFeaturesTestGraphicsPipelineLibraryFeaturesEXT", createDeviceWithUnsupportedFeaturesTestGraphicsPipelineLibraryFeaturesEXT);
+ addFunctionCase(testGroup, "shader_early_and_late_fragment_tests_features_amd", "createDeviceWithUnsupportedFeaturesTestShaderEarlyAndLateFragmentTestsFeaturesAMD", createDeviceWithUnsupportedFeaturesTestShaderEarlyAndLateFragmentTestsFeaturesAMD);
addFunctionCase(testGroup, "fragment_shading_rate_enums_features_nv", "createDeviceWithUnsupportedFeaturesTestFragmentShadingRateEnumsFeaturesNV", createDeviceWithUnsupportedFeaturesTestFragmentShadingRateEnumsFeaturesNV);
addFunctionCase(testGroup, "ray_tracing_motion_blur_features_nv", "createDeviceWithUnsupportedFeaturesTestRayTracingMotionBlurFeaturesNV", createDeviceWithUnsupportedFeaturesTestRayTracingMotionBlurFeaturesNV);
addFunctionCase(testGroup, "ycbcr2_plane444_formats_features_ext", "createDeviceWithUnsupportedFeaturesTestYcbcr2Plane444FormatsFeaturesEXT", createDeviceWithUnsupportedFeaturesTestYcbcr2Plane444FormatsFeaturesEXT);
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeatures.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeatures.inl
index 549e079..5a97cc3 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeatures.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeatures.inl
@@ -40,7 +40,7 @@
#define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
#define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
-#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
+#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric"
#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
#define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
@@ -94,6 +94,7 @@
#define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
+#define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests"
#define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
#define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
@@ -295,6 +296,7 @@
template<> void initFeatureFromBlob<VkPhysicalDevicePresentWaitFeaturesKHR>(VkPhysicalDevicePresentWaitFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDevicePresentIdFeaturesKHR>(VkPhysicalDevicePresentIdFeaturesKHR&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>(VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>(VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR&, const AllFeaturesBlobs&) {}
@@ -310,7 +312,6 @@
template<> void initFeatureFromBlob<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>(VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceMeshShaderFeaturesNV>(VkPhysicalDeviceMeshShaderFeaturesNV&, const AllFeaturesBlobs&) {}
-template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceShaderImageFootprintFeaturesNV>(VkPhysicalDeviceShaderImageFootprintFeaturesNV&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceExclusiveScissorFeaturesNV>(VkPhysicalDeviceExclusiveScissorFeaturesNV&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&, const AllFeaturesBlobs&) {}
@@ -338,6 +339,7 @@
template<> void initFeatureFromBlob<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(VkPhysicalDeviceCustomBorderColorFeaturesEXT&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(VkPhysicalDeviceDiagnosticsConfigFeaturesNV&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>(VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD>(VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>(VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&, const AllFeaturesBlobs&) {}
@@ -373,93 +375,94 @@
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, 114}; }
-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, 113}; }
-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, 112}; }
-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, 111}; }
-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, 110}; }
-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, 109}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION, 108}; }
-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, 107}; }
-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, 106}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 105}; }
-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, 104}; }
-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, 103}; }
-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, 102}; }
-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, 101}; }
-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, 100}; }
-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, 99}; }
-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, 98}; }
-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, 97}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION, 96}; }
-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, 95}; }
-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, 94}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION, 93}; }
-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, 92}; }
-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, 91}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 90}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDynamicRenderingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION, 89}; }
-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, 88}; }
-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, 87}; }
-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, 86}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV, VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME, VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION, 85}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 84}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 83}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 82}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 81}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 80}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 79}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 78}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, DECL_KHR_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME, 0, 77}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION, 76}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceHostQueryResetFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 75}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImagelessFramebufferFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 74}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT, VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME, VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION, 73}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageCompressionControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT, VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION, 72}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION, 71}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageRobustnessFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 70}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageViewMinLodFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT, VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME, VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION, 69}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 68}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION, 67}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 66}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI, VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME, VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION, 65}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV, VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME, VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION, 64}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLineRasterizationFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 63}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMaintenance4Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, DECL_MAINTENANCE4_EXTENSION_NAME, 0, 62}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMemoryPriorityFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 61}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMeshShaderFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 60}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 59}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiDrawFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION, 58}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION, 57}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION, 56}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePerformanceQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 55}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineCreationCacheControlFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 54}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION, 53}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelinePropertiesFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT, VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME, VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION, 52}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePortabilitySubsetFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 51}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePresentIdFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 50}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePresentWaitFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR, VK_KHR_PRESENT_WAIT_EXTENSION_NAME, VK_KHR_PRESENT_WAIT_SPEC_VERSION, 49}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT, VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME, VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION, 48}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION, 47}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrivateDataFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 46}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 45}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProvokingVertexFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION, 44}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR, VK_KHR_RAY_QUERY_EXTENSION_NAME, VK_KHR_RAY_QUERY_SPEC_VERSION, 43}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR, VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME, VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION, 42}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV, VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME, VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION, 41}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 40}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 39}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT, VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME, VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION, 38}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRobustness2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 37}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSamplerYcbcrConversionFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, 36}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceScalarBlockLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 35}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION, 34}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION, 33}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION, 32}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicInt64Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 31}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderClockFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR, VK_KHR_SHADER_CLOCK_EXTENSION_NAME, VK_KHR_SHADER_CLOCK_SPEC_VERSION, 30}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 29}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDrawParametersFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION, 28}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 115}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice4444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 114}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 113}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 112}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceASTCDecodeFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 111}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 110}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION, 109}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 108}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 107}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 106}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 105}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 104}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceConditionalRenderingFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 103}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCooperativeMatrixFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 102}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCornerSampledImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 101}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoverageReductionModeFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 100}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 99}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 98}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION, 97}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 96}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 95}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION, 94}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 93}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 92}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 91}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDynamicRenderingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION, 90}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExclusiveScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 89}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION, 88}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION, 87}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV, VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME, VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION, 86}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 85}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 84}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 83}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 82}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 81}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 80}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 79}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, DECL_KHR_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME, 0, 78}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION, 77}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceHostQueryResetFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 76}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImagelessFramebufferFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 75}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT, VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME, VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION, 74}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageCompressionControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT, VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION, 73}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION, 72}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageRobustnessFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 71}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageViewMinLodFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT, VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME, VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION, 70}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 69}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION, 68}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 67}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI, VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME, VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION, 66}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV, VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME, VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION, 65}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLineRasterizationFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 64}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMaintenance4Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, DECL_MAINTENANCE4_EXTENSION_NAME, 0, 63}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMemoryPriorityFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 62}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMeshShaderFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 61}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 60}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiDrawFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION, 59}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION, 58}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION, 57}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePerformanceQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 56}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineCreationCacheControlFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 55}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION, 54}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelinePropertiesFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT, VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME, VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION, 53}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePortabilitySubsetFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 52}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePresentIdFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 51}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePresentWaitFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR, VK_KHR_PRESENT_WAIT_EXTENSION_NAME, VK_KHR_PRESENT_WAIT_SPEC_VERSION, 50}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT, VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME, VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION, 49}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION, 48}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrivateDataFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 47}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 46}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProvokingVertexFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION, 45}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR, VK_KHR_RAY_QUERY_EXTENSION_NAME, VK_KHR_RAY_QUERY_SPEC_VERSION, 44}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR, VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME, VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION, 43}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV, VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME, VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION, 42}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 41}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 40}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT, VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME, VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION, 39}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRobustness2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 38}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSamplerYcbcrConversionFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, 37}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceScalarBlockLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 36}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION, 35}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION, 34}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION, 33}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicInt64Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 32}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderClockFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR, VK_KHR_SHADER_CLOCK_EXTENSION_NAME, VK_KHR_SHADER_CLOCK_SPEC_VERSION, 31}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 30}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDrawParametersFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION, 29}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD, VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME, VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION, 28}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderFloat16Int8Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 27}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION, 26}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderImageFootprintFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION, 25}; }
@@ -524,7 +527,7 @@
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION },
- { createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION },
+ { createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION },
@@ -578,6 +581,7 @@
{ createFeatureStructWrapper<VkPhysicalDeviceShaderClockFeaturesKHR>, VK_KHR_SHADER_CLOCK_EXTENSION_NAME, VK_KHR_SHADER_CLOCK_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceShaderDrawParametersFeatures>, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION },
+ { createFeatureStructWrapper<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD>, VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME, VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceShaderFloat16Int8Features>, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT>, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceShaderImageFootprintFeaturesNV>, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION },
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForContextDecl.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForContextDecl.inl
index 2e1742a..1bfafca 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForContextDecl.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForContextDecl.inl
@@ -36,7 +36,7 @@
const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT& getFragmentDensityMapFeaturesEXT (void) const;
const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& getFragmentDensityMap2FeaturesEXT (void) const;
const vk::VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& getFragmentDensityMapOffsetFeaturesQCOM (void) const;
-const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& getFragmentShaderBarycentricFeatures (void) const;
+const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR& getFragmentShaderBarycentricFeatures (void) const;
const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& getFragmentShaderInterlockFeaturesEXT (void) const;
const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR& getFragmentShadingRateFeatures (void) const;
const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& getFragmentShadingRateEnumsFeatures (void) const;
@@ -90,6 +90,7 @@
const vk::VkPhysicalDeviceShaderClockFeaturesKHR& getShaderClockFeatures (void) const;
const vk::VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& getShaderDemoteToHelperInvocationFeatures (void) const;
const vk::VkPhysicalDeviceShaderDrawParametersFeatures& getShaderDrawParametersFeatures (void) const;
+const vk::VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD& getShaderEarlyAndLateFragmentTestsFeaturesAMD (void) const;
const vk::VkPhysicalDeviceShaderFloat16Int8Features& getShaderFloat16Int8Features (void) const;
const vk::VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT& getShaderImageAtomicInt64FeaturesEXT (void) const;
const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV& getShaderImageFootprintFeatures (void) const;
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForContextDefs.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForContextDefs.inl
index eddf0f2..cef61ed 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForContextDefs.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForContextDefs.inl
@@ -36,7 +36,7 @@
const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT& Context::getFragmentDensityMapFeaturesEXT (void) const { return m_device->getFragmentDensityMapFeaturesEXT(); }
const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& Context::getFragmentDensityMap2FeaturesEXT (void) const { return m_device->getFragmentDensityMap2FeaturesEXT(); }
const vk::VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& Context::getFragmentDensityMapOffsetFeaturesQCOM (void) const { return m_device->getFragmentDensityMapOffsetFeaturesQCOM(); }
-const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& Context::getFragmentShaderBarycentricFeatures (void) const { return m_device->getFragmentShaderBarycentricFeatures(); }
+const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR& Context::getFragmentShaderBarycentricFeatures (void) const { return m_device->getFragmentShaderBarycentricFeatures(); }
const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& Context::getFragmentShaderInterlockFeaturesEXT (void) const { return m_device->getFragmentShaderInterlockFeaturesEXT(); }
const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR& Context::getFragmentShadingRateFeatures (void) const { return m_device->getFragmentShadingRateFeatures(); }
const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& Context::getFragmentShadingRateEnumsFeatures (void) const { return m_device->getFragmentShadingRateEnumsFeatures(); }
@@ -90,6 +90,7 @@
const vk::VkPhysicalDeviceShaderClockFeaturesKHR& Context::getShaderClockFeatures (void) const { return m_device->getShaderClockFeatures(); }
const vk::VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& Context::getShaderDemoteToHelperInvocationFeatures (void) const { return m_device->getShaderDemoteToHelperInvocationFeatures(); }
const vk::VkPhysicalDeviceShaderDrawParametersFeatures& Context::getShaderDrawParametersFeatures (void) const { return m_device->getShaderDrawParametersFeatures(); }
+const vk::VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD& Context::getShaderEarlyAndLateFragmentTestsFeaturesAMD (void) const { return m_device->getShaderEarlyAndLateFragmentTestsFeaturesAMD(); }
const vk::VkPhysicalDeviceShaderFloat16Int8Features& Context::getShaderFloat16Int8Features (void) const { return m_device->getShaderFloat16Int8Features(); }
const vk::VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT& Context::getShaderImageAtomicInt64FeaturesEXT (void) const { return m_device->getShaderImageAtomicInt64FeaturesEXT(); }
const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV& Context::getShaderImageFootprintFeatures (void) const { return m_device->getShaderImageFootprintFeatures(); }
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl
index efde2d3..5149759 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl
@@ -36,7 +36,7 @@
const VkPhysicalDeviceFragmentDensityMapFeaturesEXT& getFragmentDensityMapFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>(); }
const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& getFragmentDensityMap2FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(); }
const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& getFragmentDensityMapOffsetFeaturesQCOM (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(); }
-const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& getFragmentShaderBarycentricFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(); }
+const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR& getFragmentShaderBarycentricFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>(); }
const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& getFragmentShaderInterlockFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(); }
const VkPhysicalDeviceFragmentShadingRateFeaturesKHR& getFragmentShadingRateFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(); }
const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& getFragmentShadingRateEnumsFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(); }
@@ -90,6 +90,7 @@
const VkPhysicalDeviceShaderClockFeaturesKHR& getShaderClockFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderClockFeaturesKHR>(); }
const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& getShaderDemoteToHelperInvocationFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>(); }
const VkPhysicalDeviceShaderDrawParametersFeatures& getShaderDrawParametersFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDrawParametersFeatures>(); }
+const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD& getShaderEarlyAndLateFragmentTestsFeaturesAMD (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD>(); }
const VkPhysicalDeviceShaderFloat16Int8Features& getShaderFloat16Int8Features (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderFloat16Int8Features>(); }
const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT& getShaderImageAtomicInt64FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT>(); }
const VkPhysicalDeviceShaderImageFootprintFeaturesNV& getShaderImageFootprintFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderImageFootprintFeaturesNV>(); }
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceProperties.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceProperties.inl
index 3d7fec4..f92b66c 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceProperties.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceProperties.inl
@@ -23,6 +23,7 @@
#define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
#define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
+#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric"
#define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
#define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library"
@@ -231,6 +232,7 @@
template<> void initPropertyFromBlob<VkPhysicalDevicePerformanceQueryPropertiesKHR>(VkPhysicalDevicePerformanceQueryPropertiesKHR&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>(VkPhysicalDeviceFragmentShadingRatePropertiesKHR&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&, const AllPropertiesBlobs&) {}
+template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>(VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDeviceTransformFeedbackPropertiesEXT>(VkPhysicalDeviceTransformFeedbackPropertiesEXT&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX>(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDeviceDiscardRectanglePropertiesEXT>(VkPhysicalDeviceDiscardRectanglePropertiesEXT&, const AllPropertiesBlobs&) {}
@@ -267,22 +269,23 @@
template<> void initPropertyFromBlob<VkPhysicalDevicePortabilitySubsetPropertiesKHR>(VkPhysicalDevicePortabilitySubsetPropertiesKHR&, const AllPropertiesBlobs&) {}
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceAccelerationStructurePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 50}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 49}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceConservativeRasterizationPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME, VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION, 48}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCooperativeMatrixPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 47}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCustomBorderColorPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 46}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDepthStencilResolveProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION, 45}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDescriptorIndexingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 44}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 43}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDiscardRectanglePropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT, VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME, VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION, 42}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDriverProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION, 41}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDrmPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION, 40}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceExternalMemoryHostPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT, VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION, 39}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFloatControlsProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION, 38}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 37}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 36}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 35}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceAccelerationStructurePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 51}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 50}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceConservativeRasterizationPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME, VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION, 49}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCooperativeMatrixPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 48}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCustomBorderColorPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 47}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDepthStencilResolveProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION, 46}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDescriptorIndexingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 45}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 44}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDiscardRectanglePropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT, VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME, VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION, 43}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDriverProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION, 42}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDrmPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION, 41}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceExternalMemoryHostPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT, VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION, 40}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFloatControlsProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION, 39}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 38}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 37}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 36}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 35}; }
template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 34}; }
template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 33}; }
template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION, 32}; }
@@ -337,6 +340,7 @@
{ createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION },
+ { createPropertyStructWrapper<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION },
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForContextDecl.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForContextDecl.inl
index 0bfe76d..fe2c339 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForContextDecl.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForContextDecl.inl
@@ -19,6 +19,7 @@
const vk::VkPhysicalDeviceFragmentDensityMapPropertiesEXT& getFragmentDensityMapPropertiesEXT (void) const;
const vk::VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& getFragmentDensityMap2PropertiesEXT (void) const;
const vk::VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& getFragmentDensityMapOffsetPropertiesQCOM (void) const;
+const vk::VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR& getFragmentShaderBarycentricProperties (void) const;
const vk::VkPhysicalDeviceFragmentShadingRatePropertiesKHR& getFragmentShadingRateProperties (void) const;
const vk::VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& getFragmentShadingRateEnumsProperties (void) const;
const vk::VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT& getGraphicsPipelineLibraryPropertiesEXT (void) const;
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForContextDefs.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForContextDefs.inl
index 6529437..88629fc 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForContextDefs.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForContextDefs.inl
@@ -19,6 +19,7 @@
const vk::VkPhysicalDeviceFragmentDensityMapPropertiesEXT& Context::getFragmentDensityMapPropertiesEXT (void) const { return m_device->getFragmentDensityMapPropertiesEXT(); }
const vk::VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& Context::getFragmentDensityMap2PropertiesEXT (void) const { return m_device->getFragmentDensityMap2PropertiesEXT(); }
const vk::VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& Context::getFragmentDensityMapOffsetPropertiesQCOM (void) const { return m_device->getFragmentDensityMapOffsetPropertiesQCOM(); }
+const vk::VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR& Context::getFragmentShaderBarycentricProperties (void) const { return m_device->getFragmentShaderBarycentricProperties(); }
const vk::VkPhysicalDeviceFragmentShadingRatePropertiesKHR& Context::getFragmentShadingRateProperties (void) const { return m_device->getFragmentShadingRateProperties(); }
const vk::VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& Context::getFragmentShadingRateEnumsProperties (void) const { return m_device->getFragmentShadingRateEnumsProperties(); }
const vk::VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT& Context::getGraphicsPipelineLibraryPropertiesEXT (void) const { return m_device->getGraphicsPipelineLibraryPropertiesEXT(); }
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl
index 3924900..4f57e22 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl
@@ -19,6 +19,7 @@
const VkPhysicalDeviceFragmentDensityMapPropertiesEXT& getFragmentDensityMapPropertiesEXT (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>(); }
const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& getFragmentDensityMap2PropertiesEXT (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(); }
const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& getFragmentDensityMapOffsetPropertiesQCOM (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(); }
+const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR& getFragmentShaderBarycentricProperties (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>(); }
const VkPhysicalDeviceFragmentShadingRatePropertiesKHR& getFragmentShadingRateProperties (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>(); }
const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& getFragmentShadingRateEnumsProperties (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>(); }
const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT& getGraphicsPipelineLibraryPropertiesEXT (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>(); }
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkExtensionFunctions.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkExtensionFunctions.inl
index 1d5212b..c7f0486 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkExtensionFunctions.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkExtensionFunctions.inl
@@ -316,6 +316,10 @@
{
return;
}
+ if (extName == "VK_KHR_fragment_shader_barycentric")
+ {
+ return;
+ }
if (extName == "VK_KHR_shader_subgroup_uniform_control_flow")
{
return;
@@ -893,6 +897,10 @@
{
return;
}
+ if (extName == "VK_AMD_shader_early_and_late_fragment_tests")
+ {
+ return;
+ }
if (extName == "VK_NV_fragment_shading_rate_enums")
{
return;
@@ -1548,6 +1556,10 @@
functions.push_back("vkQueueSubmit2KHR");
return;
}
+ if (extName == "VK_KHR_fragment_shader_barycentric")
+ {
+ return;
+ }
if (extName == "VK_KHR_shader_subgroup_uniform_control_flow")
{
return;
@@ -2223,6 +2235,10 @@
{
return;
}
+ if (extName == "VK_AMD_shader_early_and_late_fragment_tests")
+ {
+ return;
+ }
if (extName == "VK_NV_fragment_shading_rate_enums")
{
functions.push_back("vkCmdSetFragmentShadingRateEnumNV");
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkGetStructureTypeImpl.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkGetStructureTypeImpl.inl
index 0717b2a..51a1618 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkGetStructureTypeImpl.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkGetStructureTypeImpl.inl
@@ -1383,6 +1383,16 @@
return VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV;
}
+template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR;
+}
+
template<> VkStructureType getStructureType<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR> (void)
{
return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR;
@@ -1893,11 +1903,6 @@
return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV;
}
-template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV> (void)
-{
- return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV;
-}
-
template<> VkStructureType getStructureType<VkPhysicalDeviceShaderImageFootprintFeaturesNV> (void)
{
return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV;
@@ -2263,6 +2268,11 @@
return VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT;
}
+template<> VkStructureType getStructureType<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD> (void)
+{
+ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD;
+}
+
template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV> (void)
{
return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV;
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkStrUtil.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkStrUtil.inl
index bb1c221..4bbc6d1 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkStrUtil.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkStrUtil.inl
@@ -5,9 +5,9 @@
const char* getResultName (VkResult value);
const char* getStructureTypeName (VkStructureType value);
+const char* getPipelineCacheHeaderVersionName (VkPipelineCacheHeaderVersion value);
const char* getImageLayoutName (VkImageLayout value);
const char* getObjectTypeName (VkObjectType value);
-const char* getPipelineCacheHeaderVersionName (VkPipelineCacheHeaderVersion value);
const char* getVendorIdName (VkVendorId value);
const char* getSystemAllocationScopeName (VkSystemAllocationScope value);
const char* getInternalAllocationTypeName (VkInternalAllocationType value);
@@ -126,9 +126,9 @@
inline tcu::Format::Enum<VkResult> getResultStr (VkResult value) { return tcu::Format::Enum<VkResult>(getResultName, value); }
inline tcu::Format::Enum<VkStructureType> getStructureTypeStr (VkStructureType value) { return tcu::Format::Enum<VkStructureType>(getStructureTypeName, value); }
+inline tcu::Format::Enum<VkPipelineCacheHeaderVersion> getPipelineCacheHeaderVersionStr (VkPipelineCacheHeaderVersion value) { return tcu::Format::Enum<VkPipelineCacheHeaderVersion>(getPipelineCacheHeaderVersionName, value); }
inline tcu::Format::Enum<VkImageLayout> getImageLayoutStr (VkImageLayout value) { return tcu::Format::Enum<VkImageLayout>(getImageLayoutName, value); }
inline tcu::Format::Enum<VkObjectType> getObjectTypeStr (VkObjectType value) { return tcu::Format::Enum<VkObjectType>(getObjectTypeName, value); }
-inline tcu::Format::Enum<VkPipelineCacheHeaderVersion> getPipelineCacheHeaderVersionStr (VkPipelineCacheHeaderVersion value) { return tcu::Format::Enum<VkPipelineCacheHeaderVersion>(getPipelineCacheHeaderVersionName, value); }
inline tcu::Format::Enum<VkVendorId> getVendorIdStr (VkVendorId value) { return tcu::Format::Enum<VkVendorId>(getVendorIdName, value); }
inline tcu::Format::Enum<VkSystemAllocationScope> getSystemAllocationScopeStr (VkSystemAllocationScope value) { return tcu::Format::Enum<VkSystemAllocationScope>(getSystemAllocationScopeName, value); }
inline tcu::Format::Enum<VkInternalAllocationType> getInternalAllocationTypeStr (VkInternalAllocationType value) { return tcu::Format::Enum<VkInternalAllocationType>(getInternalAllocationTypeName, value); }
@@ -247,9 +247,9 @@
inline std::ostream& operator<< (std::ostream& s, VkResult value) { return s << getResultStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkStructureType value) { return s << getStructureTypeStr(value); }
+inline std::ostream& operator<< (std::ostream& s, VkPipelineCacheHeaderVersion value) { return s << getPipelineCacheHeaderVersionStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkImageLayout value) { return s << getImageLayoutStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkObjectType value) { return s << getObjectTypeStr(value); }
-inline std::ostream& operator<< (std::ostream& s, VkPipelineCacheHeaderVersion value) { return s << getPipelineCacheHeaderVersionStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkVendorId value) { return s << getVendorIdStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkSystemAllocationScope value) { return s << getSystemAllocationScopeStr(value); }
inline std::ostream& operator<< (std::ostream& s, VkInternalAllocationType value) { return s << getInternalAllocationTypeStr(value); }
@@ -884,6 +884,8 @@
std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePresentIdFeaturesKHR& value);
std::ostream& operator<< (std::ostream& s, const VkQueueFamilyCheckpointProperties2NV& value);
std::ostream& operator<< (std::ostream& s, const VkCheckpointData2NV& value);
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR& value);
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR& value);
@@ -1010,7 +1012,6 @@
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMeshShaderFeaturesNV& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMeshShaderPropertiesNV& value);
std::ostream& operator<< (std::ostream& s, const VkDrawMeshTasksIndirectCommandNV& value);
-std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderImageFootprintFeaturesNV& value);
std::ostream& operator<< (std::ostream& s, const VkPipelineViewportExclusiveScissorStateCreateInfoNV& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExclusiveScissorFeaturesNV& value);
@@ -1091,6 +1092,7 @@
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT& value);
std::ostream& operator<< (std::ostream& s, const VkGraphicsPipelineLibraryCreateInfoEXT& value);
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& value);
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& value);
std::ostream& operator<< (std::ostream& s, const VkPipelineFragmentShadingRateEnumStateCreateInfoNV& value);
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkStrUtilImpl.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkStrUtilImpl.inl
index 8f59a55..3ff56bd 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkStrUtilImpl.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkStrUtilImpl.inl
@@ -596,7 +596,6 @@
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV";
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV";
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV";
@@ -697,6 +696,9 @@
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT";
case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT";
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD";
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR";
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV";
@@ -781,6 +783,16 @@
}
}
+const char* getPipelineCacheHeaderVersionName (VkPipelineCacheHeaderVersion value)
+{
+ switch (value)
+ {
+ case VK_PIPELINE_CACHE_HEADER_VERSION_ONE: return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE";
+ case VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM: return "VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM";
+ default: return DE_NULL;
+ }
+}
+
const char* getImageLayoutName (VkImageLayout value)
{
switch (value)
@@ -872,16 +884,6 @@
}
}
-const char* getPipelineCacheHeaderVersionName (VkPipelineCacheHeaderVersion value)
-{
- switch (value)
- {
- case VK_PIPELINE_CACHE_HEADER_VERSION_ONE: return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE";
- case VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM: return "VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM";
- default: return DE_NULL;
- }
-}
-
const char* getVendorIdName (VkVendorId value)
{
switch (value)
@@ -4176,6 +4178,7 @@
tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV, "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV"),
tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV, "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV"),
tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV, "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV"),
+ tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV, "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV"),
tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV, "VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV"),
};
return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
@@ -9500,6 +9503,26 @@
return s;
}
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR& value)
+{
+ s << "VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tfragmentShaderBarycentric = " << value.fragmentShaderBarycentric << '\n';
+ s << '}';
+ return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR& value)
+{
+ s << "VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\ttriStripVertexOrderIndependentOfProvokingVertex = " << value.triStripVertexOrderIndependentOfProvokingVertex << '\n';
+ s << '}';
+ return s;
+}
+
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& value)
{
s << "VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR = {\n";
@@ -10993,16 +11016,6 @@
return s;
}
-std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& value)
-{
- s << "VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = {\n";
- s << "\tsType = " << value.sType << '\n';
- s << "\tpNext = " << value.pNext << '\n';
- s << "\tfragmentShaderBarycentric = " << value.fragmentShaderBarycentric << '\n';
- s << '}';
- return s;
-}
-
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderImageFootprintFeaturesNV& value)
{
s << "VkPhysicalDeviceShaderImageFootprintFeaturesNV = {\n";
@@ -11927,6 +11940,16 @@
return s;
}
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD& value)
+{
+ s << "VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD = {\n";
+ s << "\tsType = " << value.sType << '\n';
+ s << "\tpNext = " << value.pNext << '\n';
+ s << "\tshaderEarlyAndLateFragmentTests = " << value.shaderEarlyAndLateFragmentTests << '\n';
+ s << '}';
+ return s;
+}
+
std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& value)
{
s << "VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV = {\n";
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkStructTypes.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkStructTypes.inl
index 4aa683f..ad65887 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkStructTypes.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkStructTypes.inl
@@ -3580,6 +3580,20 @@
void* pCheckpointMarker;
};
+struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
+{
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 fragmentShaderBarycentric;
+};
+
+struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR
+{
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 triStripVertexOrderIndependentOfProvokingVertex;
+};
+
struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
{
VkStructureType sType;
@@ -4695,13 +4709,6 @@
uint32_t firstTask;
};
-struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
-{
- VkStructureType sType;
- void* pNext;
- VkBool32 fragmentShaderBarycentric;
-};
-
struct VkPhysicalDeviceShaderImageFootprintFeaturesNV
{
VkStructureType sType;
@@ -5386,6 +5393,13 @@
VkGraphicsPipelineLibraryFlagsEXT flags;
};
+struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
+{
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 shaderEarlyAndLateFragmentTests;
+};
+
struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
{
VkStructureType sType;
@@ -8332,6 +8346,8 @@
typedef VkPipelineInfoKHR VkPipelineInfoEXT;
+typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
+
typedef VkTransformMatrixKHR VkTransformMatrixNV;
typedef VkAabbPositionsKHR VkAabbPositionsNV;
diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkVulkan_c.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkVulkan_c.inl
index c9fa5cc..dadb61c 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkan/vkVulkan_c.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkVulkan_c.inl
@@ -1071,7 +1071,7 @@
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
// Version of this file
-#define VK_HEADER_VERSION 213
+#define VK_HEADER_VERSION 215
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
@@ -1119,7 +1119,6 @@
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
-#define VK_UUID_SIZE 16U
#define VK_ATTACHMENT_UNUSED (~0U)
#define VK_FALSE 0U
#define VK_LOD_CLAMP_NONE 1000.0F
@@ -1130,10 +1129,11 @@
#define VK_TRUE 1U
#define VK_WHOLE_SIZE (~0ULL)
#define VK_MAX_MEMORY_TYPES 32U
-#define VK_MAX_MEMORY_HEAPS 16U
#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
+#define VK_UUID_SIZE 16U
#define VK_MAX_EXTENSION_NAME_SIZE 256U
#define VK_MAX_DESCRIPTION_SIZE 256U
+#define VK_MAX_MEMORY_HEAPS 16U
typedef enum VkResult {
VK_SUCCESS = 0,
@@ -1767,7 +1767,6 @@
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
@@ -1876,6 +1875,9 @@
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001,
VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
@@ -2060,6 +2062,7 @@
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
@@ -2127,6 +2130,11 @@
VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkStructureType;
+typedef enum VkPipelineCacheHeaderVersion {
+ VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
+ VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
+} VkPipelineCacheHeaderVersion;
+
typedef enum VkImageLayout {
VK_IMAGE_LAYOUT_UNDEFINED = 0,
VK_IMAGE_LAYOUT_GENERAL = 1,
@@ -2236,11 +2244,6 @@
VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkObjectType;
-typedef enum VkPipelineCacheHeaderVersion {
- VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
- VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
-} VkPipelineCacheHeaderVersion;
-
typedef enum VkVendorId {
VK_VENDOR_ID_VIV = 0x10001,
VK_VENDOR_ID_VSI = 0x10002,
@@ -10400,6 +10403,23 @@
#endif
+#define VK_KHR_fragment_shader_barycentric 1
+#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
+#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric"
+typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 fragmentShaderBarycentric;
+} VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
+
+typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 triStripVertexOrderIndependentOfProvokingVertex;
+} VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR;
+
+
+
#define VK_KHR_shader_subgroup_uniform_control_flow 1
#define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
#define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
@@ -12958,11 +12978,7 @@
#define VK_NV_fragment_shader_barycentric 1
#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
-typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
- VkStructureType sType;
- void* pNext;
- VkBool32 fragmentShaderBarycentric;
-} VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
+typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
@@ -14249,13 +14265,14 @@
#define VK_NV_device_diagnostics_config 1
-#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
+#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2
#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
+ VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008,
VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
} VkDeviceDiagnosticsConfigFlagBitsNV;
typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
@@ -14311,6 +14328,17 @@
+#define VK_AMD_shader_early_and_late_fragment_tests 1
+#define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1
+#define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests"
+typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 shaderEarlyAndLateFragmentTests;
+} VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD;
+
+
+
#define VK_NV_fragment_shading_rate_enums 1
#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
diff --git a/external/vulkancts/framework/vulkan/generated/vulkansc/vkDeviceExtensions.inl b/external/vulkancts/framework/vulkan/generated/vulkansc/vkDeviceExtensions.inl
index fde77c8..7900677 100644
--- a/external/vulkancts/framework/vulkan/generated/vulkansc/vkDeviceExtensions.inl
+++ b/external/vulkancts/framework/vulkan/generated/vulkansc/vkDeviceExtensions.inl
@@ -31,6 +31,7 @@
"VK_KHR_external_semaphore_fd",
"VK_KHR_external_semaphore_win32",
"VK_KHR_format_feature_flags2",
+ "VK_KHR_fragment_shader_barycentric",
"VK_KHR_fragment_shading_rate",
"VK_KHR_get_memory_requirements2",
"VK_KHR_global_priority",
diff --git a/external/vulkancts/framework/vulkan/vkShaderToSpirV.cpp b/external/vulkancts/framework/vulkan/vkShaderToSpirV.cpp
index 7203d95..7634312 100644
--- a/external/vulkancts/framework/vulkan/vkShaderToSpirV.cpp
+++ b/external/vulkancts/framework/vulkan/vkShaderToSpirV.cpp
@@ -368,11 +368,12 @@
void stripSpirVDebugInfo (const size_t numSrcInstrs, const deUint32* srcInstrs, std::vector<deUint32>* dst)
{
spv::spirvbin_t remapper;
+ std::vector<std::string> whiteListStrings;
// glslang operates in-place
dst->resize(numSrcInstrs);
std::copy(srcInstrs, srcInstrs+numSrcInstrs, dst->begin());
- remapper.remap(*dst, spv::spirvbin_base_t::STRIP);
+ remapper.remap(*dst, whiteListStrings, spv::spirvbin_base_t::STRIP);
}
} // vk
diff --git a/external/vulkancts/modules/vulkan/CMakeLists.txt b/external/vulkancts/modules/vulkan/CMakeLists.txt
index 4529559..900545b 100644
--- a/external/vulkancts/modules/vulkan/CMakeLists.txt
+++ b/external/vulkancts/modules/vulkan/CMakeLists.txt
@@ -47,6 +47,7 @@
add_subdirectory(fragment_shading_rate)
add_subdirectory(reconvergence)
add_subdirectory(mesh_shader)
+add_subdirectory(fragment_shading_barycentric)
add_subdirectory(sc)
@@ -96,6 +97,7 @@
postmortem
reconvergence
mesh_shader
+ fragment_shading_barycentric
${DEQP_INL_DIR}
sc
)
@@ -166,6 +168,7 @@
deqp-vk-fragment-shading-rate
deqp-vk-reconvergence
deqp-vk-mesh-shader
+ deqp-vk-fragment-shading-barycentric
)
diff --git a/external/vulkancts/modules/vulkan/fragment_shading_barycentric/CMakeLists.txt b/external/vulkancts/modules/vulkan/fragment_shading_barycentric/CMakeLists.txt
new file mode 100644
index 0000000..b837c7a
--- /dev/null
+++ b/external/vulkancts/modules/vulkan/fragment_shading_barycentric/CMakeLists.txt
@@ -0,0 +1,18 @@
+include_directories(
+ ..
+ )
+
+set(DEQP_VK_FRAGMENT_SHADING_BARYCENTRIC_SRCS
+ vktFragmentShadingBarycentricTests.cpp
+ vktFragmentShadingBarycentricTests.hpp
+ )
+
+set(DEQP_VK_FRAGMENT_SHADING_BARYCENTRIC_LIBS
+ tcutil
+ vkutil
+ )
+
+PCH(DEQP_VK_FRAGMENT_SHADING_BARYCENTRIC_SRCS ../pch.cpp)
+
+add_library(deqp-vk-fragment-shading-barycentric STATIC ${DEQP_VK_FRAGMENT_SHADING_BARYCENTRIC_SRCS})
+target_link_libraries(deqp-vk-fragment-shading-barycentric ${DEQP_VK_FRAGMENT_SHADING_BARYCENTRIC_LIBS})
diff --git a/external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.cpp b/external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.cpp
new file mode 100644
index 0000000..34314ae
--- /dev/null
+++ b/external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.cpp
@@ -0,0 +1,1646 @@
+/*------------------------------------------------------------------------
+ * Vulkan Conformance Tests
+ * ------------------------
+ *
+ * Copyright (c) 2021 The Khronos Group Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *//*!
+ * \file
+ * \brief Fragment Shading Barycentric extention tests
+ *//*--------------------------------------------------------------------*/
+
+#include "vktFragmentShadingBarycentricTests.hpp"
+
+#include "vkDefs.hpp"
+
+#include "vktTestCase.hpp"
+#include "vktTestGroupUtil.hpp"
+#include "vkCmdUtil.hpp"
+#include "vkObjUtil.hpp"
+#include "vkBuilderUtil.hpp"
+#include "vkBarrierUtil.hpp"
+#include "vkBufferWithMemory.hpp"
+#include "vkImageWithMemory.hpp"
+#include "vkTypeUtil.hpp"
+#include "vkImageUtil.hpp"
+#include "tcuTestLog.hpp"
+#include "tcuStringTemplate.hpp"
+#include "tcuImageCompare.hpp"
+#include "tcuVectorUtil.hpp"
+
+#include <string>
+#include <vector>
+#include <map>
+
+namespace vkt
+{
+namespace FragmentShadingBarycentric
+{
+namespace
+{
+using namespace vk;
+using namespace vkt;
+
+using std::string;
+using std::vector;
+using std::map;
+using de::MovePtr;
+using tcu::mix;
+
+enum TestType
+{
+ TEST_TYPE_DATA = 0,
+ TEST_TYPE_WEIGHTS,
+};
+
+const size_t DATA_TEST_WIDTH = 8u;
+const size_t DATA_TEST_HEIGHT = 8u;
+const size_t WEIGHT_TEST_WIDTH = 128u;
+const size_t WEIGHT_TEST_HEIGHT = 128u;
+const float WEIGHT_TEST_SLOPE = 16.0f;
+
+struct TestParams
+{
+ TestType testType;
+ VkPrimitiveTopology topology;
+ bool dynamicIndexing;
+ size_t aggregate; // 0: value itself, 1:struct, 2+:Array
+ glu::DataType dataType;
+ size_t width;
+ size_t height;
+ bool perspective;
+ bool provokingVertexLast;
+ uint32_t rotation;
+ bool dynamicTopologyInPipeline;
+};
+
+size_t getComponentCount (const TestParams& testParams)
+{
+ const size_t scalarSize = static_cast<size_t>(getDataTypeScalarSize(testParams.dataType));
+ const size_t aggregateSize = (testParams.aggregate > 0) ? testParams.aggregate : 1;
+ const size_t topologySize = 3; // Test always check three items in array: "Reads of per-vertex values for missing vertices, such as the third vertex of a line primitive, will return zero."
+ const size_t result = scalarSize * aggregateSize * topologySize;
+
+ return result;
+}
+
+static VkImageCreateInfo makeImageCreateInfo (const VkFormat format, const uint32_t width, uint32_t height)
+{
+ const VkImageUsageFlags usage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+ const VkImageCreateInfo imageCreateInfo =
+ {
+ VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ 0u, // VkImageCreateFlags flags;
+ VK_IMAGE_TYPE_2D, // VkImageType imageType;
+ format, // VkFormat format;
+ makeExtent3D(width, height, 1u), // VkExtent3D extent;
+ 1u, // uint32_t mipLevels;
+ 1u, // uint32_t arrayLayers;
+ VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits samples;
+ VK_IMAGE_TILING_OPTIMAL, // VkImageTiling tiling;
+ usage, // VkImageUsageFlags usage;
+ VK_SHARING_MODE_EXCLUSIVE, // VkSharingMode sharingMode;
+ 0u, // uint32_t queueFamilyIndexCount;
+ DE_NULL, // const uint32_t* pQueueFamilyIndices;
+ VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout initialLayout;
+ };
+
+ return imageCreateInfo;
+}
+
+static Move<VkPipeline> makeGraphicsPipeline (const DeviceInterface& vkd,
+ const VkDevice device,
+ const VkPipelineLayout pipelineLayout,
+ const VkRenderPass renderPass,
+ const VkShaderModule vertShaderModule,
+ const VkShaderModule fragShaderModule,
+ const uint32_t width,
+ const uint32_t height,
+ const VkPrimitiveTopology topology,
+ const bool withColor = false,
+ const bool provokingVertexLast = false,
+ const bool dynamicTopology = false)
+{
+ const std::vector<VkViewport> viewports (1, makeViewport(width, height));
+ const std::vector<VkRect2D> scissors (1, makeRect2D(width, height));
+ const VkVertexInputBindingDescription vertexInputBindingDescription =
+ {
+ 0u, // uint32_t binding;
+ 2 * sizeof(tcu::Vec4), // uint32_t stride;
+ VK_VERTEX_INPUT_RATE_VERTEX, // VkVertexInputRate inputRate;
+ };
+ const VkVertexInputAttributeDescription vertexInputAttributeDescriptions[] =
+ {
+ {
+ 0u, // uint32_t location;
+ 0u, // uint32_t binding;
+ VK_FORMAT_R32G32B32A32_SFLOAT, // VkFormat format;
+ 0u // uint32_t offset;
+ },
+ {
+ 1u, // uint32_t location;
+ 0u, // uint32_t binding;
+ VK_FORMAT_R32G32B32A32_SFLOAT, // VkFormat format;
+ sizeof(tcu::Vec4) // uint32_t offset;
+ },
+ };
+ const VkPipelineVertexInputStateCreateInfo vertexInputStateInfo =
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ (VkPipelineVertexInputStateCreateFlags)0, // VkPipelineVertexInputStateCreateFlags flags;
+ 1u, // uint32_t vertexBindingDescriptionCount;
+ &vertexInputBindingDescription, // const VkVertexInputBindingDescription* pVertexBindingDescriptions;
+ DE_LENGTH_OF_ARRAY(vertexInputAttributeDescriptions), // uint32_t vertexAttributeDescriptionCount;
+ vertexInputAttributeDescriptions, // const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
+ };
+ const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT provokingVertexStateCreateInfoEXT =
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT, // VkProvokingVertexModeEXT provokingVertexMode;
+ };
+ const VkPipelineRasterizationStateCreateInfo rasterizationStateCreateInfo =
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO, // VkStructureType sType;
+ provokingVertexLast ? &provokingVertexStateCreateInfoEXT : DE_NULL, // const void* pNext;
+ 0u, // VkPipelineRasterizationStateCreateFlags flags;
+ VK_FALSE, // VkBool32 depthClampEnable;
+ DE_FALSE, // VkBool32 rasterizerDiscardEnable;
+ VK_POLYGON_MODE_FILL, // VkPolygonMode polygonMode;
+ VK_CULL_MODE_NONE, // VkCullModeFlags cullMode;
+ VK_FRONT_FACE_COUNTER_CLOCKWISE, // VkFrontFace frontFace;
+ VK_FALSE, // VkBool32 depthBiasEnable;
+ 0.0f, // float depthBiasConstantFactor;
+ 0.0f, // float depthBiasClamp;
+ 0.0f, // float depthBiasSlopeFactor;
+ 1.0f // float lineWidth;
+ };
+ const VkDynamicState dynamicStates[] =
+ {
+ VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
+ };
+ const VkPipelineDynamicStateCreateInfo dynamicStateCreateInfo =
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ 0u, // VkPipelineDynamicStateCreateFlags flags;
+ DE_LENGTH_OF_ARRAY(dynamicStates), // uint32_t dynamicStateCount;
+ dynamicStates, // const VkDynamicState* pDynamicStates;
+ };
+ const VkPipelineDynamicStateCreateInfo* pDynamicStateCreateInfo = dynamicTopology ? &dynamicStateCreateInfo : DE_NULL;
+
+ return makeGraphicsPipeline(vkd, // const DeviceInterface& vk,
+ device, // const VkDevice device,
+ pipelineLayout, // const VkPipelineLayout pipelineLayout,
+ vertShaderModule, // const VkShaderModule vertexShaderModule,
+ DE_NULL, // const VkShaderModule tessellationControlShaderModule,
+ DE_NULL, // const VkShaderModule tessellationEvalShaderModule,
+ DE_NULL, // const VkShaderModule geometryShaderModule,
+ fragShaderModule, // const VkShaderModule fragmentShaderModule,
+ renderPass, // const VkRenderPass renderPass,
+ viewports, // const std::vector<VkViewport>& viewports,
+ scissors, // const std::vector<VkRect2D>& scissors,
+ topology, // const VkPrimitiveTopology topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,
+ 0u, // const deUint32 subpass = 0u,
+ 0u, // const deUint32 patchControlPoints = 0u,
+ withColor ? &vertexInputStateInfo : DE_NULL, // const VkPipelineVertexInputStateCreateInfo* vertexInputStateCreateInfo = DE_NULL,
+ &rasterizationStateCreateInfo, // const VkPipelineRasterizationStateCreateInfo* rasterizationStateCreateInfo = DE_NULL,
+ DE_NULL, // const VkPipelineMultisampleStateCreateInfo* multisampleStateCreateInfo = DE_NULL,
+ DE_NULL, // const VkPipelineDepthStencilStateCreateInfo* depthStencilStateCreateInfo = DE_NULL,
+ DE_NULL, // const VkPipelineColorBlendStateCreateInfo* colorBlendStateCreateInfo = DE_NULL,
+ pDynamicStateCreateInfo); // const VkPipelineDynamicStateCreateInfo* dynamicStateCreateInfo = DE_NULL,
+}
+
+// Function replacing all occurrences of substring with string passed in last parameter.
+static inline std::string replace(const std::string& str, const std::string& from, const std::string& to)
+{
+ std::string result(str);
+
+ size_t start_pos = 0;
+ while ((start_pos = result.find(from, start_pos)) != std::string::npos)
+ {
+ result.replace(start_pos, from.length(), to);
+ start_pos += to.length();
+ }
+
+ return result;
+}
+
+
+class FragmentShadingBarycentricDataTestInstance : public TestInstance
+{
+public:
+ FragmentShadingBarycentricDataTestInstance (Context& context,
+ const TestParams& testParams);
+ virtual ~FragmentShadingBarycentricDataTestInstance ();
+ virtual tcu::TestStatus iterate (void);
+
+protected:
+ vector<tcu::Vec4> generateVertexBuffer (void);
+ MovePtr<BufferWithMemory> createVertexBuffer (const vector<tcu::Vec4>& vertices);
+ bool verify (BufferWithMemory* resultBuffer);
+ bool getProvokingVertexLast (void);
+
+ TestParams m_testParams;
+};
+
+FragmentShadingBarycentricDataTestInstance::FragmentShadingBarycentricDataTestInstance (Context& context, const TestParams& testParams)
+ : TestInstance (context)
+ , m_testParams (testParams)
+{
+}
+
+FragmentShadingBarycentricDataTestInstance::~FragmentShadingBarycentricDataTestInstance ()
+{
+}
+
+vector<tcu::Vec4> FragmentShadingBarycentricDataTestInstance::generateVertexBuffer (void)
+{
+ size_t verticesCount = static_cast<size_t>(~0ull);
+ vector<tcu::Vec4> result;
+
+ switch (m_testParams.topology)
+ {
+ case VK_PRIMITIVE_TOPOLOGY_POINT_LIST:
+ {
+ verticesCount = m_testParams.width * m_testParams.height;
+
+ result.reserve(verticesCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float yy = -1.0f + 2.0f * ((0.5f + float(y)) / float(m_testParams.height));
+
+ for (size_t x = 0; x < m_testParams.width; x++)
+ {
+ const float xx = -1.0f + 2.0f * ((0.5f + float(x)) / float(m_testParams.width));
+
+ result.push_back(tcu::Vec4(xx, yy, 0.0f, 1.0f));
+ }
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_LIST:
+ {
+ verticesCount = 2 * m_testParams.height;
+
+ result.reserve(verticesCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float yy = -1.0f + 2.0f * ((0.5f + float(y)) / float(m_testParams.height));
+
+ result.push_back(tcu::Vec4(-1.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4( 1.0f, yy, 0.0f, 1.0f));
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP:
+ {
+ verticesCount = 2 * m_testParams.height;
+
+ result.reserve(verticesCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float yy = -1.0f + 2.0f * (0.5f + float(y)) / float(m_testParams.height);;
+
+ if (y % 2 == 0)
+ {
+ result.push_back(tcu::Vec4(-2.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+2.0f, yy, 0.0f, 1.0f));
+ }
+ else
+ {
+ result.push_back(tcu::Vec4(+2.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-2.0f, yy, 0.0f, 1.0f));
+ }
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST:
+ {
+ verticesCount = 6;
+
+ result.reserve(verticesCount);
+
+ result.push_back(tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f));
+
+ result.push_back(tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f));
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP:
+ {
+ verticesCount = 4;
+
+ result.reserve(verticesCount);
+
+ result.push_back(tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f));
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN:
+ {
+ verticesCount = 4;
+
+ result.reserve(verticesCount);
+
+ result.push_back(tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f));
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY:
+ {
+ verticesCount = 4 * m_testParams.height;
+
+ result.reserve(verticesCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float yy = -1.0f + 2.0f * ((0.5f + float(y)) / float(m_testParams.height));
+
+ result.push_back(tcu::Vec4(-2.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4( 1.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4( 2.0f, yy, 0.0f, 1.0f));
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY:
+ {
+ verticesCount = 2 * m_testParams.height + 2;
+
+ result.reserve(verticesCount);
+
+ result.push_back(tcu::Vec4(-10.0f, -10.0f, 0.0f, 1.0f));
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float ky = (0.5f + float(y)) / float(m_testParams.height);
+ const float yy = -1.0f + 2.0f * ky;
+
+ if (y % 2 == 0)
+ {
+ result.push_back(tcu::Vec4(-2.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+2.0f, yy, 0.0f, 1.0f));
+ }
+ else
+ {
+ result.push_back(tcu::Vec4(+2.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-2.0f, yy, 0.0f, 1.0f));
+ }
+ }
+
+ result.push_back(tcu::Vec4(+10.0f, +10.0f, 0.0f, 1.0f));
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:
+ {
+ verticesCount = 12;
+
+ result.reserve(verticesCount);
+
+ result.push_back(tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +3.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-3.0f, -1.0f, 0.0f, 1.0f));
+
+ result.push_back(tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+3.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, -3.0f, 0.0f, 1.0f));
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY:
+ {
+ verticesCount = 8;
+
+ result.reserve(verticesCount);
+
+ result.push_back(tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +3.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-3.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+3.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, -3.0f, 0.0f, 1.0f));
+
+ break;
+ }
+
+ default:
+ TCU_THROW(InternalError, "Unknown topology");
+ }
+
+ DE_ASSERT(result.size() == verticesCount);
+
+ return result;
+}
+
+bool FragmentShadingBarycentricDataTestInstance::verify (BufferWithMemory* resultBuffer)
+{
+ const size_t components = getComponentCount(m_testParams);
+ const deUint32 expected = static_cast<deUint32>(1<<components) - 1;
+ const deUint32* retrieved = (deUint32*)resultBuffer->getAllocation().getHostPtr();
+ size_t failures = 0;
+
+ {
+ size_t n = 0;
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ for (size_t x = 0; x < m_testParams.width; x++)
+ {
+ if (retrieved[n] != expected)
+ failures++;
+
+ n++ ;
+ }
+ }
+
+ if (failures)
+ {
+ const uint8_t places = static_cast<uint8_t>(components / 4);
+ tcu::TestLog& log = m_context.getTestContext().getLog();
+ size_t n = 0;
+ std::ostringstream s;
+
+ s << "Expected mask:" << std::setfill('0') << std::hex << std::setw(places) << expected << std::endl;
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ for (size_t x = 0; x < m_testParams.width; x++)
+ {
+ s << std::setw(places) << retrieved[n] << ' ';
+
+ n++;
+ }
+
+ s << std::endl;
+ }
+
+ log << tcu::TestLog::Message << s.str() << tcu::TestLog::EndMessage;
+ }
+
+ return failures == 0;
+}
+
+MovePtr<BufferWithMemory> FragmentShadingBarycentricDataTestInstance::createVertexBuffer (const vector<tcu::Vec4>& vertices)
+{
+ const DeviceInterface& vkd = m_context.getDeviceInterface();
+ const VkDevice device = m_context.getDevice();
+ Allocator& allocator = m_context.getDefaultAllocator();
+ const VkDeviceSize vertexBufferSize = vertices.size() * sizeof(vertices[0]);
+ const VkBufferCreateInfo vertexBufferCreateInfo = makeBufferCreateInfo(vertexBufferSize, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT);
+ MovePtr<BufferWithMemory> vertexBuffer = MovePtr<BufferWithMemory>(new BufferWithMemory(vkd, device, allocator, vertexBufferCreateInfo, MemoryRequirement::HostVisible));
+ Allocation& vertexBufferAlloc = vertexBuffer->getAllocation();
+
+ // Initialize vertex data
+ deMemcpy(vertexBufferAlloc.getHostPtr(), vertices.data(), (size_t)vertexBufferSize);
+ flushAlloc(vkd, device, vertexBufferAlloc);
+
+ return vertexBuffer;
+}
+
+bool FragmentShadingBarycentricDataTestInstance::getProvokingVertexLast (void)
+{
+ if (m_testParams.provokingVertexLast && m_testParams.topology == VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP)
+ {
+ const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR& fragmentShaderBarycentricProperties = m_context.getFragmentShaderBarycentricProperties();
+
+ if (fragmentShaderBarycentricProperties.triStripVertexOrderIndependentOfProvokingVertex)
+ return false;
+ }
+
+ return m_testParams.provokingVertexLast;
+}
+
+tcu::TestStatus FragmentShadingBarycentricDataTestInstance::iterate (void)
+{
+ const DeviceInterface& vkd = m_context.getDeviceInterface();
+ const VkDevice device = m_context.getDevice();
+ const VkQueue queue = m_context.getUniversalQueue();
+ Allocator& allocator = m_context.getDefaultAllocator();
+ const uint32_t queueFamilyIndex = m_context.getUniversalQueueFamilyIndex();
+
+ const VkDeviceSize offsetZero = 0ull;
+ const VkFormat format = VK_FORMAT_R32_UINT;
+ const uint32_t pixelSize = mapVkFormat(format).getPixelSize();
+ const tcu::Vec4 clearColor = tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f);
+ const uint32_t width = static_cast<deUint32>(m_testParams.width);
+ const uint32_t height = static_cast<deUint32>(m_testParams.height);
+ const VkPrimitiveTopology topology = m_testParams.topology;
+ const bool withColor = false;
+ const bool provokingVertexLast = getProvokingVertexLast();
+
+ const vector<tcu::Vec4> vertices = generateVertexBuffer();
+ const uint32_t vertexCount = static_cast<uint32_t>(vertices.size());
+ MovePtr<BufferWithMemory> vertexBuffer = createVertexBuffer(vertices);
+
+ const VkImageCreateInfo imageCreateInfo = makeImageCreateInfo(format, width, height);
+ const VkImageSubresourceRange imageSubresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u);
+ const MovePtr<ImageWithMemory> image = MovePtr<ImageWithMemory>(new ImageWithMemory(vkd, device, allocator, imageCreateInfo, MemoryRequirement::Any));
+ const Move<VkImageView> imageView = makeImageView(vkd, device, **image, VK_IMAGE_VIEW_TYPE_2D, format, imageSubresourceRange);
+
+ const VkBufferCreateInfo resultBufferCreateInfo = makeBufferCreateInfo(width * height * pixelSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT);
+ MovePtr<BufferWithMemory> resultBuffer = MovePtr<BufferWithMemory>(new BufferWithMemory(vkd, device, allocator, resultBufferCreateInfo, MemoryRequirement::HostVisible));
+
+ const string shaderSuffix = (provokingVertexLast == m_testParams.provokingVertexLast) ? "" : "-forced";
+ const Move<VkShaderModule> vertModule = createShaderModule(vkd, device, m_context.getBinaryCollection().get("vert" + shaderSuffix), 0u);
+ const Move<VkShaderModule> fragModule = createShaderModule(vkd, device, m_context.getBinaryCollection().get("frag" + shaderSuffix), 0u);
+ const Move<VkRenderPass> renderPass = makeRenderPass(vkd, device, format);
+ const deUint32 pushConstants[] = { 0, 1, 2 };
+ const VkPushConstantRange pushConstantRange = makePushConstantRange(VK_SHADER_STAGE_FRAGMENT_BIT, 0, sizeof(pushConstants));
+ const VkPushConstantRange* pushConstantRangePtr = m_testParams.dynamicIndexing ? &pushConstantRange : DE_NULL;
+ const deUint32 pushConstantRangeCount = m_testParams.dynamicIndexing ? 1 : 0;
+ const Move<VkPipelineLayout> pipelineLayout = makePipelineLayout(vkd, device, 0, DE_NULL, pushConstantRangeCount, pushConstantRangePtr);
+ const Move<VkPipeline> pipeline = makeGraphicsPipeline(vkd, device, *pipelineLayout, *renderPass, *vertModule, *fragModule, width, height, topology, withColor, provokingVertexLast);
+
+ const Move<VkFramebuffer> framebuffer = makeFramebuffer(vkd, device, *renderPass, *imageView, width, height);
+
+ const Move<VkCommandPool> commandPool = createCommandPool(vkd, device, 0, queueFamilyIndex);
+ const Move<VkCommandBuffer> commandBuffer = allocateCommandBuffer(vkd, device, *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
+
+ beginCommandBuffer(vkd, *commandBuffer);
+ {
+ beginRenderPass(vkd, *commandBuffer, *renderPass, *framebuffer, makeRect2D(width, height), clearColor);
+
+ vkd.cmdBindPipeline(*commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *pipeline);
+
+ vkd.cmdBindVertexBuffers(*commandBuffer, 0u, 1u, &vertexBuffer->get(), &offsetZero);
+
+ if (m_testParams.dynamicIndexing)
+ vkd.cmdPushConstants(*commandBuffer, *pipelineLayout, VK_SHADER_STAGE_FRAGMENT_BIT, 0u, sizeof(pushConstants), &pushConstants);
+
+ vkd.cmdDraw(*commandBuffer, vertexCount, 1u, 0u, 0u);
+
+ endRenderPass(vkd, *commandBuffer);
+
+ copyImageToBuffer(vkd, *commandBuffer, image->get(), resultBuffer->get(), tcu::IVec2(width, height));
+ }
+
+ endCommandBuffer(vkd, *commandBuffer);
+ submitCommandsAndWait(vkd, device, queue, *commandBuffer);
+
+ invalidateMappedMemoryRange(vkd, device, resultBuffer->getAllocation().getMemory(), resultBuffer->getAllocation().getOffset(), VK_WHOLE_SIZE);
+
+ DE_ASSERT(8 * pixelSize >= getComponentCount(m_testParams));
+
+ if (verify(resultBuffer.get()))
+ return tcu::TestStatus::pass("Pass");
+ else
+ return tcu::TestStatus::fail("Fail");
+}
+
+
+class FragmentShadingBarycentricWeightTestInstance : public TestInstance
+{
+public:
+ FragmentShadingBarycentricWeightTestInstance (Context& context,
+ const TestParams& testParams);
+ virtual ~FragmentShadingBarycentricWeightTestInstance ();
+ virtual tcu::TestStatus iterate (void);
+
+protected:
+ void addVertexWithColor (vector<tcu::Vec4>& vertices,
+ const tcu::Vec4& vertex,
+ const tcu::Vec4& color);
+ vector<tcu::Vec4> generateVertexBuffer (void);
+ MovePtr<BufferWithMemory> createVertexBuffer (const vector<tcu::Vec4>& vertices);
+ bool verify (VkFormat format,
+ BufferWithMemory* referenceBuffer,
+ BufferWithMemory* resultBuffer);
+
+ TestParams m_testParams;
+};
+
+FragmentShadingBarycentricWeightTestInstance::FragmentShadingBarycentricWeightTestInstance (Context& context, const TestParams& testParams)
+ : TestInstance (context)
+ , m_testParams (testParams)
+{
+}
+
+FragmentShadingBarycentricWeightTestInstance::~FragmentShadingBarycentricWeightTestInstance ()
+{
+}
+
+void FragmentShadingBarycentricWeightTestInstance::addVertexWithColor (vector<tcu::Vec4>& vertices,
+ const tcu::Vec4& vertex,
+ const tcu::Vec4& color)
+{
+ vertices.push_back(vertex);
+ vertices.push_back(color);
+}
+
+vector<tcu::Vec4> FragmentShadingBarycentricWeightTestInstance::generateVertexBuffer (void)
+{
+ const float slope = WEIGHT_TEST_SLOPE;
+ const tcu::Vec4 leftBotColor = tcu::Vec4(0.00f, 0.00f, 0.00f, 1.0f);
+ const tcu::Vec4 leftTopColor = tcu::Vec4(1.00f, 0.00f, 0.00f, 1.0f);
+ const tcu::Vec4 rightTopColor = tcu::Vec4(0.00f, 1.00f, 0.00f, 1.0f);
+ const tcu::Vec4 rightBotColor = tcu::Vec4(0.00f, 0.00f, 1.00f, 1.0f);
+ const tcu::Vec4 noneColor = tcu::Vec4(0.25f, 0.50f, 0.75f, 1.0f);
+ size_t vertexCount = static_cast<size_t>(~0ull);
+ vector<tcu::Vec4> result;
+
+ DE_ASSERT(slope >= 1.0f);
+
+ switch (m_testParams.topology)
+ {
+ case VK_PRIMITIVE_TOPOLOGY_POINT_LIST:
+ {
+ vertexCount = m_testParams.width * m_testParams.height;
+
+ result.reserve(2 * vertexCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float ky = (0.5f + float(y)) / float(m_testParams.height);
+ const float yy = -1.0f + 2.0f * ky;
+ const tcu::Vec4 leftColor = mix(leftTopColor, leftBotColor, ky);
+ const tcu::Vec4 rightColor = mix(rightTopColor, rightBotColor, ky);
+
+ for (size_t x = 0; x < m_testParams.width; x++)
+ {
+ const float kx = (0.5f + float(x)) / float(m_testParams.width);
+ const float xx = -1.0f + 2.0f * kx;
+ const float pointSlope = 1.0f + kx * (slope - 1.0f);
+ const tcu::Vec4 point = tcu::Vec4(xx, yy, 0.0f, 1.0f) * pointSlope;
+ const tcu::Vec4 color = mix(leftColor, rightColor, kx);
+
+ addVertexWithColor(result, point, color);
+ }
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_LIST:
+ {
+ vertexCount = 2 * m_testParams.height;
+
+ result.reserve(2 * vertexCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float ky = (0.5f + float(y)) / float(m_testParams.height);
+ const float yy = -1.0f + 2.0f * ky;
+ const tcu::Vec4 leftColor = mix(leftTopColor, leftBotColor, ky);
+ const tcu::Vec4 rightColor = mix(rightTopColor, rightBotColor, ky);
+ const tcu::Vec4 left = tcu::Vec4(-1.0f, yy, 0.0f, 1.0f);
+ const tcu::Vec4 right = tcu::Vec4( 1.0f, yy, 0.0f, 1.0f) * slope;
+
+ addVertexWithColor(result, left, leftColor);
+ addVertexWithColor(result, right, rightColor);
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP:
+ {
+ vertexCount = 2 * m_testParams.height;
+
+ result.reserve(2 * vertexCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float ky = (0.5f + float(y)) / float(m_testParams.height);
+ const float yy = -1.0f + 2.0f * ky;
+ const tcu::Vec4 leftColor = mix(leftTopColor, leftBotColor, ky);
+ const tcu::Vec4 rightColor = mix(rightTopColor, rightBotColor, ky);
+ const tcu::Vec4 left = tcu::Vec4(-2.0f, yy, 0.0f, 1.0f);
+ const tcu::Vec4 right = tcu::Vec4( 2.0f, yy, 0.0f, 1.0f) * slope;
+
+ if (y % 2 == 0)
+ {
+ addVertexWithColor(result, left, leftColor);
+ addVertexWithColor(result, right, rightColor);
+ }
+ else
+ {
+ addVertexWithColor(result, right, rightColor);
+ addVertexWithColor(result, left, leftColor);
+ }
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST:
+ {
+ vertexCount = 6;
+
+ result.reserve(2 * vertexCount);
+
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f), leftTopColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f), leftBotColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f) * slope, rightBotColor);
+
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f) * slope, rightBotColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f) * slope, rightTopColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f), leftTopColor);
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP:
+ {
+ vertexCount = 4;
+
+ result.reserve(2 * vertexCount);
+
+ addVertexWithColor(result, tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f), leftBotColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f), leftTopColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f) * slope, rightBotColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f) * slope, rightTopColor);
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN:
+ {
+ vertexCount = 4;
+
+ result.reserve(2 * vertexCount);
+
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f), leftTopColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f), leftBotColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f) * slope, rightBotColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f) * slope, rightTopColor);
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY:
+ {
+ vertexCount = 4 * m_testParams.height;
+
+ result.reserve(2 * vertexCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float ky = (0.5f + float(y)) / float(m_testParams.height);
+ const float yy = -1.0f + 2.0f * ky;
+ const tcu::Vec4 leftColor = mix(leftTopColor, leftBotColor, ky);
+ const tcu::Vec4 rightColor = mix(rightTopColor, rightBotColor, ky);
+ const tcu::Vec4 preLeft = tcu::Vec4(-2.0f, yy, 0.0f, 1.0f);
+ const tcu::Vec4 left = tcu::Vec4(-1.0f, yy, 0.0f, 1.0f);
+ const tcu::Vec4 right = tcu::Vec4( 1.0f, yy, 0.0f, 1.0f) * slope;
+ const tcu::Vec4 afterRight = tcu::Vec4( 2.0f, yy, 0.0f, 1.0f) * slope;
+
+ addVertexWithColor(result, preLeft, noneColor);
+ addVertexWithColor(result, left, leftColor);
+ addVertexWithColor(result, right, rightColor);
+ addVertexWithColor(result, afterRight, noneColor);
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY:
+ {
+ vertexCount = 2 * m_testParams.height + 2;
+
+ result.reserve(2 * vertexCount);
+
+ addVertexWithColor(result, tcu::Vec4(-10.0f, -10.0f, 0.0f, 1.0f), noneColor);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float ky = (0.5f + float(y)) / float(m_testParams.height);
+ const float yy = -1.0f + 2.0f * ky;
+ const tcu::Vec4 leftColor = mix(leftTopColor, leftBotColor, ky);
+ const tcu::Vec4 rightColor = mix(rightTopColor, rightBotColor, ky);
+ const tcu::Vec4 left = tcu::Vec4(-2.0f, yy, 0.0f, 1.0f);
+ const tcu::Vec4 right = tcu::Vec4( 2.0f, yy, 0.0f, 1.0f) * slope;
+
+ if (y % 2 == 0)
+ {
+ addVertexWithColor(result, left, leftColor);
+ addVertexWithColor(result, right, rightColor);
+ }
+ else
+ {
+ addVertexWithColor(result, right, rightColor);
+ addVertexWithColor(result, left, leftColor);
+ }
+ }
+
+ addVertexWithColor(result, tcu::Vec4(+10.0f, +10.0f, 0.0f, 1.0f), noneColor);
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:
+ {
+ vertexCount = 12;
+
+ result.reserve(2 * vertexCount);
+
+ addVertexWithColor(result, tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f), leftBotColor);
+ addVertexWithColor(result, tcu::Vec4(-3.0f, +1.0f, 0.0f, 1.0f), noneColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f), leftTopColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f) * slope, noneColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f) * slope, rightBotColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +3.0f, 0.0f, 1.0f) * slope, noneColor);
+
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f), leftTopColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f), noneColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f) * slope, rightBotColor);
+ addVertexWithColor(result, tcu::Vec4(+3.0f, +1.0f, 0.0f, 1.0f) * slope, noneColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f) * slope, rightTopColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -3.0f, 0.0f, 1.0f), leftTopColor);
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY:
+ {
+ vertexCount = 8;
+
+ result.reserve(2 * vertexCount);
+
+ addVertexWithColor(result, tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f), leftBotColor);
+ addVertexWithColor(result, tcu::Vec4(-3.0f, -1.0f, 0.0f, 1.0f), noneColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f), leftTopColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +3.0f, 0.0f, 1.0f) * slope, noneColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f) * slope, rightBotColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -3.0f, 0.0f, 1.0f), noneColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f) * slope, rightTopColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +3.0f, 0.0f, 1.0f) * slope, noneColor);
+
+ break;
+ }
+
+ default:
+ TCU_THROW(InternalError, "Unknown topology");
+ }
+
+ DE_ASSERT(result.size() == 2 * vertexCount);
+
+ return result;
+}
+
+bool FragmentShadingBarycentricWeightTestInstance::verify (VkFormat format, BufferWithMemory* referenceBuffer, BufferWithMemory* resultBuffer)
+{
+ const deUint32* refernceData = (deUint32*)referenceBuffer->getAllocation().getHostPtr();
+ const deUint32* resultData = (deUint32*)resultBuffer->getAllocation().getHostPtr();
+ tcu::TestLog& log = m_context.getTestContext().getLog();
+ const tcu::ConstPixelBufferAccess refImage (mapVkFormat(format), (int)m_testParams.width, (int)m_testParams.height, 1u, refernceData);
+ const tcu::ConstPixelBufferAccess resultImage (mapVkFormat(format), (int)m_testParams.width, (int)m_testParams.height, 1u, resultData);
+ const tcu::UVec4 threshold (1, 1, 1, 1);
+ bool result = tcu::intThresholdCompare(log,
+ "ComparisonResult",
+ "Image comparison result",
+ refImage,
+ resultImage,
+ threshold,
+ tcu::COMPARE_LOG_ON_ERROR);
+
+ return result;
+}
+
+MovePtr<BufferWithMemory> FragmentShadingBarycentricWeightTestInstance::createVertexBuffer (const vector<tcu::Vec4>& vertices)
+{
+ const DeviceInterface& vkd = m_context.getDeviceInterface();
+ const VkDevice device = m_context.getDevice();
+ Allocator& allocator = m_context.getDefaultAllocator();
+ const VkDeviceSize vertexBufferSize = vertices.size() * sizeof(vertices[0]);
+ const VkBufferCreateInfo vertexBufferCreateInfo = makeBufferCreateInfo(vertexBufferSize, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT);
+ MovePtr<BufferWithMemory> vertexBuffer = MovePtr<BufferWithMemory>(new BufferWithMemory(vkd, device, allocator, vertexBufferCreateInfo, MemoryRequirement::HostVisible));
+ Allocation& vertexBufferAlloc = vertexBuffer->getAllocation();
+
+ // Initialize vertex data
+ deMemcpy(vertexBufferAlloc.getHostPtr(), vertices.data(), (size_t)vertexBufferSize);
+ flushAlloc(vkd, device, vertexBufferAlloc);
+
+ return vertexBuffer;
+}
+
+tcu::TestStatus FragmentShadingBarycentricWeightTestInstance::iterate (void)
+{
+ const DeviceInterface& vkd = m_context.getDeviceInterface();
+ const VkDevice device = m_context.getDevice();
+ const VkQueue queue = m_context.getUniversalQueue();
+ Allocator& allocator = m_context.getDefaultAllocator();
+ const uint32_t queueFamilyIndex = m_context.getUniversalQueueFamilyIndex();
+
+ const VkDeviceSize offsetZero = 0ull;
+ const VkFormat format = VK_FORMAT_R8G8B8A8_UNORM;
+ const uint32_t pixelSize = mapVkFormat(format).getPixelSize();
+ const tcu::Vec4 clearColor = tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f);
+ const uint32_t width = static_cast<deUint32>(m_testParams.width);
+ const uint32_t height = static_cast<deUint32>(m_testParams.height);
+ const bool dynamicStateTopology = m_testParams.dynamicTopologyInPipeline;
+ const VkPrimitiveTopology pipelineTopology = dynamicStateTopology ? primitiveTopologyCastToList(m_testParams.topology) : m_testParams.topology;
+ const bool withColor = true;
+ const bool provokingVertexLast = m_testParams.provokingVertexLast;
+ const float teta = deFloatRadians(-float(m_testParams.rotation));
+ const float mvp[4*4] =
+ {
+ cos(teta), -sin(teta), 0.0f, 0.0f,
+ sin(teta), cos(teta), 0.0f, 0.0f,
+ 0.0f, 0.0f, 1.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 1.0f
+ };
+ const vector<tcu::Vec4> vertices = generateVertexBuffer();
+ const uint32_t vertexCount = static_cast<uint32_t>(vertices.size() / 2);
+ MovePtr<BufferWithMemory> vertexBuffer = createVertexBuffer(vertices);
+
+ const VkBufferCreateInfo bufferCreateInfo = makeBufferCreateInfo(width * height * pixelSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT);
+ MovePtr<BufferWithMemory> resultBuffer = MovePtr<BufferWithMemory>(new BufferWithMemory(vkd, device, allocator, bufferCreateInfo, MemoryRequirement::HostVisible));
+ MovePtr<BufferWithMemory> referenceBuffer = MovePtr<BufferWithMemory>(new BufferWithMemory(vkd, device, allocator, bufferCreateInfo, MemoryRequirement::HostVisible));
+
+ const Move<VkRenderPass> renderPass = makeRenderPass(vkd, device, format);
+
+ const Move<VkCommandPool> commandPool = createCommandPool(vkd, device, 0, queueFamilyIndex);
+ const Move<VkShaderModule> vertModule = createShaderModule(vkd, device, m_context.getBinaryCollection().get("vert"), 0u);
+ const VkImageCreateInfo imageCreateInfo = makeImageCreateInfo(format, width, height);
+ const VkImageSubresourceRange imageSubresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u);
+ const VkClearValue clearValue = makeClearValueColorU32(0u, 0u, 0u, 0u);
+
+ for (size_t ndx = 0; ndx < 2; ndx++)
+ {
+ const MovePtr<ImageWithMemory> image = MovePtr<ImageWithMemory>(new ImageWithMemory(vkd, device, allocator, imageCreateInfo, MemoryRequirement::Any));
+ const Move<VkImageView> imageView = makeImageView(vkd, device, **image, VK_IMAGE_VIEW_TYPE_2D, format, imageSubresourceRange);
+ const Move<VkFramebuffer> framebuffer = makeFramebuffer(vkd, device, *renderPass, *imageView, width, height);
+ const Move<VkCommandBuffer> commandBuffer = allocateCommandBuffer(vkd, device, *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
+ const BufferWithMemory* buffer = (ndx == 0) ? resultBuffer.get() : referenceBuffer.get();
+ const string fragModuleName = (ndx == 0) ? "frag_test" : "frag_reference";
+ const Move<VkShaderModule> fragModule = createShaderModule(vkd, device, m_context.getBinaryCollection().get(fragModuleName), 0u);
+ const VkPushConstantRange pushConstantRange = makePushConstantRange(VK_SHADER_STAGE_VERTEX_BIT, 0, sizeof(mvp));
+ const Move<VkPipelineLayout> pipelineLayout = makePipelineLayout(vkd, device, 0, DE_NULL, 1, &pushConstantRange);
+ const Move<VkPipeline> pipeline = makeGraphicsPipeline(vkd, device, *pipelineLayout, *renderPass, *vertModule, *fragModule, width, height, pipelineTopology, withColor, provokingVertexLast, dynamicStateTopology);
+ const VkImageMemoryBarrier postImageBarrier = makeImageMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_GENERAL, **image, imageSubresourceRange);
+
+ beginCommandBuffer(vkd, *commandBuffer);
+ {
+ vkd.cmdClearColorImage(*commandBuffer, **image, VK_IMAGE_LAYOUT_GENERAL, &clearValue.color, 1, &imageSubresourceRange);
+
+ cmdPipelineImageMemoryBarrier(vkd, *commandBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, &postImageBarrier);
+
+ if (dynamicStateTopology)
+ vkd.cmdSetPrimitiveTopology(*commandBuffer, m_testParams.topology);
+
+ beginRenderPass(vkd, *commandBuffer, *renderPass, *framebuffer, makeRect2D(width, height), clearColor);
+ {
+ vkd.cmdBindPipeline(*commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *pipeline);
+
+ vkd.cmdBindVertexBuffers(*commandBuffer, 0u, 1u, &vertexBuffer->get(), &offsetZero);
+
+ vkd.cmdPushConstants(*commandBuffer, *pipelineLayout, VK_SHADER_STAGE_VERTEX_BIT, 0u, sizeof(mvp), &mvp);
+
+ vkd.cmdDraw(*commandBuffer, vertexCount, 1u, 0u, 0u);
+ }
+ endRenderPass(vkd, *commandBuffer);
+
+ copyImageToBuffer(vkd, *commandBuffer, image->get(), buffer->get(), tcu::IVec2(width, height));
+ }
+ endCommandBuffer(vkd, *commandBuffer);
+ submitCommandsAndWait(vkd, device, queue, *commandBuffer);
+
+ invalidateMappedMemoryRange(vkd, device, buffer->getAllocation().getMemory(), buffer->getAllocation().getOffset(), VK_WHOLE_SIZE);
+ }
+
+ if (verify(format, referenceBuffer.get(), resultBuffer.get()))
+ return tcu::TestStatus::pass("Pass");
+ else
+ return tcu::TestStatus::fail("Fail");
+}
+
+
+class FragmentShadingBarycentricTestCase : public TestCase
+{
+public:
+ FragmentShadingBarycentricTestCase (tcu::TestContext& context,
+ const char* name,
+ const char* desc,
+ const TestParams testParams);
+ ~FragmentShadingBarycentricTestCase (void);
+
+ virtual void checkSupport (Context& context) const;
+ virtual void initPrograms (SourceCollections& programCollection) const;
+ virtual TestInstance* createInstance (Context& context) const;
+
+private:
+ void initDataPrograms (SourceCollections& programCollection) const;
+ void initWeightPrograms (SourceCollections& programCollection) const;
+ string getDataPrimitiveFormula (void) const;
+ string getDataVertexFormula (const uint32_t vertex,
+ const bool* provokingVertexLastPtr = DE_NULL) const;
+
+ TestParams m_testParams;
+};
+
+FragmentShadingBarycentricTestCase::FragmentShadingBarycentricTestCase (tcu::TestContext& context, const char* name, const char* desc, const TestParams testParams)
+ : vkt::TestCase (context, name, desc)
+ , m_testParams (testParams)
+{
+}
+
+FragmentShadingBarycentricTestCase::~FragmentShadingBarycentricTestCase (void)
+{
+}
+
+void FragmentShadingBarycentricTestCase::checkSupport (Context& context) const
+{
+ context.requireDeviceFunctionality("VK_KHR_fragment_shader_barycentric");
+
+ const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR& fragmentShaderBarycentricFeatures = context.getFragmentShaderBarycentricFeatures();
+
+ if (!fragmentShaderBarycentricFeatures.fragmentShaderBarycentric)
+ TCU_THROW(NotSupportedError, "Requires VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR.fragmentShaderBarycentric");
+
+ if (m_testParams.provokingVertexLast)
+ {
+ context.requireDeviceFunctionality("VK_EXT_provoking_vertex");
+
+ const VkPhysicalDeviceProvokingVertexFeaturesEXT& provokingVertexFeaturesEXT = context.getProvokingVertexFeaturesEXT();
+
+ if (!provokingVertexFeaturesEXT.provokingVertexLast)
+ TCU_THROW(NotSupportedError, "Requires VkPhysicalDeviceProvokingVertexFeaturesEXT.provokingVertexLast");
+ }
+
+ if (m_testParams.dynamicTopologyInPipeline)
+ {
+ context.requireDeviceFunctionality("VK_EXT_extended_dynamic_state");
+
+ const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& extendedDynamicStateFeaturesEXT = context.getExtendedDynamicStateFeaturesEXT();
+
+ if (!extendedDynamicStateFeaturesEXT.extendedDynamicState)
+ TCU_THROW(NotSupportedError, "Requires VkPhysicalDeviceExtendedDynamicStateFeaturesEXT.extendedDynamicState");
+ }
+}
+
+TestInstance* FragmentShadingBarycentricTestCase::createInstance (Context& context) const
+{
+ switch (m_testParams.testType)
+ {
+ case TEST_TYPE_DATA: return new FragmentShadingBarycentricDataTestInstance(context, m_testParams);
+ case TEST_TYPE_WEIGHTS: return new FragmentShadingBarycentricWeightTestInstance(context, m_testParams);
+ default: TCU_THROW(InternalError, "Unknown testType");
+ }
+}
+
+void FragmentShadingBarycentricTestCase::initPrograms (SourceCollections& programCollection) const
+{
+ switch (m_testParams.testType)
+ {
+ case TEST_TYPE_DATA: initDataPrograms(programCollection); break;
+ case TEST_TYPE_WEIGHTS: initWeightPrograms(programCollection); break;
+ default: TCU_THROW(InternalError, "Unknown testType");
+ }
+}
+
+string FragmentShadingBarycentricTestCase::getDataPrimitiveFormula (void) const
+{
+ const char* primitiveFormulas[] =
+ {
+ "w * y + x", // VK_PRIMITIVE_TOPOLOGY_POINT_LIST
+ "y", // VK_PRIMITIVE_TOPOLOGY_LINE_LIST
+ "2*y", // VK_PRIMITIVE_TOPOLOGY_LINE_STRIP
+ "(x < y) ? 0 : 1", // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST
+ "(x < y) ? 0 : 1", // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP
+ "(x < y) ? 0 : 1", // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN
+ "y", // VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY
+ "2*y", // VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY
+ "(x < y) ? 0 : 1", // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY
+ "(x < y) ? 0 : 1", // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY
+ "NOT IMPLEMENTED", // VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
+ };
+
+ DE_STATIC_ASSERT(DE_LENGTH_OF_ARRAY(primitiveFormulas) == vk::VK_PRIMITIVE_TOPOLOGY_LAST);
+ DE_ASSERT(m_testParams.topology < DE_LENGTH_OF_ARRAY(primitiveFormulas));
+
+ return primitiveFormulas[m_testParams.topology];
+}
+
+string FragmentShadingBarycentricTestCase::getDataVertexFormula (const uint32_t vertex, const bool* provokingVertexLastPtr) const
+{
+ typedef const char* TriVertexFormula[3];
+
+ // Accoriding "Barycentric Interpolation" section
+ const TriVertexFormula topologyVertexFormulas[] =
+ {
+ { "p", "p", "p" }, // VK_PRIMITIVE_TOPOLOGY_POINT_LIST
+ { "2*p", "2*p+1", "2*p+1" }, // VK_PRIMITIVE_TOPOLOGY_LINE_LIST
+ { "p", "p+1", "p+1" }, // VK_PRIMITIVE_TOPOLOGY_LINE_STRIP
+ { "3*p", "3*p+1", "3*p+2" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST
+ { "p", "even?p+1:p+2", "even?p+2:p+1" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP
+ { "p+1", "p+2", "0" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN
+ { "4*p+1", "4*p+2", "4*p+2" }, // VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY
+ { "p+1", "p+2", "p+2" }, // VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY
+ { "6*p", "6*p+2", "6*p+4" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY
+ { "2*p", "even?2*p+2:2*p+4", "even?2*p+4:2*p+2" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY
+ { "", "", "" }, // VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
+ };
+ const TriVertexFormula topologyVertexFormulasLast[] =
+ {
+ { "even?p:p+1", "even?p+1:p", "p+2" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP
+ { "0", "p+1", "p+2" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN
+ { "even?2*p:2*p+2", "even?2*p+2:2*p", "2*p+4" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY
+ };
+ const bool provokingVertexLast = provokingVertexLastPtr ? (*provokingVertexLastPtr) : m_testParams.provokingVertexLast;
+ const bool provokingLastTriangleStrip = provokingVertexLast && m_testParams.topology == VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
+ const bool provokingLastTriangleFan = provokingVertexLast && m_testParams.topology == VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN;
+ const bool provokingLastTriangleStripAdj = provokingVertexLast && m_testParams.topology == VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY;
+ const TriVertexFormula* triVertexFormula = provokingLastTriangleStrip ? &topologyVertexFormulasLast[0]
+ : provokingLastTriangleFan ? &topologyVertexFormulasLast[1]
+ : provokingLastTriangleStripAdj ? &topologyVertexFormulasLast[2]
+ : &topologyVertexFormulas[static_cast<size_t>(m_testParams.topology)];
+
+ DE_STATIC_ASSERT(DE_LENGTH_OF_ARRAY(topologyVertexFormulas) == vk::VK_PRIMITIVE_TOPOLOGY_LAST);
+ DE_ASSERT(vertex < DE_LENGTH_OF_ARRAY(triVertexFormula[0]));
+
+ return "(" + string(triVertexFormula[0][vertex]) + ")";
+}
+
+void FragmentShadingBarycentricTestCase::initDataPrograms (SourceCollections& programCollection) const
+{
+ map<string, string> attributes;
+ const string primitiveType = string(getDataTypeName(m_testParams.dataType));
+ const string dataStructType = m_testParams.aggregate == 1 ? "struct DataStruct {" + primitiveType + " q;};" : "";
+ const string typePrefix = m_testParams.aggregate == 0 ? primitiveType
+ : m_testParams.aggregate == 1 ? "DataStruct"
+ : primitiveType;
+ const string typeSuffix = m_testParams.aggregate == 0 ? ""
+ : m_testParams.aggregate == 1 ? ""
+ : "[" + de::toString(m_testParams.aggregate) + "]";
+ const int scalarSize = getDataTypeScalarSize(m_testParams.dataType);
+ const string scalarName = getDataTypeName(getDataTypeScalarType(m_testParams.dataType));
+ const string vectoredInit = (scalarSize == 1) ? primitiveType + "(n)"
+ : (scalarSize == 2) ? primitiveType + "(" + scalarName + "(n), " + scalarName + "(2*n))"
+ : (scalarSize == 3) ? primitiveType + "(" + scalarName + "(n), " + scalarName + "(2*n), " + scalarName + "(4*n))"
+ : (scalarSize == 4) ? primitiveType + "(" + scalarName + "(n), " + scalarName + "(2*n), " + scalarName + "(4*n), " + scalarName + "(8*n))"
+ : "NOT IMPLEMENTED";
+ const string value = m_testParams.aggregate == 0 ? vectoredInit
+ : m_testParams.aggregate == 1 ? "DataStruct(" + vectoredInit + ")"
+ : m_testParams.aggregate == 2 ? primitiveType + "[2](" + vectoredInit + ", " + scalarName + "(3)*" + vectoredInit + ")"
+ : "NOT IMPLEMENTED";
+ const size_t componentCount = getComponentCount(m_testParams);
+ const string scalarized = (scalarSize == 1) ? "e${R},"
+ : (scalarSize == 2) ? "e${R}.x,e${R}.y,"
+ : (scalarSize == 3) ? "e${R}.x,e${R}.y,e${R}.z,"
+ : (scalarSize == 4) ? "e${R}.x,e${R}.y,e${R}.z,e${R}.w,"
+ : "NOT IMPLEMENTED";
+ const string deaggregated = m_testParams.aggregate == 0 ? replace(scalarized, "${R}", "${S}")
+ : m_testParams.aggregate == 1 ? replace(scalarized, "${R}", "${S}.q")
+ : m_testParams.aggregate == 2 ? replace(scalarized, "${R}", "${S}[0]") + replace(scalarized, "${R}", "${S}[1]")
+ : "NOT IMPLEMENTED";
+ const string unwrap = replace(deaggregated, "${S}", "A") + replace(deaggregated, "${S}", "B")+ replace(deaggregated, "${S}", "C");
+ const string expected = unwrap.substr(0, unwrap.size() - 1);
+ const string arrived = replace(expected, "e", "v");
+ const string dynamicIndexing = m_testParams.dynamicIndexing ? "layout(push_constant) uniform PushConstant { uint n[3]; } pc;\n" : "";
+ const string i0 = m_testParams.dynamicIndexing ? "pc.n[0]" : "0";
+ const string i1 = m_testParams.dynamicIndexing ? "pc.n[1]" : "1";
+ const string i2 = m_testParams.dynamicIndexing ? "pc.n[2]" : "2";
+ const string primitiveId = getDataPrimitiveFormula();
+ const string vertexFormula[] = { getDataVertexFormula(0), getDataVertexFormula(1), getDataVertexFormula(2) };
+ const tcu::StringTemplate vertShader (string(
+ "#version 450\n"
+ "#extension GL_EXT_fragment_shader_barycentric : require\n"
+ "\n"
+ "${dataStruct}\n"
+ "\n"
+ "layout(location = 0) in vec4 in_position;\n"
+ "layout(location = 0) out ${typePrefix} data${typeSuffix};\n"
+ "\n"
+ "out gl_PerVertex\n"
+ "{\n"
+ " vec4 gl_Position;\n"
+ " float gl_PointSize;\n"
+ "};\n"
+ "\n"
+ "void main()\n"
+ "{\n"
+ " const int n = gl_VertexIndex + 1;\n"
+ " data = ${value};\n"
+ " gl_PointSize = 1.0;\n"
+ " gl_Position = in_position;\n"
+ "}\n"));
+ const tcu::StringTemplate fragShader (
+ string("#version 450\n") +
+ "#extension GL_EXT_fragment_shader_barycentric : require\n"
+ "\n"
+ "${dataStruct}\n"
+ "\n"
+ "${dynamicIndexing}\n"
+ "layout(location = 0) pervertexEXT in ${typePrefix} data[]${typeSuffix};\n"
+ "layout(location = 0) out uvec4 out_color;\n"
+ "\n"
+ "void main()\n"
+ "{\n"
+ " const int w = " + de::toString(m_testParams.width) + ";\n"
+ " const int h = " + de::toString(m_testParams.height) + ";\n"
+ " const int x = int(gl_FragCoord.x - 0.5f);\n"
+ " const int y = int(gl_FragCoord.y - 0.5f);\n"
+ " const int p = ${primitiveId};\n"
+ " const bool even = (p%2 == 0);\n"
+ "\n"
+ " ${typePrefix} eA${typeSuffix}; { const int n = 1 + ${vertexFormula0}; eA = ${value}; }\n"
+ " ${typePrefix} eB${typeSuffix}; { const int n = 1 + ${vertexFormula1}; eB = ${value}; }\n"
+ " ${typePrefix} eC${typeSuffix}; { const int n = 1 + ${vertexFormula2}; eC = ${value}; }\n"
+ "\n"
+ " ${scalarName} e[${componentCount}] = { ${expected} };\n"
+ "\n"
+ " ${typePrefix} vA${typeSuffix}; { vA = " + string(m_testParams.aggregate == 2 ? "${typePrefix}${typeSuffix}(data[${i0}][0],data[${i0}][1])" : "data[${i0}]") + "; }\n"
+ " ${typePrefix} vB${typeSuffix}; { vB = " + string(m_testParams.aggregate == 2 ? "${typePrefix}${typeSuffix}(data[${i1}][0],data[${i1}][1])" : "data[${i1}]") + "; }\n"
+ " ${typePrefix} vC${typeSuffix}; { vC = " + string(m_testParams.aggregate == 2 ? "${typePrefix}${typeSuffix}(data[${i2}][0],data[${i2}][1])" : "data[${i2}]") + "; }\n"
+ " ${scalarName} v[${componentCount}] = { ${arrived} };\n"
+ "\n"
+ " int mask = 0;\n"
+ "\n"
+ " for (int i = 0; i<${componentCount}; i++)\n"
+ " if (e[i] == v[i])\n"
+ " mask = mask | (1<<i);\n"
+ "\n"
+ " out_color = uvec4(mask);\n"
+ "}\n");
+
+ attributes["typePrefix"] = typePrefix;
+ attributes["typeSuffix"] = typeSuffix;
+ attributes["value"] = value;
+ attributes["componentCount"] = de::toString(componentCount);
+ attributes["expected"] = expected;
+ attributes["arrived"] = arrived;
+ attributes["scalarName"] = scalarName;
+ attributes["dataStruct"] = dataStructType;
+ attributes["dynamicIndexing"] = dynamicIndexing;
+ attributes["primitiveId"] = primitiveId;
+ attributes["i0"] = i0;
+ attributes["i1"] = i1;
+ attributes["i2"] = i2;
+ attributes["vertexFormula0"] = vertexFormula[0];
+ attributes["vertexFormula1"] = vertexFormula[1];
+ attributes["vertexFormula2"] = vertexFormula[2];
+
+ if (isPrimitiveTopologyLine(m_testParams.topology))
+ {
+ DE_ASSERT(vertexFormula[2] == vertexFormula[1]);
+ }
+ else if (isPrimitiveTopologyPoint(m_testParams.topology))
+ {
+ DE_ASSERT(vertexFormula[2] == vertexFormula[1] && vertexFormula[1] == vertexFormula[0]);
+ }
+
+ programCollection.glslSources.add("vert") << glu::VertexSource(vertShader.specialize(attributes));
+ programCollection.glslSources.add("frag") << glu::FragmentSource(fragShader.specialize(attributes));
+
+ if (m_testParams.provokingVertexLast && m_testParams.topology == VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP)
+ {
+ const bool provokingVertexLast = false;
+
+ attributes["vertexFormula0"] = getDataVertexFormula(0, &provokingVertexLast);
+ attributes["vertexFormula1"] = getDataVertexFormula(1, &provokingVertexLast);
+ attributes["vertexFormula2"] = getDataVertexFormula(2, &provokingVertexLast);
+
+ programCollection.glslSources.add("vert-forced") << glu::VertexSource(vertShader.specialize(attributes));
+ programCollection.glslSources.add("frag-forced") << glu::FragmentSource(fragShader.specialize(attributes));
+ }
+}
+
+void FragmentShadingBarycentricTestCase::initWeightPrograms (SourceCollections& programCollection) const
+{
+ const string formulaeTemplate = "in_color[0] * ${coord}.x + in_color[1] * ${coord}.y + in_color[2] * ${coord}.z";
+ const string formulae = m_testParams.perspective
+ ? replace(formulaeTemplate, "${coord}", "gl_BaryCoordEXT")
+ : replace(formulaeTemplate, "${coord}", "gl_BaryCoordNoPerspEXT");
+ const string declspec = m_testParams.perspective ? "" : "noperspective";
+ const string vertShader =
+ "#version 450\n"
+ "\n"
+ "layout(location = 0) in vec4 in_position;\n"
+ "layout(location = 1) in vec4 in_color;\n"
+ "layout(location = 0) out vec3 color;\n"
+ "layout(push_constant) uniform PushConstant { mat4 mvp; } pc;\n"
+ "\n"
+ "void main()\n"
+ "{\n"
+ " color = in_color.xyz;\n"
+ " gl_Position = transpose(pc.mvp) * in_position;\n"
+ " gl_PointSize = 1.0;\n"
+ "}\n";
+ const tcu::StringTemplate fragShaderReference (string(
+ "#version 450\n"
+ "\n"
+ "layout(location = 0) ${declspec} in vec3 in_color;\n"
+ "layout(location = 0) out vec4 out_color;\n"
+ "\n"
+ "void main()\n"
+ "{\n"
+ " out_color = vec4(in_color, 1.0f);\n"
+ "}\n"));
+ const tcu::StringTemplate fragShaderTest (string(
+ "#version 450\n"
+ "#extension GL_EXT_fragment_shader_barycentric : require\n"
+ "\n"
+ "layout(location = 0) pervertexEXT in vec3 in_color[];\n"
+ "layout(location = 0) out vec4 out_color;\n"
+ "\n"
+ "void main()\n"
+ "{\n"
+ " out_color = vec4(${formulae}, 1.0f);\n"
+ "}\n"));
+ map<string, string> attributes;
+
+ attributes["formulae"] = formulae;
+ attributes["declspec"] = declspec;
+
+ programCollection.glslSources.add("vert") << glu::VertexSource(vertShader);
+ programCollection.glslSources.add("frag_reference") << glu::FragmentSource(fragShaderReference.specialize(attributes));
+ programCollection.glslSources.add("frag_test") << glu::FragmentSource(fragShaderTest.specialize(attributes));
+}
+} // anonymous
+
+tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx)
+{
+ const bool notused = false;
+ MovePtr<tcu::TestCaseGroup> group (new tcu::TestCaseGroup(testCtx, "fragment_shading_barycentric", "Tests fragment shading barycentric extension"));
+
+ const struct PrimitiveTestSpec
+ {
+ VkPrimitiveTopology topology;
+ const char* name;
+ }
+ topologies[] =
+ {
+ { VK_PRIMITIVE_TOPOLOGY_POINT_LIST , "point_list" },
+ { VK_PRIMITIVE_TOPOLOGY_LINE_LIST , "line_list" },
+ { VK_PRIMITIVE_TOPOLOGY_LINE_STRIP , "line_strip" },
+ { VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST , "triangle_list" },
+ { VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP , "triangle_strip" },
+ { VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN , "triangle_fan" },
+ { VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY , "line_list_with_adjacency" },
+ { VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY , "line_strip_with_adjacency" },
+ { VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY , "triangle_list_with_adjacency" },
+ { VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY , "triangle_strip_with_adjacency" },
+ };
+ const glu::DataType dataTypes[] =
+ {
+ glu::TYPE_FLOAT,
+ glu::TYPE_FLOAT_VEC2,
+ glu::TYPE_FLOAT_VEC3,
+ glu::TYPE_FLOAT_VEC4,
+ glu::TYPE_DOUBLE,
+ glu::TYPE_DOUBLE_VEC2,
+ glu::TYPE_DOUBLE_VEC3,
+ glu::TYPE_DOUBLE_VEC4,
+ glu::TYPE_INT,
+ glu::TYPE_INT_VEC2,
+ glu::TYPE_INT_VEC3,
+ glu::TYPE_INT_VEC4,
+ glu::TYPE_UINT,
+ glu::TYPE_UINT_VEC2,
+ glu::TYPE_UINT_VEC3,
+ glu::TYPE_UINT_VEC4,
+ };
+ const struct Perspective
+ {
+ const char* name;
+ bool value;
+ }
+ perspectives[] =
+ {
+ { "perspective", true },
+ { "noperspective", false },
+ };
+ const struct DynamicIndexing
+ {
+ const char* name;
+ bool value;
+ }
+ dynamicIndexings[] =
+ {
+ { "static", false },
+ { "dynamic", true },
+ };
+ const struct ProvokingVertex
+ {
+ const char* name;
+ bool value;
+ }
+ provokingVertices[] =
+ {
+ { "provoking_first", false },
+ { "provoking_last", true },
+ };
+ const uint32_t rotations[] = { 0, 85, 95 };
+ const struct TopologyInPipeline
+ {
+ const char* name;
+ bool value;
+ }
+ topologiesInPipeline[] =
+ {
+ { "pipeline_topology_static", false },
+ { "pipeline_topology_dynamic", true },
+ };
+
+ {
+ MovePtr<tcu::TestCaseGroup> testTypeGroup (new tcu::TestCaseGroup(testCtx, "data", ""));
+ const TestType testType = TEST_TYPE_DATA;
+
+ for (size_t provokingVertexNdx = 0; provokingVertexNdx < DE_LENGTH_OF_ARRAY(provokingVertices); ++provokingVertexNdx)
+ {
+ MovePtr<tcu::TestCaseGroup> provokingVertexGroup (new tcu::TestCaseGroup(testCtx, provokingVertices[provokingVertexNdx].name, ""));
+ const bool provokingVertexLast = provokingVertices[provokingVertexNdx].value;
+
+ for (size_t dynamicNdx = 0; dynamicNdx < DE_LENGTH_OF_ARRAY(dynamicIndexings); ++dynamicNdx)
+ {
+ MovePtr<tcu::TestCaseGroup> dynamicIndexingGroup (new tcu::TestCaseGroup(testCtx, dynamicIndexings[dynamicNdx].name, ""));
+ const bool dynamicIndexing = dynamicIndexings[dynamicNdx].value;
+
+ for (size_t topologyNdx = 0; topologyNdx < DE_LENGTH_OF_ARRAY(topologies); ++topologyNdx)
+ {
+ MovePtr<tcu::TestCaseGroup> topologyGroup (new tcu::TestCaseGroup(testCtx, topologies[topologyNdx].name, ""));
+ const VkPrimitiveTopology topology = topologies[topologyNdx].topology;
+
+ for (size_t aggregateNdx = 0; aggregateNdx < 3; ++aggregateNdx)
+ {
+ const string aggregateName = aggregateNdx == 0 ? "type"
+ : aggregateNdx == 1 ? "struct"
+ : "array" + de::toString(aggregateNdx);
+ MovePtr<tcu::TestCaseGroup> aggregateGroup (new tcu::TestCaseGroup(testCtx, aggregateName.c_str(), ""));
+
+ for (size_t dataTypeNdx = 0; dataTypeNdx < DE_LENGTH_OF_ARRAY(dataTypes); ++dataTypeNdx)
+ {
+ const glu::DataType dataType = dataTypes[dataTypeNdx];
+ const char* dataTypeName = getDataTypeName(dataType);
+
+ const TestParams testParams =
+ {
+ testType, // TestType testType;
+ topology, // VkPrimitiveTopology topology;
+ dynamicIndexing, // bool dynamicIndexing;
+ aggregateNdx, // size_t aggregate;
+ dataType, // glu::DataType dataType;
+ DATA_TEST_WIDTH, // uint32_t width;
+ DATA_TEST_HEIGHT, // uint32_t height;
+ notused, // bool perspective;
+ provokingVertexLast, // bool provokingVertexLast;
+ (uint32_t)notused, // uint32_t rotation;
+ notused, // bool dynamicTopologyInPipeline
+ };
+
+ aggregateGroup->addChild(new FragmentShadingBarycentricTestCase(testCtx, dataTypeName, "", testParams));
+ }
+
+ topologyGroup->addChild(aggregateGroup.release());
+ }
+
+ dynamicIndexingGroup->addChild(topologyGroup.release());
+ }
+
+ provokingVertexGroup->addChild(dynamicIndexingGroup.release());
+ }
+
+ testTypeGroup->addChild(provokingVertexGroup.release());
+ }
+
+ group->addChild(testTypeGroup.release());
+ }
+
+ {
+ MovePtr<tcu::TestCaseGroup> testTypeGroup (new tcu::TestCaseGroup(testCtx, "weights", ""));
+ const TestType testType = TEST_TYPE_WEIGHTS;
+
+ for (size_t topologyInPipelineNdx = 0; topologyInPipelineNdx < DE_LENGTH_OF_ARRAY(topologiesInPipeline); ++topologyInPipelineNdx)
+ {
+ MovePtr<tcu::TestCaseGroup> topologyInPipelineGroup (new tcu::TestCaseGroup(testCtx, topologiesInPipeline[topologyInPipelineNdx].name, ""));
+ const bool topologyInPipeline = topologiesInPipeline[topologyInPipelineNdx].value;
+
+ if (topologyInPipeline)
+ {
+ for (size_t topologyNdx = 0; topologyNdx < DE_LENGTH_OF_ARRAY(topologies); ++topologyNdx)
+ {
+ MovePtr<tcu::TestCaseGroup> topologyGroup (new tcu::TestCaseGroup(testCtx, topologies[topologyNdx].name, ""));
+ const VkPrimitiveTopology topology = topologies[topologyNdx].topology;
+ const bool testableTopology = isPrimitiveTopologyLine(topology) || isPrimitiveTopologyTriangle(topology);
+
+ if (!testableTopology)
+ continue;
+
+ for (size_t perspectiveNdx = 0; perspectiveNdx < DE_LENGTH_OF_ARRAY(perspectives); ++perspectiveNdx)
+ {
+ const bool perspective = perspectives[perspectiveNdx].value;
+ const char* perspectiveName = perspectives[perspectiveNdx].name;
+
+ const TestParams testParams =
+ {
+ testType, // TestType testType;
+ topology, // VkPrimitiveTopology topology;
+ notused, // bool dynamicIndexing;
+ (size_t)notused, // size_t aggregate;
+ (glu::DataType)notused, // glu::DataType dataType;
+ WEIGHT_TEST_WIDTH, // uint32_t width;
+ WEIGHT_TEST_HEIGHT, // uint32_t height;
+ perspective, // bool perspective;
+ false, // bool provokingVertexLast;
+ 0, // uint32_t rotation;
+ topologyInPipeline, // bool dynamicTopologyInPipeline
+ };
+
+ topologyGroup->addChild(new FragmentShadingBarycentricTestCase(testCtx, perspectiveName, "", testParams));
+ }
+
+ topologyInPipelineGroup->addChild(topologyGroup.release());
+ }
+ }
+ else
+ {
+ for (size_t rotationNdx = 0; rotationNdx < DE_LENGTH_OF_ARRAY(rotations); ++rotationNdx)
+ {
+ const uint32_t rotation = rotations[rotationNdx];
+ MovePtr<tcu::TestCaseGroup> rotationGroup (new tcu::TestCaseGroup(testCtx, de::toString(rotation).c_str(), ""));
+
+ for (size_t topologyNdx = 0; topologyNdx < DE_LENGTH_OF_ARRAY(topologies); ++topologyNdx)
+ {
+ const VkPrimitiveTopology topology = topologies[topologyNdx].topology;
+ MovePtr<tcu::TestCaseGroup> topologyGroup (new tcu::TestCaseGroup(testCtx, topologies[topologyNdx].name, ""));
+
+ for (size_t perspectiveNdx = 0; perspectiveNdx < DE_LENGTH_OF_ARRAY(perspectives); ++perspectiveNdx)
+ {
+ const bool perspective = perspectives[perspectiveNdx].value;
+ const char* perspectiveName = perspectives[perspectiveNdx].name;
+
+ const TestParams testParams =
+ {
+ testType, // TestType testType;
+ topology, // VkPrimitiveTopology topology;
+ notused, // bool dynamicIndexing;
+ (size_t)-1, // size_t aggregate;
+ glu::TYPE_INVALID, // glu::DataType dataType;
+ WEIGHT_TEST_WIDTH, // uint32_t width;
+ WEIGHT_TEST_HEIGHT, // uint32_t height;
+ perspective, // bool perspective;
+ false, // bool provokingVertexLast;
+ rotation, // uint32_t rotation;
+ topologyInPipeline, // bool dynamicTopologyInPipeline
+ };
+
+ topologyGroup->addChild(new FragmentShadingBarycentricTestCase(testCtx, perspectiveName, "", testParams));
+ }
+
+ rotationGroup->addChild(topologyGroup.release());
+ }
+
+ topologyInPipelineGroup->addChild(rotationGroup.release());
+ }
+ }
+
+ testTypeGroup->addChild(topologyInPipelineGroup.release());
+ }
+
+ group->addChild(testTypeGroup.release());
+ }
+
+ return group.release();
+}
+
+} // FragmentShadingBarycentric
+} // vkt
diff --git a/external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.hpp b/external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.hpp
new file mode 100644
index 0000000..4872c8e
--- /dev/null
+++ b/external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.hpp
@@ -0,0 +1,39 @@
+#ifndef _VKTFRAGMENTSHADINGBARYCENTRICTESTS_HPP
+#define _VKTFRAGMENTSHADINGBARYCENTRICTESTS_HPP
+/*-------------------------------------------------------------------------
+ * Vulkan Conformance Tests
+ * ------------------------
+ *
+ * Copyright (c) 2021 The Khronos Group Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *//*!
+ * \file
+ * \brief Fragment Shading Barycentric extention tests
+ *//*--------------------------------------------------------------------*/
+
+#include "tcuDefs.hpp"
+#include "tcuTestCase.hpp"
+
+namespace vkt
+{
+namespace FragmentShadingBarycentric
+{
+
+tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx);
+
+} // FragmentShadingBarycentric
+} // vkt
+
+#endif // _VKTFRAGMENTSHADINGBARYCENTRICTESTS_HPP
diff --git a/external/vulkancts/modules/vulkan/vktTestPackage.cpp b/external/vulkancts/modules/vulkan/vktTestPackage.cpp
index 2130341..112b2fa 100644
--- a/external/vulkancts/modules/vulkan/vktTestPackage.cpp
+++ b/external/vulkancts/modules/vulkan/vktTestPackage.cpp
@@ -115,6 +115,7 @@
#include "vktFragmentShadingRateTests.hpp"
#include "vktReconvergenceTests.hpp"
#include "vktMeshShaderTests.hpp"
+#include "vktFragmentShadingBarycentricTests.hpp"
#ifdef CTS_USES_VULKANSC
#include "vktSafetyCriticalTests.hpp"
#endif // CTS_USES_VULKANSC
@@ -1127,6 +1128,7 @@
addChild(FragmentShadingRate::createTests (m_testCtx));
addChild(Reconvergence::createTests (m_testCtx, false));
addChild(MeshShader::createTests (m_testCtx));
+ addChild(FragmentShadingBarycentric::createTests(m_testCtx));
}
void ExperimentalTestPackage::init (void)
diff --git a/external/vulkancts/mustpass/main/vk-default.txt b/external/vulkancts/mustpass/main/vk-default.txt
index 089e65a..9f619ac 100644
--- a/external/vulkancts/mustpass/main/vk-default.txt
+++ b/external/vulkancts/mustpass/main/vk-default.txt
@@ -11,6 +11,7 @@
vk-default/dynamic-state.txt
vk-default/fragment-operations.txt
vk-default/fragment-shader-interlock.txt
+vk-default/fragment-shading-barycentric.txt
vk-default/fragment-shading-rate.txt
vk-default/geometry.txt
vk-default/glsl.txt
diff --git a/external/vulkancts/mustpass/main/vk-default/api.txt b/external/vulkancts/mustpass/main/vk-default/api.txt
index 1da9e13..9169e41 100644
--- a/external/vulkancts/mustpass/main/vk-default/api.txt
+++ b/external/vulkancts/mustpass/main/vk-default/api.txt
@@ -3870,6 +3870,7 @@
dEQP-VK.api.device_init.create_device_unsupported_features.present_wait_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.pipeline_executable_properties_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.present_id_features_khr
+dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shader_barycentric_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.shader_subgroup_uniform_control_flow_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.workgroup_memory_explicit_layout_features_khr
dEQP-VK.api.device_init.create_device_unsupported_features.ray_tracing_maintenance1_features_khr
@@ -3885,7 +3886,6 @@
dEQP-VK.api.device_init.create_device_unsupported_features.vertex_attribute_divisor_features_ext
dEQP-VK.api.device_init.create_device_unsupported_features.compute_shader_derivatives_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.mesh_shader_features_nv
-dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shader_barycentric_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.shader_image_footprint_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.exclusive_scissor_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.shader_integer_functions2_features_intel
@@ -3913,6 +3913,7 @@
dEQP-VK.api.device_init.create_device_unsupported_features.custom_border_color_features_ext
dEQP-VK.api.device_init.create_device_unsupported_features.diagnostics_config_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.graphics_pipeline_library_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.shader_early_and_late_fragment_tests_features_amd
dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shading_rate_enums_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.ray_tracing_motion_blur_features_nv
dEQP-VK.api.device_init.create_device_unsupported_features.ycbcr2_plane444_formats_features_ext
diff --git a/external/vulkancts/mustpass/main/vk-default/fragment-shading-barycentric.txt b/external/vulkancts/mustpass/main/vk-default/fragment-shading-barycentric.txt
new file mode 100644
index 0000000..e713feb
--- /dev/null
+++ b/external/vulkancts/mustpass/main/vk-default/fragment-shading-barycentric.txt
@@ -0,0 +1,1998 @@
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.float
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.double
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.int
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec4
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uint
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec2
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec3
+dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec4
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.point_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.point_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.point_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.point_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.point_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.point_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_fan.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_fan.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list_with_adjacency.noperspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip_with_adjacency.perspective
+dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip_with_adjacency.noperspective
diff --git a/external/vulkancts/scripts/src/extensions/VK_KHR_fragment_shader_barycentric.json b/external/vulkancts/scripts/src/extensions/VK_KHR_fragment_shader_barycentric.json
new file mode 100644
index 0000000..c04f27f
--- /dev/null
+++ b/external/vulkancts/scripts/src/extensions/VK_KHR_fragment_shader_barycentric.json
@@ -0,0 +1,7 @@
+{
+ "register_extension":
+ {
+ "type": "device",
+ "core": ""
+ }
+}