Test coverage for VK_KHR_fragment_shader_barycentric
authorBoris Zanin <boris.zanin@mobica.com>
Wed, 15 Sep 2021 15:37:24 +0000 (17:37 +0200)
committerBoris Zanin <boris.zanin@mobica.com>
Tue, 15 Mar 2022 15:29:52 +0000 (16:29 +0100)
Add tests:
 * dEQP-VK.fragment_shading_barycentric.*

Components: Vulkan

VK-GL-CTS issue: 3078

Change-Id: If65056858ad9b0dbd1ce0b3f5d08142668889840

38 files changed:
AndroidGen.mk
android/cts/main/vk-master-2021-03-01.txt
android/cts/main/vk-master-2021-03-01/fragment-shading-barycentric.txt [new file with mode: 0644]
android/cts/main/vk-master.txt
android/cts/main/vk-master/fragment-shading-barycentric.txt [new file with mode: 0644]
external/fetch_sources.py
external/vulkancts/framework/vulkan/vkApiExtensionDependencyInfo.inl
external/vulkancts/framework/vulkan/vkBasicTypes.inl
external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl
external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl
external/vulkancts/framework/vulkan/vkDeviceFeatureTest.inl
external/vulkancts/framework/vulkan/vkDeviceFeatures.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl
external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl
external/vulkancts/framework/vulkan/vkDeviceProperties.inl
external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDecl.inl
external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDefs.inl
external/vulkancts/framework/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl
external/vulkancts/framework/vulkan/vkExtensionFunctions.inl
external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl
external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl
external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl
external/vulkancts/framework/vulkan/vkNullDriverImpl.inl
external/vulkancts/framework/vulkan/vkStrUtil.inl
external/vulkancts/framework/vulkan/vkStrUtilImpl.inl
external/vulkancts/framework/vulkan/vkStructTypes.inl
external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl
external/vulkancts/framework/vulkan/vkVulkan_c.inl
external/vulkancts/modules/vulkan/CMakeLists.txt
external/vulkancts/modules/vulkan/fragment_shading_barycentric/CMakeLists.txt [new file with mode: 0644]
external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.cpp [new file with mode: 0644]
external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.hpp [new file with mode: 0644]
external/vulkancts/modules/vulkan/vktTestPackage.cpp
external/vulkancts/mustpass/main/vk-default.txt
external/vulkancts/mustpass/main/vk-default/fragment-shading-barycentric.txt [new file with mode: 0644]
external/vulkancts/scripts/gen_framework.py

index 3201b6b..87917bb 100644 (file)
@@ -165,6 +165,7 @@ LOCAL_SRC_FILES := \
        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 \
@@ -1263,6 +1264,7 @@ LOCAL_C_INCLUDES := \
        $(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 \
index 6f2e847..834b768 100644 (file)
@@ -8,6 +8,7 @@ vk-master-2021-03-01/drm-format-modifiers.txt
 vk-master-2021-03-01/dynamic-rendering.txt
 vk-master-2021-03-01/dynamic-state.txt
 vk-master-2021-03-01/fragment-operations.txt
+vk-master-2021-03-01/fragment-shading-barycentric.txt
 vk-master-2021-03-01/fragment-shading-rate.txt
 vk-master-2021-03-01/geometry.txt
 vk-master-2021-03-01/glsl.txt
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 (file)
index 0000000..e713feb
--- /dev/null
@@ -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
index 702c1b7..51f2aca 100644 (file)
@@ -11,6 +11,7 @@ vk-master/dynamic-rendering.txt
 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/fragment-shading-barycentric.txt b/android/cts/main/vk-master/fragment-shading-barycentric.txt
new file mode 100644 (file)
index 0000000..e713feb
--- /dev/null
@@ -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
index e0f2a34..3913a06 100644 (file)
@@ -315,14 +315,14 @@ PACKAGES = [
                "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e",
                "renderdoc"),
        GitRepo(
-               "https://github.com/KhronosGroup/SPIRV-Tools.git",
-               None,
-               "20b122b2e0d43fcc322a383354d1a3f4514e3757",
+               "https://gitlab.khronos.org/spirv/spirv-tools.git",
+               "git@gitlab.khronos.org:spirv/spirv-tools.git",
+               "49ced6a8d7b61a487a36fba91ae3294c47352aeb",
                "spirv-tools"),
        GitRepo(
-               "https://github.com/KhronosGroup/glslang.git",
-               None,
-               "c34bb3b6c55f6ab084124ad964be95a699700d34",
+               "https://gitlab.khronos.org/GLSL/glslang.git",
+               "git@gitlab.khronos.org:GLSL/glslang.git",
+               "463e8ef3f555c7b648a826b37519b093ab3daca5",
                "glslang",
                removeTags = ["master-tot"]),
        GitRepo(
@@ -331,9 +331,9 @@ PACKAGES = [
                "b42ba6d92faf6b4938e6f22ddd186dbdacc98d78",
                "spirv-headers"),
        GitRepo(
-               "https://github.com/KhronosGroup/Vulkan-Docs.git",
-               None,
-               "ee155139142a2a71b56238419bf0a6859f7b0a93",
+               "https://gitlab.khronos.org/vulkan/vulkan.git",
+               "git@gitlab.khronos.org:vulkan/vulkan.git",
+               "a19a491443b0f244de88a869b5b0559243b5c214",
                "vulkan-docs"),
        GitRepo(
                "https://github.com/google/amber.git",
index 678dbd0..5182464 100644 (file)
@@ -315,6 +315,7 @@ static const std::tuple<deUint32, deUint32, const char*, const char*>       deviceExte
        std::make_tuple(1, 0, "VK_KHR_external_semaphore_fd", "VK_KHR_external_semaphore"),
        std::make_tuple(1, 0, "VK_KHR_external_semaphore_win32", "VK_KHR_external_semaphore"),
        std::make_tuple(1, 0, "VK_KHR_format_feature_flags2", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(1, 0, "VK_KHR_fragment_shader_barycentric", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(1, 0, "VK_KHR_fragment_shading_rate", "VK_KHR_create_renderpass2"),
        std::make_tuple(1, 0, "VK_KHR_fragment_shading_rate", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(1, 1, "VK_KHR_fragment_shading_rate", "VK_KHR_create_renderpass2"),
@@ -650,6 +651,7 @@ static const std::tuple<deUint32, deUint32, const char*>    extensionRequiredCoreVe
        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"),
@@ -758,5 +760,6 @@ static const std::tuple<deUint32, deUint32, const char*>    extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_QCOM_render_pass_transform"),
        std::make_tuple(1, 0, "VK_QCOM_rotated_copy_commands"),
        std::make_tuple(1, 0, "VK_QNX_screen_surface"),
+       std::make_tuple(1, 0, "VK_VALVE_descriptor_set_host_mapping"),
        std::make_tuple(1, 0, "VK_VALVE_mutable_descriptor_type"),
 };
index 552c83b..6b3e7dd 100644 (file)
@@ -384,6 +384,7 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR                                                                                   = 1000023015,
        VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR                                             = 1000023016,
        VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR                                                                                                 = 1000024000,
+       VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR                                                                                 = 1000024001,
        VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV                                                             = 1000026000,
        VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV                                                    = 1000026001,
        VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV                                                  = 1000026002,
@@ -406,13 +407,14 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT                                                                                 = 1000038008,
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT                                                               = 1000038009,
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT                                                 = 1000038010,
+       VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT                                                                 = 1000038011,
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT                                                                    = 1000039000,
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT                                                             = 1000039001,
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT                                  = 1000039002,
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT                                             = 1000039003,
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT                                                                  = 1000039004,
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT                                                                   = 1000039005,
-       VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT                                                                              = 1000039006,
+       VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT                                                              = 1000039006,
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT                                                 = 1000039007,
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT                                                                                 = 1000039008,
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT                                                                 = 1000039009,
@@ -599,7 +601,6 @@ enum VkStructureType
        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,
@@ -692,10 +693,13 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR                                                                                                 = 1000299000,
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR                                                                    = 1000299001,
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR                                                              = 1000299002,
+       VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR                                                                                 = 1000299003,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV                                                = 1000300000,
        VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV                                                              = 1000300001,
        VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV                                                               = 1000314008,
        VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV                                                                                                  = 1000314009,
+       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,
@@ -753,6 +757,9 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT                                             = 1000411000,
        VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT                                = 1000411001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT                             = 1000412000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE                    = 1000420000,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE                                                                = 1000420001,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE                                                 = 1000420002,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM                             = 1000425000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM                   = 1000425001,
        VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM                                             = 1000425002,
@@ -862,6 +869,7 @@ enum VkStructureType
        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,
@@ -2827,14 +2835,15 @@ enum VkImageAspectFlagBits
        VK_IMAGE_ASPECT_PLANE_0_BIT                             = 0x00000010,
        VK_IMAGE_ASPECT_PLANE_1_BIT                             = 0x00000020,
        VK_IMAGE_ASPECT_PLANE_2_BIT                             = 0x00000040,
+       VK_IMAGE_ASPECT_NONE                                    = 0,
        VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT  = 0x00000080,
        VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT  = 0x00000100,
        VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT  = 0x00000200,
        VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT  = 0x00000400,
-       VK_IMAGE_ASPECT_NONE_KHR                                = 0,
        VK_IMAGE_ASPECT_PLANE_0_BIT_KHR                 = VK_IMAGE_ASPECT_PLANE_0_BIT,
        VK_IMAGE_ASPECT_PLANE_1_BIT_KHR                 = VK_IMAGE_ASPECT_PLANE_1_BIT,
        VK_IMAGE_ASPECT_PLANE_2_BIT_KHR                 = VK_IMAGE_ASPECT_PLANE_2_BIT,
+       VK_IMAGE_ASPECT_NONE_KHR                                = VK_IMAGE_ASPECT_NONE,
        VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM              = 0x7FFFFFFF,
 };
 typedef uint32_t VkImageAspectFlags;
@@ -3597,12 +3606,6 @@ enum VkToolPurposeFlagBits
 };
 typedef uint32_t VkToolPurposeFlags;
 
-enum VkPrivateDataSlotCreateFlagBits
-{
-       VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM  = 0x7FFFFFFF,
-};
-typedef uint32_t VkPrivateDataSlotCreateFlags;
-
 enum VkSubmitFlagBits
 {
        VK_SUBMIT_PROTECTED_BIT                 = 0x00000001,
@@ -3909,6 +3912,15 @@ enum VkVideoCodingQualityPresetFlagBitsKHR
 };
 typedef uint32_t VkVideoCodingQualityPresetFlagsKHR;
 
+enum VkVideoDecodeCapabilityFlagBitsKHR
+{
+       VK_VIDEO_DECODE_CAPABILITY_DEFAULT_KHR                                          = 0,
+       VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR      = 0x00000001,
+       VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR      = 0x00000002,
+       VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR                       = 0x7FFFFFFF,
+};
+typedef uint32_t VkVideoDecodeCapabilityFlagsKHR;
+
 enum VkVideoDecodeFlagBitsKHR
 {
        VK_VIDEO_DECODE_DEFAULT_KHR                             = 0,
@@ -3925,13 +3937,13 @@ enum VkVideoEncodeFlagBitsKHR
 };
 typedef uint32_t VkVideoEncodeFlagsKHR;
 
-enum VkVideoEncodeRateControlFlagBitsKHR
+enum VkVideoEncodeCapabilityFlagBitsKHR
 {
-       VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR                        = 0,
-       VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR         = 0x00000001,
-       VK_VIDEO_ENCODE_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR     = 0x7FFFFFFF,
+       VK_VIDEO_ENCODE_CAPABILITY_DEFAULT_KHR                                                                  = 0,
+       VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR   = 0x00000001,
+       VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR                                               = 0x7FFFFFFF,
 };
-typedef uint32_t VkVideoEncodeRateControlFlagsKHR;
+typedef uint32_t VkVideoEncodeCapabilityFlagsKHR;
 
 enum VkVideoEncodeRateControlModeFlagBitsKHR
 {
@@ -3942,19 +3954,39 @@ enum VkVideoEncodeRateControlModeFlagBitsKHR
 };
 typedef uint32_t VkVideoEncodeRateControlModeFlagsKHR;
 
+enum VkVideoEncodeRateControlFlagBitsKHR
+{
+       VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR                        = 0,
+       VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR         = 0x00000001,
+       VK_VIDEO_ENCODE_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR     = 0x7FFFFFFF,
+};
+typedef uint32_t VkVideoEncodeRateControlFlagsKHR;
+
 enum VkVideoEncodeH264CapabilityFlagBitsEXT
 {
-       VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT                                                   = 0x00000001,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT                                                   = 0x00000002,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT               = 0x00000004,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT                                   = 0x00000008,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT                                = 0x00000010,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT                 = 0x00000020,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT              = 0x00000040,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT               = 0x00000080,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT               = 0x00000100,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT                = 0x00000200,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT   = 0x00000400,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_BIT_EXT                    = 0x00000001,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT                   = 0x00000002,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT = 0x00000004,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT                                   = 0x00000008,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT                                  = 0x00000010,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT                                = 0x00000020,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT                 = 0x00000040,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT                             = 0x00000080,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT                                   = 0x00000100,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT                = 0x00000200,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT                = 0x00000400,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT                  = 0x00000800,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT                                   = 0x00001000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT                                                   = 0x00002000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT                                                   = 0x00004000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT              = 0x00008000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT               = 0x00010000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT               = 0x00020000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT  = 0x00040000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT                = 0x00080000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT                                  = 0x00100000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT                             = 0x00200000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT                    = 0x00400000,
        VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT                                  = 0x7FFFFFFF,
 };
 typedef uint32_t VkVideoEncodeH264CapabilityFlagsEXT;
@@ -3994,10 +4026,40 @@ enum VkVideoEncodeH264RateControlStructureFlagBitsEXT
 };
 typedef uint32_t VkVideoEncodeH264RateControlStructureFlagsEXT;
 
+enum VkVideoEncodeH265CapabilityFlagBitsEXT
+{
+       VK_VIDEO_ENCODE_H265_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT                           = 0x00000001,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_SCALING_LISTS_BIT_EXT                                           = 0x00000002,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_SAMPLE_ADAPTIVE_OFFSET_ENABLED_BIT_EXT          = 0x00000004,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_PCM_ENABLE_BIT_EXT                                                      = 0x00000008,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_SPS_TEMPORAL_MVP_ENABLED_BIT_EXT                        = 0x00000010,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT                                          = 0x00000020,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_INIT_QP_MINUS26_BIT_EXT                                         = 0x00000040,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT        = 0x00000080,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_SIGN_DATA_HIDING_ENABLED_BIT_EXT                        = 0x00000100,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_ENABLED_BIT_EXT                          = 0x00000200,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT     = 0x00000400,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT                                           = 0x00000800,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT                                         = 0x00001000,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT                          = 0x00002000,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT                       = 0x00004000,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT                     = 0x00008000,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT      = 0x00010000,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT                         = 0x00020000,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT                         = 0x00040000,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT                         = 0x00080000,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT                         = 0x00100000,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT                     = 0x00200000,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT                         = 0x00400000,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT                            = 0x00800000,
+       VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT                                          = 0x7FFFFFFF,
+};
+typedef uint32_t VkVideoEncodeH265CapabilityFlagsEXT;
+
 enum VkVideoEncodeH265InputModeFlagBitsEXT
 {
        VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT                   = 0x00000001,
-       VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_BIT_EXT                   = 0x00000002,
+       VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_SEGMENT_BIT_EXT   = 0x00000002,
        VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT                 = 0x00000004,
        VK_VIDEO_ENCODE_H265_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT  = 0x7FFFFFFF,
 };
@@ -4006,7 +4068,7 @@ typedef uint32_t VkVideoEncodeH265InputModeFlagsEXT;
 enum VkVideoEncodeH265OutputModeFlagBitsEXT
 {
        VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT                  = 0x00000001,
-       VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_BIT_EXT                  = 0x00000002,
+       VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_SEGMENT_BIT_EXT  = 0x00000002,
        VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT                = 0x00000004,
        VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF,
 };
@@ -4014,14 +4076,23 @@ typedef uint32_t VkVideoEncodeH265OutputModeFlagsEXT;
 
 enum VkVideoEncodeH265CtbSizeFlagBitsEXT
 {
-       VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT                                 = 0x00000001,
-       VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT                                = 0x00000002,
-       VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT                                = 0x00000004,
-       VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT                                = 0x00000008,
+       VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT                                = 0x00000001,
+       VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT                                = 0x00000002,
+       VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT                                = 0x00000004,
        VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_EXT    = 0x7FFFFFFF,
 };
 typedef uint32_t VkVideoEncodeH265CtbSizeFlagsEXT;
 
+enum VkVideoEncodeH265TransformBlockSizeFlagBitsEXT
+{
+       VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_EXT                                     = 0x00000001,
+       VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_EXT                                     = 0x00000002,
+       VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_EXT                            = 0x00000004,
+       VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_EXT                            = 0x00000008,
+       VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_EXT        = 0x7FFFFFFF,
+};
+typedef uint32_t VkVideoEncodeH265TransformBlockSizeFlagsEXT;
+
 enum VkVideoEncodeH265RateControlStructureFlagBitsEXT
 {
        VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT                         = 0,
@@ -4087,6 +4158,8 @@ typedef uint32_t VkCommandPoolTrimFlags;
 
 typedef uint32_t VkDescriptorUpdateTemplateCreateFlags;
 
+typedef uint32_t VkPrivateDataSlotCreateFlags;
+
 typedef uint32_t VkDisplayModeCreateFlagsKHR;
 
 typedef uint32_t VkDisplaySurfaceCreateFlagsKHR;
@@ -4127,8 +4200,6 @@ typedef uint32_t VkVideoBeginCodingFlagsKHR;
 
 typedef uint32_t VkVideoEndCodingFlagsKHR;
 
-typedef uint32_t VkVideoEncodeH265CapabilityFlagsEXT;
-
 typedef uint32_t VkVideoEncodeH265CreateFlagsEXT;
 
 typedef uint32_t VkVideoDecodeH264CreateFlagsEXT;
@@ -4187,8 +4258,6 @@ typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT;
 
 typedef VkToolPurposeFlags VkToolPurposeFlagsEXT;
 
-typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
-
 typedef VkSubmitFlags VkSubmitFlagsKHR;
 
 typedef VkRenderingFlags VkRenderingFlagsKHR;
@@ -4203,6 +4272,8 @@ typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
 
 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
 
+typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
+
 typedef uint64_t VkPipelineStageFlags2;
 
 typedef uint64_t VkPipelineStageFlagBits2;
@@ -4528,6 +4599,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #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
@@ -4701,6 +4773,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1
 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1
+#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1
 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 1
@@ -4710,9 +4783,9 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6
 #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 4
 #define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 2
-#define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 2
+#define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 3
 #define VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION 1
-#define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 3
+#define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 4
 #define vulkan_video_codec_h264std 1
 #define VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5 VK_MAKE_VIDEO_STD_VERSION(0, 9, 5)
 #define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32
@@ -4723,7 +4796,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5
 #define VK_STD_VULKAN_VIDEO_CODEC_H264_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264"
 #define vulkan_video_codec_h264std_encode 1
-#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 3
+#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 5
 #define vulkan_video_codec_h265std 1
 #define VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_9_5 VK_MAKE_VIDEO_STD_VERSION(0, 9, 5)
 #define STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE 7
@@ -4747,7 +4820,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE 15
 #define STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE 15
 #define STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM 2
-#define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 3
+#define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 5
 #define vulkan_video_codec_h264std_decode 1
 #define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2
 #define STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE 15
index d1adf5d..666a230 100644 (file)
@@ -321,6 +321,8 @@ virtual void                                cmdSetColorWriteEnableEXT                                               (VkCommandBuffer commandBuffer, u
 virtual void                           cmdDrawMultiEXT                                                                 (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride) const;
 virtual void                           cmdDrawMultiIndexedEXT                                                  (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset) const;
 virtual void                           setDeviceMemoryPriorityEXT                                              (VkDevice device, VkDeviceMemory memory, float priority) const;
+virtual void                           getDescriptorSetLayoutHostMappingInfoVALVE              (VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping) const;
+virtual void                           getDescriptorSetHostMappingVALVE                                (VkDevice device, VkDescriptorSet descriptorSet, void** ppData) const;
 virtual VkResult                       createAccelerationStructureKHR                                  (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const;
 virtual void                           destroyAccelerationStructureKHR                                 (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const;
 virtual void                           cmdBuildAccelerationStructuresKHR                               (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const;
index b335d0b..05dc29a 100644 (file)
@@ -1598,6 +1598,16 @@ void DeviceDriver::setDeviceMemoryPriorityEXT (VkDevice device, VkDeviceMemory m
        m_vk.setDeviceMemoryPriorityEXT(device, memory, priority);
 }
 
+void DeviceDriver::getDescriptorSetLayoutHostMappingInfoVALVE (VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping) const
+{
+       m_vk.getDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping);
+}
+
+void DeviceDriver::getDescriptorSetHostMappingVALVE (VkDevice device, VkDescriptorSet descriptorSet, void** ppData) const
+{
+       m_vk.getDescriptorSetHostMappingVALVE(device, descriptorSet, ppData);
+}
+
 VkResult DeviceDriver::createAccelerationStructureKHR (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const
 {
        return m_vk.createAccelerationStructureKHR(device, pCreateInfo, pAllocator, pAccelerationStructure);
index c4574bd..b814e50 100644 (file)
@@ -533,6 +533,16 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
 }
 
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<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);
+}
+
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>()))
 {
        static const Feature features[] =
@@ -682,16 +692,6 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
 }
 
-if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<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);
-}
-
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceShaderImageFootprintFeaturesNV>()))
 {
        static const Feature features[] =
@@ -1201,6 +1201,16 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
 }
 
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, descriptorSetHostMapping),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
+}
+
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>()))
 {
        static const Feature features[] =
index f95e099..558f721 100644 (file)
@@ -27,6 +27,7 @@ namespace vk
 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control"
 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
+#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping"
 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
 #define DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME "not_existent_feature"
@@ -38,7 +39,7 @@ namespace vk
 #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"
@@ -285,6 +286,7 @@ template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShadingRateFeaturesK
 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<VkPhysicalDeviceTransformFeedbackFeaturesEXT>(VkPhysicalDeviceTransformFeedbackFeaturesEXT&, const AllFeaturesBlobs&) {}
@@ -299,7 +301,6 @@ template<> void initFeatureFromBlob<VkPhysicalDeviceRepresentativeFragmentTestFe
 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&) {}
@@ -346,6 +347,7 @@ template<> void initFeatureFromBlob<VkPhysicalDeviceImageViewMinLodFeaturesEXT>(
 template<> void initFeatureFromBlob<VkPhysicalDeviceMultiDrawFeaturesEXT>(VkPhysicalDeviceMultiDrawFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>(VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>(VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>(VkPhysicalDeviceLinearColorAttachmentFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(VkPhysicalDeviceAccelerationStructureFeaturesKHR&, const AllFeaturesBlobs&) {}
@@ -354,27 +356,28 @@ template<> void initFeatureFromBlob<VkPhysicalDeviceRayQueryFeaturesKHR>(VkPhysi
 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, 105}; }
-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, 104}; }
-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, 103}; }
-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, 102}; }
-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, 101}; }
-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, 100}; }
-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, 99}; }
-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, 98}; }
-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, 97}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 96}; }
-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, 95}; }
-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, 94}; }
-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, 93}; }
-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, 92}; }
-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, 91}; }
-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, 90}; }
-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, 89}; }
-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, 88}; }
-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, 87}; }
-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, 86}; }
-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, 85}; }
+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, 106}; }
+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, 105}; }
+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, 104}; }
+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, 103}; }
+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, 102}; }
+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, 101}; }
+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, 100}; }
+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, 99}; }
+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, 98}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 97}; }
+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, 96}; }
+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, 95}; }
+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, 94}; }
+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, 93}; }
+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, 92}; }
+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, 91}; }
+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, 90}; }
+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, 89}; }
+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, 88}; }
+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, 87}; }
+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, 86}; }
+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, 85}; }
 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, 84}; }
 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, 83}; }
 template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 82}; }
@@ -386,7 +389,7 @@ template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExternalMemoryRDMAFeature
 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, 76}; }
 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, 75}; }
 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, 74}; }
-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, 73}; }
+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, 73}; }
 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, 72}; }
 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, 71}; }
 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, 70}; }
@@ -484,6 +487,7 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDeviceDepthClipControlFeaturesEXT>, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceDepthClipEnableFeaturesEXT>, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceDescriptorIndexingFeatures>, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0 },
@@ -495,7 +499,7 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { 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 },
index 873ae58..262587a 100644 (file)
@@ -23,6 +23,7 @@ const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& getDedicat
 const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT&                                 getDepthClipControlFeaturesEXT                          (void) const;
 const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                  getDepthClipEnableFeaturesEXT                           (void) const;
 const vk::VkPhysicalDeviceDescriptorIndexingFeatures&                                  getDescriptorIndexingFeatures                           (void) const;
+const vk::VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&               getDescriptorSetHostMappingFeaturesVALVE        (void) const;
 const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                   getDeviceGeneratedCommandsFeatures                      (void) const;
 const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                               getDeviceMemoryReportFeaturesEXT                        (void) const;
 const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                 getDiagnosticsConfigFeatures                            (void) const;
@@ -34,7 +35,7 @@ const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                       getExternalMemoryRDM
 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;
index a2768c9..f40d8d3 100644 (file)
@@ -23,6 +23,7 @@ const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& Context::g
 const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT&                                 Context::getDepthClipControlFeaturesEXT                                 (void) const { return m_device->getDepthClipControlFeaturesEXT();                               }
 const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                  Context::getDepthClipEnableFeaturesEXT                                  (void) const { return m_device->getDepthClipEnableFeaturesEXT();                                }
 const vk::VkPhysicalDeviceDescriptorIndexingFeatures&                                  Context::getDescriptorIndexingFeatures                                  (void) const { return m_device->getDescriptorIndexingFeatures();                                }
+const vk::VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&               Context::getDescriptorSetHostMappingFeaturesVALVE               (void) const { return m_device->getDescriptorSetHostMappingFeaturesVALVE();             }
 const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                   Context::getDeviceGeneratedCommandsFeatures                             (void) const { return m_device->getDeviceGeneratedCommandsFeatures();                   }
 const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                               Context::getDeviceMemoryReportFeaturesEXT                               (void) const { return m_device->getDeviceMemoryReportFeaturesEXT();                             }
 const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                 Context::getDiagnosticsConfigFeatures                                   (void) const { return m_device->getDiagnosticsConfigFeatures();                                 }
@@ -34,7 +35,7 @@ const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                       Context::getExternal
 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();                  }
index 95773db..1cd10f4 100644 (file)
@@ -23,6 +23,7 @@ const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&     getDedicatedAl
 const VkPhysicalDeviceDepthClipControlFeaturesEXT&                                     getDepthClipControlFeaturesEXT                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipControlFeaturesEXT>();                                   }
 const VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                      getDepthClipEnableFeaturesEXT                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipEnableFeaturesEXT>();                                    }
 const VkPhysicalDeviceDescriptorIndexingFeatures&                                      getDescriptorIndexingFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorIndexingFeatures>();                                    }
+const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&           getDescriptorSetHostMappingFeaturesVALVE        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>();                 }
 const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                       getDeviceGeneratedCommandsFeatures                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>();                             }
 const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                           getDeviceMemoryReportFeaturesEXT                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>();                                 }
 const VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                     getDiagnosticsConfigFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>();                                   }
@@ -34,7 +35,7 @@ const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                   getExternalMemoryRDMAFea
 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>();                    }
index 97ce7db..e7ca79c 100644 (file)
@@ -321,6 +321,8 @@ CmdSetColorWriteEnableEXTFunc                                               cmdSetColorWriteEnableEXT;
 CmdDrawMultiEXTFunc                                                                    cmdDrawMultiEXT;
 CmdDrawMultiIndexedEXTFunc                                                     cmdDrawMultiIndexedEXT;
 SetDeviceMemoryPriorityEXTFunc                                         setDeviceMemoryPriorityEXT;
+GetDescriptorSetLayoutHostMappingInfoVALVEFunc         getDescriptorSetLayoutHostMappingInfoVALVE;
+GetDescriptorSetHostMappingVALVEFunc                           getDescriptorSetHostMappingVALVE;
 CreateAccelerationStructureKHRFunc                                     createAccelerationStructureKHR;
 DestroyAccelerationStructureKHRFunc                                    destroyAccelerationStructureKHR;
 CmdBuildAccelerationStructuresKHRFunc                          cmdBuildAccelerationStructuresKHR;
index 3d0d3cb..a64d978 100644 (file)
@@ -22,6 +22,7 @@ namespace vk
 #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_KHR_PRESENT_ID_EXTENSION_NAME  "VK_KHR_present_id"
@@ -229,6 +230,7 @@ template<> void initPropertyFromBlob<VkPhysicalDevicePushDescriptorPropertiesKHR
 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&) {}
@@ -263,22 +265,23 @@ template<> void initPropertyFromBlob<VkPhysicalDeviceRayTracingPipelinePropertie
 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, 49}; }
-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, 48}; }
-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, 47}; }
-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, 46}; }
-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, 45}; }
-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, 44}; }
-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, 43}; }
-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, 42}; }
-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, 41}; }
-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, 40}; }
-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, 39}; }
-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, 38}; }
-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, 37}; }
-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, 36}; }
-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, 35}; }
-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, 34}; }
+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<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, 34}; }
 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, 33}; }
 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, 32}; }
 template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceIDProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 31}; }
@@ -332,6 +335,7 @@ static const PropertyStructCreationData propertyStructCreationArray[] =
        { 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<VkPhysicalDeviceIDProperties>, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION },
index a170f21..2e3db67 100644 (file)
@@ -18,6 +18,7 @@ const vk::VkPhysicalDeviceFloatControlsProperties&                                    getFloatControlsPropertie
 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::VkPhysicalDeviceIDProperties&                                                                getIDProperties                                                         (void) const;
index 74e8ac6..a3ea5d0 100644 (file)
@@ -18,6 +18,7 @@ const vk::VkPhysicalDeviceFloatControlsProperties&                                    Context::getFloatControls
 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::VkPhysicalDeviceIDProperties&                                                                Context::getIDProperties                                                        (void) const { return m_device->getIDProperties();                                                              }
index bf4453c..0f71126 100644 (file)
@@ -18,6 +18,7 @@ const VkPhysicalDeviceFloatControlsProperties&                                        getFloatControlsProperties
 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 VkPhysicalDeviceIDProperties&                                                            getIDProperties                                                         (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceIDProperties>();                                                               }
index f15c4e6..e55839d 100644 (file)
@@ -315,6 +315,10 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_KHR_fragment_shader_barycentric")
+       {
+               return;
+       }
        if (extName == "VK_KHR_shader_subgroup_uniform_control_flow")
        {
                return;
@@ -986,6 +990,10 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_VALVE_descriptor_set_host_mapping")
+       {
+               return;
+       }
        if (extName == "VK_QCOM_fragment_density_map_offset")
        {
                return;
@@ -1507,6 +1515,10 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
                functions.push_back("vkQueueSubmit2KHR");
                return;
        }
+       if (extName == "VK_KHR_fragment_shader_barycentric")
+       {
+               return;
+       }
        if (extName == "VK_KHR_shader_subgroup_uniform_control_flow")
        {
                return;
@@ -2288,6 +2300,12 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
                functions.push_back("vkSetDeviceMemoryPriorityEXT");
                return;
        }
+       if (extName == "VK_VALVE_descriptor_set_host_mapping")
+       {
+               functions.push_back("vkGetDescriptorSetLayoutHostMappingInfoVALVE");
+               functions.push_back("vkGetDescriptorSetHostMappingVALVE");
+               return;
+       }
        if (extName == "VK_QCOM_fragment_density_map_offset")
        {
                return;
@@ -2605,6 +2623,7 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        "VK_EXT_color_write_enable",
        "VK_EXT_multi_draw",
        "VK_EXT_pageable_device_local_memory",
+       "VK_VALVE_descriptor_set_host_mapping",
        "VK_KHR_acceleration_structure",
        "VK_KHR_ray_tracing_pipeline",
        "VK_ANDROID_external_memory_android_hardware_buffer",
index f5845c3..b5f286e 100644 (file)
@@ -466,6 +466,8 @@ typedef VKAPI_ATTR void                                     (VKAPI_CALL* CmdSetColorWriteEnableEXTFunc)
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdDrawMultiEXTFunc)                                                                                                       (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdDrawMultiIndexedEXTFunc)                                                                                        (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* SetDeviceMemoryPriorityEXTFunc)                                                                            (VkDevice device, VkDeviceMemory memory, float priority);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetDescriptorSetLayoutHostMappingInfoVALVEFunc)                                            (VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetDescriptorSetHostMappingVALVEFunc)                                                                      (VkDevice device, VkDescriptorSet descriptorSet, void** ppData);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* CreateAccelerationStructureKHRFunc)                                                                        (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* DestroyAccelerationStructureKHRFunc)                                                                       (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdBuildAccelerationStructuresKHRFunc)                                                                     (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
index d649ba6..070803f 100644 (file)
@@ -1382,6 +1382,16 @@ template<> VkStructureType getStructureType<VkCheckpointData2NV> (void)
        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;
@@ -1887,11 +1897,6 @@ template<> VkStructureType getStructureType<VkPhysicalDeviceMeshShaderProperties
        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;
@@ -2432,6 +2437,21 @@ template<> VkStructureType getStructureType<VkPhysicalDevicePageableDeviceLocalM
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE;
+}
+
+template<> VkStructureType getStructureType<VkDescriptorSetBindingReferenceVALVE> (void)
+{
+       return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE;
+}
+
+template<> VkStructureType getStructureType<VkDescriptorSetLayoutHostMappingInfoVALVE> (void)
+{
+       return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE;
+}
+
 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM> (void)
 {
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM;
@@ -2682,6 +2702,11 @@ template<> VkStructureType getStructureType<VkVideoCodingControlInfoKHR> (void)
        return VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR;
 }
 
+template<> VkStructureType getStructureType<VkVideoDecodeCapabilitiesKHR> (void)
+{
+       return VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR;
+}
+
 template<> VkStructureType getStructureType<VkVideoDecodeInfoKHR> (void)
 {
        return VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR;
@@ -2702,6 +2727,11 @@ template<> VkStructureType getStructureType<VkVideoEncodeInfoKHR> (void)
        return VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR;
 }
 
+template<> VkStructureType getStructureType<VkVideoEncodeCapabilitiesKHR> (void)
+{
+       return VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR;
+}
+
 template<> VkStructureType getStructureType<VkVideoEncodeRateControlLayerInfoKHR> (void)
 {
        return VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR;
@@ -2737,6 +2767,11 @@ template<> VkStructureType getStructureType<VkVideoEncodeH264DpbSlotInfoEXT> (vo
        return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT;
 }
 
+template<> VkStructureType getStructureType<VkVideoEncodeH264ReferenceListsEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT;
+}
+
 template<> VkStructureType getStructureType<VkVideoEncodeH264NaluSliceEXT> (void)
 {
        return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT;
@@ -2797,9 +2832,9 @@ template<> VkStructureType getStructureType<VkVideoEncodeH265ReferenceListsEXT>
        return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT;
 }
 
-template<> VkStructureType getStructureType<VkVideoEncodeH265NaluSliceEXT> (void)
+template<> VkStructureType getStructureType<VkVideoEncodeH265NaluSliceSegmentEXT> (void)
 {
-       return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT;
+       return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT;
 }
 
 template<> VkStructureType getStructureType<VkVideoEncodeH265VclFrameInfoEXT> (void)
index eb0ca89..be4297d 100644 (file)
@@ -449,6 +449,8 @@ m_vk.cmdSetColorWriteEnableEXT                                                      = (CmdSetColorWriteEnableEXTFunc)                                               GET_
 m_vk.cmdDrawMultiEXT                                                                   = (CmdDrawMultiEXTFunc)                                                                 GET_PROC_ADDR("vkCmdDrawMultiEXT");
 m_vk.cmdDrawMultiIndexedEXT                                                            = (CmdDrawMultiIndexedEXTFunc)                                                  GET_PROC_ADDR("vkCmdDrawMultiIndexedEXT");
 m_vk.setDeviceMemoryPriorityEXT                                                        = (SetDeviceMemoryPriorityEXTFunc)                                              GET_PROC_ADDR("vkSetDeviceMemoryPriorityEXT");
+m_vk.getDescriptorSetLayoutHostMappingInfoVALVE                        = (GetDescriptorSetLayoutHostMappingInfoVALVEFunc)              GET_PROC_ADDR("vkGetDescriptorSetLayoutHostMappingInfoVALVE");
+m_vk.getDescriptorSetHostMappingVALVE                                  = (GetDescriptorSetHostMappingVALVEFunc)                                GET_PROC_ADDR("vkGetDescriptorSetHostMappingVALVE");
 m_vk.createAccelerationStructureKHR                                            = (CreateAccelerationStructureKHRFunc)                                  GET_PROC_ADDR("vkCreateAccelerationStructureKHR");
 m_vk.destroyAccelerationStructureKHR                                   = (DestroyAccelerationStructureKHRFunc)                                 GET_PROC_ADDR("vkDestroyAccelerationStructureKHR");
 m_vk.cmdBuildAccelerationStructuresKHR                                 = (CmdBuildAccelerationStructuresKHRFunc)                               GET_PROC_ADDR("vkCmdBuildAccelerationStructuresKHR");
index d0a1fbd..e364a5b 100644 (file)
@@ -2855,6 +2855,20 @@ VKAPI_ATTR void VKAPI_CALL setDeviceMemoryPriorityEXT (VkDevice device, VkDevice
        DE_UNREF(priority);
 }
 
+VKAPI_ATTR void VKAPI_CALL getDescriptorSetLayoutHostMappingInfoVALVE (VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping)
+{
+       DE_UNREF(device);
+       DE_UNREF(pBindingReference);
+       DE_UNREF(pHostMapping);
+}
+
+VKAPI_ATTR void VKAPI_CALL getDescriptorSetHostMappingVALVE (VkDevice device, VkDescriptorSet descriptorSet, void** ppData)
+{
+       DE_UNREF(device);
+       DE_UNREF(descriptorSet);
+       DE_UNREF(ppData);
+}
+
 VKAPI_ATTR void VKAPI_CALL cmdBuildAccelerationStructuresKHR (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos)
 {
        DE_UNREF(commandBuffer);
@@ -3786,6 +3800,8 @@ static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] =
        VK_NULL_FUNC_ENTRY(vkCmdDrawMultiEXT,                                                                   cmdDrawMultiEXT),
        VK_NULL_FUNC_ENTRY(vkCmdDrawMultiIndexedEXT,                                                    cmdDrawMultiIndexedEXT),
        VK_NULL_FUNC_ENTRY(vkSetDeviceMemoryPriorityEXT,                                                setDeviceMemoryPriorityEXT),
+       VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutHostMappingInfoVALVE,                getDescriptorSetLayoutHostMappingInfoVALVE),
+       VK_NULL_FUNC_ENTRY(vkGetDescriptorSetHostMappingVALVE,                                  getDescriptorSetHostMappingVALVE),
        VK_NULL_FUNC_ENTRY(vkCreateAccelerationStructureKHR,                                    createAccelerationStructureKHR),
        VK_NULL_FUNC_ENTRY(vkDestroyAccelerationStructureKHR,                                   destroyAccelerationStructureKHR),
        VK_NULL_FUNC_ENTRY(vkCmdBuildAccelerationStructuresKHR,                                 cmdBuildAccelerationStructuresKHR),
index c3808d4..6d79aaf 100644 (file)
@@ -420,7 +420,6 @@ tcu::Format::Bitfield<32>   getDescriptorBindingFlagsStr                                                            (VkDescriptorBindi
 tcu::Format::Bitfield<32>      getSemaphoreWaitFlagsStr                                                                        (VkSemaphoreWaitFlags value);
 tcu::Format::Bitfield<32>      getPipelineCreationFeedbackFlagsStr                                                     (VkPipelineCreationFeedbackFlags value);
 tcu::Format::Bitfield<32>      getToolPurposeFlagsStr                                                                          (VkToolPurposeFlags value);
-tcu::Format::Bitfield<32>      getPrivateDataSlotCreateFlagsStr                                                        (VkPrivateDataSlotCreateFlags value);
 tcu::Format::Bitfield<32>      getSubmitFlagsStr                                                                                       (VkSubmitFlags value);
 tcu::Format::Bitfield<32>      getRenderingFlagsStr                                                                            (VkRenderingFlags value);
 tcu::Format::Bitfield<32>      getSurfaceTransformFlagsKHRStr                                                          (VkSurfaceTransformFlagsKHR value);
@@ -453,18 +452,22 @@ tcu::Format::Bitfield<32> getVideoCapabilityFlagsKHRStr                                                           (VkVideoCapabilit
 tcu::Format::Bitfield<32>      getVideoSessionCreateFlagsKHRStr                                                        (VkVideoSessionCreateFlagsKHR value);
 tcu::Format::Bitfield<32>      getVideoCodingControlFlagsKHRStr                                                        (VkVideoCodingControlFlagsKHR value);
 tcu::Format::Bitfield<32>      getVideoCodingQualityPresetFlagsKHRStr                                          (VkVideoCodingQualityPresetFlagsKHR value);
+tcu::Format::Bitfield<32>      getVideoDecodeCapabilityFlagsKHRStr                                                     (VkVideoDecodeCapabilityFlagsKHR value);
 tcu::Format::Bitfield<32>      getVideoDecodeFlagsKHRStr                                                                       (VkVideoDecodeFlagsKHR value);
 tcu::Format::Bitfield<32>      getVideoEncodeFlagsKHRStr                                                                       (VkVideoEncodeFlagsKHR value);
-tcu::Format::Bitfield<32>      getVideoEncodeRateControlFlagsKHRStr                                            (VkVideoEncodeRateControlFlagsKHR value);
+tcu::Format::Bitfield<32>      getVideoEncodeCapabilityFlagsKHRStr                                                     (VkVideoEncodeCapabilityFlagsKHR value);
 tcu::Format::Bitfield<32>      getVideoEncodeRateControlModeFlagsKHRStr                                        (VkVideoEncodeRateControlModeFlagsKHR value);
+tcu::Format::Bitfield<32>      getVideoEncodeRateControlFlagsKHRStr                                            (VkVideoEncodeRateControlFlagsKHR value);
 tcu::Format::Bitfield<32>      getVideoEncodeH264CapabilityFlagsEXTStr                                         (VkVideoEncodeH264CapabilityFlagsEXT value);
 tcu::Format::Bitfield<32>      getVideoEncodeH264InputModeFlagsEXTStr                                          (VkVideoEncodeH264InputModeFlagsEXT value);
 tcu::Format::Bitfield<32>      getVideoEncodeH264OutputModeFlagsEXTStr                                         (VkVideoEncodeH264OutputModeFlagsEXT value);
 tcu::Format::Bitfield<32>      getVideoEncodeH264CreateFlagsEXTStr                                                     (VkVideoEncodeH264CreateFlagsEXT value);
 tcu::Format::Bitfield<32>      getVideoEncodeH264RateControlStructureFlagsEXTStr                       (VkVideoEncodeH264RateControlStructureFlagsEXT value);
+tcu::Format::Bitfield<32>      getVideoEncodeH265CapabilityFlagsEXTStr                                         (VkVideoEncodeH265CapabilityFlagsEXT value);
 tcu::Format::Bitfield<32>      getVideoEncodeH265InputModeFlagsEXTStr                                          (VkVideoEncodeH265InputModeFlagsEXT value);
 tcu::Format::Bitfield<32>      getVideoEncodeH265OutputModeFlagsEXTStr                                         (VkVideoEncodeH265OutputModeFlagsEXT value);
 tcu::Format::Bitfield<32>      getVideoEncodeH265CtbSizeFlagsEXTStr                                            (VkVideoEncodeH265CtbSizeFlagsEXT value);
+tcu::Format::Bitfield<32>      getVideoEncodeH265TransformBlockSizeFlagsEXTStr                         (VkVideoEncodeH265TransformBlockSizeFlagsEXT value);
 tcu::Format::Bitfield<32>      getVideoEncodeH265RateControlStructureFlagsEXTStr                       (VkVideoEncodeH265RateControlStructureFlagsEXT value);
 tcu::Format::Bitfield<32>      getVideoDecodeH264PictureLayoutFlagsEXTStr                                      (VkVideoDecodeH264PictureLayoutFlagsEXT value);
 tcu::Format::Bitfield<32>      getImageConstraintsInfoFlagsFUCHSIAStr                                          (VkImageConstraintsInfoFlagsFUCHSIA value);
@@ -486,6 +489,7 @@ tcu::Format::Bitfield<32>   getPipelineLayoutCreateFlagsStr                                                         (VkPipelineLayo
 tcu::Format::Bitfield<32>      getDescriptorPoolResetFlagsStr                                                          (VkDescriptorPoolResetFlags value);
 tcu::Format::Bitfield<32>      getCommandPoolTrimFlagsStr                                                                      (VkCommandPoolTrimFlags value);
 tcu::Format::Bitfield<32>      getDescriptorUpdateTemplateCreateFlagsStr                                       (VkDescriptorUpdateTemplateCreateFlags value);
+tcu::Format::Bitfield<32>      getPrivateDataSlotCreateFlagsStr                                                        (VkPrivateDataSlotCreateFlags value);
 tcu::Format::Bitfield<32>      getDisplayModeCreateFlagsKHRStr                                                         (VkDisplayModeCreateFlagsKHR value);
 tcu::Format::Bitfield<32>      getDisplaySurfaceCreateFlagsKHRStr                                                      (VkDisplaySurfaceCreateFlagsKHR value);
 tcu::Format::Bitfield<32>      getPipelineRasterizationStateStreamCreateFlagsEXTStr            (VkPipelineRasterizationStateStreamCreateFlagsEXT value);
@@ -506,7 +510,6 @@ tcu::Format::Bitfield<32>   getAccelerationStructureMotionInstanceFlagsNVStr                        (Vk
 tcu::Format::Bitfield<32>      getAndroidSurfaceCreateFlagsKHRStr                                                      (VkAndroidSurfaceCreateFlagsKHR value);
 tcu::Format::Bitfield<32>      getVideoBeginCodingFlagsKHRStr                                                          (VkVideoBeginCodingFlagsKHR value);
 tcu::Format::Bitfield<32>      getVideoEndCodingFlagsKHRStr                                                            (VkVideoEndCodingFlagsKHR value);
-tcu::Format::Bitfield<32>      getVideoEncodeH265CapabilityFlagsEXTStr                                         (VkVideoEncodeH265CapabilityFlagsEXT value);
 tcu::Format::Bitfield<32>      getVideoEncodeH265CreateFlagsEXTStr                                                     (VkVideoEncodeH265CreateFlagsEXT value);
 tcu::Format::Bitfield<32>      getVideoDecodeH264CreateFlagsEXTStr                                                     (VkVideoDecodeH264CreateFlagsEXT value);
 tcu::Format::Bitfield<32>      getVideoDecodeH265CreateFlagsEXTStr                                                     (VkVideoDecodeH265CreateFlagsEXT value);
@@ -878,6 +881,8 @@ std::ostream&       operator<<      (std::ostream& s, const VkPresentIdKHR& value);
 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 VkDebugReportCallbackCreateInfoEXT& value);
@@ -1002,7 +1007,6 @@ std::ostream&     operator<<      (std::ostream& s, const VkPhysicalDeviceComputeShaderDe
 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);
@@ -1127,6 +1131,9 @@ std::ostream&     operator<<      (std::ostream& s, const VkMultiDrawIndexedInfoEXT& valu
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSamplerBorderColorComponentMappingCreateInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDescriptorSetBindingReferenceVALVE& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDescriptorSetLayoutHostMappingInfoVALVE& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSubpassFragmentDensityMapOffsetEndInfoQCOM& value);
@@ -1182,10 +1189,12 @@ std::ostream&   operator<<      (std::ostream& s, const VkVideoSessionParametersUpdateI
 std::ostream&  operator<<      (std::ostream& s, const VkVideoBeginCodingInfoKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEndCodingInfoKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoCodingControlInfoKHR& value);
+std::ostream&  operator<<      (std::ostream& s, const VkVideoDecodeCapabilitiesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoDecodeInfoKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDevicePortabilitySubsetFeaturesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDevicePortabilitySubsetPropertiesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeInfoKHR& value);
+std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeCapabilitiesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeRateControlLayerInfoKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeRateControlInfoKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH264SpsVuiFlags& value);
@@ -1198,17 +1207,20 @@ std::ostream&   operator<<      (std::ostream& s, const StdVideoH264PpsFlags& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH264PictureParameterSet& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264SliceHeaderFlags& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264PictureInfoFlags& value);
+std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264ReferenceInfoFlags& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264RefMgmtFlags& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264RefListModEntry& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264RefPicMarkingEntry& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264RefMemMgmtCtrlOperations& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264PictureInfo& value);
+std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264ReferenceInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264SliceHeader& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH264CapabilitiesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH264SessionCreateInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH264SessionParametersAddInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH264SessionParametersCreateInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH264DpbSlotInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH264ReferenceListsEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH264NaluSliceEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH264VclFrameInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH264EmitPictureParametersEXT& value);
@@ -1231,8 +1243,8 @@ std::ostream&     operator<<      (std::ostream& s, const StdVideoH265SpsFlags& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH265SequenceParameterSet& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH265PpsFlags& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH265PictureParameterSet& value);
-std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH265SliceHeaderFlags& value);
-std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH265SliceHeader& value);
+std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH265SliceSegmentHeaderFlags& value);
+std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH265SliceSegmentHeader& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH265ReferenceModificationFlags& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH265ReferenceModifications& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH265PictureInfoFlags& value);
@@ -1245,7 +1257,7 @@ std::ostream&     operator<<      (std::ostream& s, const VkVideoEncodeH265SessionParamet
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH265SessionParametersCreateInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH265DpbSlotInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH265ReferenceListsEXT& value);
-std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH265NaluSliceEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH265NaluSliceSegmentEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH265VclFrameInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH265EmitPictureParametersEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoEncodeH265ProfileEXT& value);
index 02c6d76..81f8f01 100644 (file)
@@ -381,6 +381,7 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR:                                                                                     return "VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR";
                case VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR:                                       return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR";
                case VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR:                                                                                           return "VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR:                                                                           return "VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR";
                case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:                                                       return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV";
                case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:                                                      return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV";
                case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:                                            return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV";
@@ -403,13 +404,14 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT:                                                                           return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT:                                                         return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT:                                           return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT:                                                           return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT:                                                                      return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT:                                                       return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT:                            return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT:                                       return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT:                                                            return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT:                                                                     return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT";
-               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT:                                                                        return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT";
+               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT:                                                        return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT:                                           return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT:                                                                           return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT:                                                           return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT";
@@ -596,7 +598,6 @@ const char* getStructureTypeName (VkStructureType value)
                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";
@@ -689,10 +690,13 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR:                                                                                           return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR";
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR:                                                                      return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR";
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR:                                                        return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR";
+               case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR:                                                                           return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV:                                          return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV";
                case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV:                                                        return "VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV";
                case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV:                                                         return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV";
                case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV:                                                                                            return "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV";
+               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";
@@ -750,6 +754,9 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT:                                       return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT:                          return "VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT:                       return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE:                      return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE";
+               case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE:                                                          return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE";
+               case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE:                                           return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM:                       return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM:                     return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM";
                case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM:                                       return "VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM";
@@ -2865,14 +2872,15 @@ tcu::Format::Bitfield<32> getImageAspectFlagsStr (VkImageAspectFlags value)
                tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_0_BIT,                               "VK_IMAGE_ASPECT_PLANE_0_BIT"),
                tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_1_BIT,                               "VK_IMAGE_ASPECT_PLANE_1_BIT"),
                tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_2_BIT,                               "VK_IMAGE_ASPECT_PLANE_2_BIT"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_NONE,                                              "VK_IMAGE_ASPECT_NONE"),
                tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT,    "VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT"),
                tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT,    "VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT"),
                tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT,    "VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT"),
                tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT,    "VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT"),
-               tcu::Format::BitDesc(VK_IMAGE_ASPECT_NONE_KHR,                                  "VK_IMAGE_ASPECT_NONE_KHR"),
                tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_0_BIT_KHR,                   "VK_IMAGE_ASPECT_PLANE_0_BIT_KHR"),
                tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_1_BIT_KHR,                   "VK_IMAGE_ASPECT_PLANE_1_BIT_KHR"),
                tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_2_BIT_KHR,                   "VK_IMAGE_ASPECT_PLANE_2_BIT_KHR"),
+               tcu::Format::BitDesc(VK_IMAGE_ASPECT_NONE_KHR,                                  "VK_IMAGE_ASPECT_NONE_KHR"),
                tcu::Format::BitDesc(VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM,                "VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
@@ -3804,15 +3812,6 @@ tcu::Format::Bitfield<32> getToolPurposeFlagsStr (VkToolPurposeFlags value)
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
-tcu::Format::Bitfield<32> getPrivateDataSlotCreateFlagsStr (VkPrivateDataSlotCreateFlags value)
-{
-       static const tcu::Format::BitDesc s_desc[] =
-       {
-               tcu::Format::BitDesc(VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM,    "VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM"),
-       };
-       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
-}
-
 tcu::Format::Bitfield<32> getSubmitFlagsStr (VkSubmitFlags value)
 {
        static const tcu::Format::BitDesc s_desc[] =
@@ -4215,6 +4214,18 @@ tcu::Format::Bitfield<32> getVideoCodingQualityPresetFlagsKHRStr (VkVideoCodingQ
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
+tcu::Format::Bitfield<32> getVideoDecodeCapabilityFlagsKHRStr (VkVideoDecodeCapabilityFlagsKHR value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_VIDEO_DECODE_CAPABILITY_DEFAULT_KHR,                                            "VK_VIDEO_DECODE_CAPABILITY_DEFAULT_KHR"),
+               tcu::Format::BitDesc(VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR,        "VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR"),
+               tcu::Format::BitDesc(VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR,        "VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR"),
+               tcu::Format::BitDesc(VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR,                         "VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
 tcu::Format::Bitfield<32> getVideoDecodeFlagsKHRStr (VkVideoDecodeFlagsKHR value)
 {
        static const tcu::Format::BitDesc s_desc[] =
@@ -4237,13 +4248,13 @@ tcu::Format::Bitfield<32> getVideoEncodeFlagsKHRStr (VkVideoEncodeFlagsKHR value
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
-tcu::Format::Bitfield<32> getVideoEncodeRateControlFlagsKHRStr (VkVideoEncodeRateControlFlagsKHR value)
+tcu::Format::Bitfield<32> getVideoEncodeCapabilityFlagsKHRStr (VkVideoEncodeCapabilityFlagsKHR value)
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR,                          "VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR,           "VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR,       "VK_VIDEO_ENCODE_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_CAPABILITY_DEFAULT_KHR,                                                            "VK_VIDEO_ENCODE_CAPABILITY_DEFAULT_KHR"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR,     "VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR,                                         "VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -4260,22 +4271,45 @@ tcu::Format::Bitfield<32> getVideoEncodeRateControlModeFlagsKHRStr (VkVideoEncod
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
+tcu::Format::Bitfield<32> getVideoEncodeRateControlFlagsKHRStr (VkVideoEncodeRateControlFlagsKHR value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR,                          "VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR,           "VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR,       "VK_VIDEO_ENCODE_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
 tcu::Format::Bitfield<32> getVideoEncodeH264CapabilityFlagsEXTStr (VkVideoEncodeH264CapabilityFlagsEXT value)
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT,                                                     "VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT,                                                     "VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT,         "VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT,                                     "VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT,                          "VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT,           "VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT,        "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT,         "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT,         "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT,          "VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT,     "VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT,                            "VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_BIT_EXT,                              "VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT,                             "VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT,   "VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT,                                             "VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT,                                    "VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT,                                  "VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT,                   "VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT,                               "VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT,                                             "VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT,                  "VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT,                  "VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT,                    "VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT,                                             "VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT,                                                             "VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT,                                                             "VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT,                "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT,                 "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT,                 "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT,    "VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT,                  "VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT,                                    "VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT,                               "VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT,                              "VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT,                                    "VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -4327,12 +4361,45 @@ tcu::Format::Bitfield<32> getVideoEncodeH264RateControlStructureFlagsEXTStr (VkV
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
+tcu::Format::Bitfield<32> getVideoEncodeH265CapabilityFlagsEXTStr (VkVideoEncodeH265CapabilityFlagsEXT value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT,                                     "VK_VIDEO_ENCODE_H265_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_SCALING_LISTS_BIT_EXT,                                                     "VK_VIDEO_ENCODE_H265_CAPABILITY_SCALING_LISTS_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_SAMPLE_ADAPTIVE_OFFSET_ENABLED_BIT_EXT,            "VK_VIDEO_ENCODE_H265_CAPABILITY_SAMPLE_ADAPTIVE_OFFSET_ENABLED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_PCM_ENABLE_BIT_EXT,                                                        "VK_VIDEO_ENCODE_H265_CAPABILITY_PCM_ENABLE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_SPS_TEMPORAL_MVP_ENABLED_BIT_EXT,                          "VK_VIDEO_ENCODE_H265_CAPABILITY_SPS_TEMPORAL_MVP_ENABLED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT,                                            "VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_INIT_QP_MINUS26_BIT_EXT,                                           "VK_VIDEO_ENCODE_H265_CAPABILITY_INIT_QP_MINUS26_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT,          "VK_VIDEO_ENCODE_H265_CAPABILITY_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_SIGN_DATA_HIDING_ENABLED_BIT_EXT,                          "VK_VIDEO_ENCODE_H265_CAPABILITY_SIGN_DATA_HIDING_ENABLED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_ENABLED_BIT_EXT,                            "VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_ENABLED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT,       "VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT,                                                     "VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT,                                           "VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT,                            "VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT,                         "VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT,                       "VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT,        "VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT,                           "VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT,                           "VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT,                           "VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT,                           "VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT,                       "VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT,                           "VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT,                                      "VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT,                                            "VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
 tcu::Format::Bitfield<32> getVideoEncodeH265InputModeFlagsEXTStr (VkVideoEncodeH265InputModeFlagsEXT value)
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT,                             "VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_BIT_EXT,                             "VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_SEGMENT_BIT_EXT,             "VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_SEGMENT_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT,                   "VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT,    "VK_VIDEO_ENCODE_H265_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT"),
        };
@@ -4344,7 +4411,7 @@ tcu::Format::Bitfield<32> getVideoEncodeH265OutputModeFlagsEXTStr (VkVideoEncode
        static const tcu::Format::BitDesc s_desc[] =
        {
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT,                    "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT"),
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_BIT_EXT,                    "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_SEGMENT_BIT_EXT,    "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_SEGMENT_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT,                  "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT,   "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT"),
        };
@@ -4355,7 +4422,6 @@ tcu::Format::Bitfield<32> getVideoEncodeH265CtbSizeFlagsEXTStr (VkVideoEncodeH26
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT,                           "VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT,                          "VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT,                          "VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT,                          "VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT"),
@@ -4364,6 +4430,19 @@ tcu::Format::Bitfield<32> getVideoEncodeH265CtbSizeFlagsEXTStr (VkVideoEncodeH26
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
+tcu::Format::Bitfield<32> getVideoEncodeH265TransformBlockSizeFlagsEXTStr (VkVideoEncodeH265TransformBlockSizeFlagsEXT value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_EXT,                               "VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_EXT,                               "VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_EXT,                              "VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_EXT,                              "VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_EXT,  "VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_EXT"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
 tcu::Format::Bitfield<32> getVideoEncodeH265RateControlStructureFlagsEXTStr (VkVideoEncodeH265RateControlStructureFlagsEXT value)
 {
        static const tcu::Format::BitDesc s_desc[] =
@@ -4492,6 +4571,11 @@ tcu::Format::Bitfield<32> getDescriptorUpdateTemplateCreateFlagsStr (VkDescripto
        return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
 }
 
+tcu::Format::Bitfield<32> getPrivateDataSlotCreateFlagsStr (VkPrivateDataSlotCreateFlags value)
+{
+       return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
+}
+
 tcu::Format::Bitfield<32> getDisplayModeCreateFlagsKHRStr (VkDisplayModeCreateFlagsKHR value)
 {
        return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
@@ -4592,11 +4676,6 @@ tcu::Format::Bitfield<32> getVideoEndCodingFlagsKHRStr (VkVideoEndCodingFlagsKHR
        return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
 }
 
-tcu::Format::Bitfield<32> getVideoEncodeH265CapabilityFlagsEXTStr (VkVideoEncodeH265CapabilityFlagsEXT value)
-{
-       return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
-}
-
 tcu::Format::Bitfield<32> getVideoEncodeH265CreateFlagsEXTStr (VkVideoEncodeH265CreateFlagsEXT value)
 {
        return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
@@ -9329,6 +9408,26 @@ std::ostream& operator<< (std::ostream& s, const VkCheckpointData2NV& value)
        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";
@@ -10790,16 +10889,6 @@ std::ostream& operator<< (std::ostream& s, const VkDrawMeshTasksIndirectCommandN
        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";
@@ -12213,6 +12302,38 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePageableDeviceL
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE& value)
+{
+       s << "VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tdescriptorSetHostMapping = " << value.descriptorSetHostMapping << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDescriptorSetBindingReferenceVALVE& value)
+{
+       s << "VkDescriptorSetBindingReferenceVALVE = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tdescriptorSetLayout = " << value.descriptorSetLayout << '\n';
+       s << "\tbinding = " << value.binding << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutHostMappingInfoVALVE& value)
+{
+       s << "VkDescriptorSetLayoutHostMappingInfoVALVE = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tdescriptorOffset = " << value.descriptorOffset << '\n';
+       s << "\tdescriptorSize = " << value.descriptorSize << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& value)
 {
        s << "VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM = {\n";
@@ -12884,6 +13005,16 @@ std::ostream& operator<< (std::ostream& s, const VkVideoCodingControlInfoKHR& va
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkVideoDecodeCapabilitiesKHR& value)
+{
+       s << "VkVideoDecodeCapabilitiesKHR = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tflags = " << getVideoDecodeCapabilityFlagsKHRStr(value.flags) << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkVideoDecodeInfoKHR& value)
 {
        s << "VkVideoDecodeInfoKHR = {\n";
@@ -12957,6 +13088,20 @@ std::ostream& operator<< (std::ostream& s, const VkVideoEncodeInfoKHR& value)
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkVideoEncodeCapabilitiesKHR& value)
+{
+       s << "VkVideoEncodeCapabilitiesKHR = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tflags = " << getVideoEncodeCapabilityFlagsKHRStr(value.flags) << '\n';
+       s << "\trateControlModes = " << getVideoEncodeRateControlModeFlagsKHRStr(value.rateControlModes) << '\n';
+       s << "\trateControlLayerCount = " << value.rateControlLayerCount << '\n';
+       s << "\tqualityLevelCount = " << value.qualityLevelCount << '\n';
+       s << "\tinputImageDataFillAlignment = " << value.inputImageDataFillAlignment << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkVideoEncodeRateControlLayerInfoKHR& value)
 {
        s << "VkVideoEncodeRateControlLayerInfoKHR = {\n";
@@ -13142,11 +13287,9 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH264PictureParameterSet
 std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264SliceHeaderFlags& value)
 {
        s << "StdVideoEncodeH264SliceHeaderFlags = {\n";
-       s << "\tidr_flag = " << value.idr_flag << '\n';
-       s << "\tis_reference_flag = " << value.is_reference_flag << '\n';
+       s << "\tdirect_spatial_mv_pred_flag = " << value.direct_spatial_mv_pred_flag << '\n';
        s << "\tnum_ref_idx_active_override_flag = " << value.num_ref_idx_active_override_flag << '\n';
        s << "\tno_output_of_prior_pics_flag = " << value.no_output_of_prior_pics_flag << '\n';
-       s << "\tlong_term_reference_flag = " << value.long_term_reference_flag << '\n';
        s << "\tadaptive_ref_pic_marking_mode_flag = " << value.adaptive_ref_pic_marking_mode_flag << '\n';
        s << "\tno_prior_references_available_flag = " << value.no_prior_references_available_flag << '\n';
        s << '}';
@@ -13163,6 +13306,14 @@ std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264PictureInfoFl
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264ReferenceInfoFlags& value)
+{
+       s << "StdVideoEncodeH264ReferenceInfoFlags = {\n";
+       s << "\tis_long_term = " << value.is_long_term << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264RefMgmtFlags& value)
 {
        s << "StdVideoEncodeH264RefMgmtFlags = {\n";
@@ -13213,8 +13364,18 @@ std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264PictureInfo&
        s << "StdVideoEncodeH264PictureInfo = {\n";
        s << "\tflags = " << value.flags << '\n';
        s << "\tpictureType = " << value.pictureType << '\n';
-       s << "\tframeNum = " << value.frameNum << '\n';
-       s << "\tpictureOrderCount = " << value.pictureOrderCount << '\n';
+       s << "\tframe_num = " << value.frame_num << '\n';
+       s << "\tPicOrderCnt = " << value.PicOrderCnt << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264ReferenceInfo& value)
+{
+       s << "StdVideoEncodeH264ReferenceInfo = {\n";
+       s << "\tflags = " << value.flags << '\n';
+       s << "\tFrameNum = " << value.FrameNum << '\n';
+       s << "\tPicOrderCnt = " << value.PicOrderCnt << '\n';
        s << "\tlong_term_pic_num = " << value.long_term_pic_num << '\n';
        s << "\tlong_term_frame_idx = " << value.long_term_frame_idx << '\n';
        s << '}';
@@ -13225,6 +13386,7 @@ std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264SliceHeader&
 {
        s << "StdVideoEncodeH264SliceHeader = {\n";
        s << "\tflags = " << value.flags << '\n';
+       s << "\tfirst_mb_in_slice = " << value.first_mb_in_slice << '\n';
        s << "\tslice_type = " << value.slice_type << '\n';
        s << "\tseq_parameter_set_id = " << value.seq_parameter_set_id << '\n';
        s << "\tpic_parameter_set_id = " << value.pic_parameter_set_id << '\n';
@@ -13235,7 +13397,6 @@ std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264SliceHeader&
        s << "\tdisable_deblocking_filter_idc = " << value.disable_deblocking_filter_idc << '\n';
        s << "\tslice_alpha_c0_offset_div2 = " << value.slice_alpha_c0_offset_div2 << '\n';
        s << "\tslice_beta_offset_div2 = " << value.slice_beta_offset_div2 << '\n';
-       s << "\tpMemMgmtCtrlOperations = " << value.pMemMgmtCtrlOperations << '\n';
        s << '}';
        return s;
 }
@@ -13248,13 +13409,14 @@ std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264CapabilitiesEX
        s << "\tflags = " << getVideoEncodeH264CapabilityFlagsEXTStr(value.flags) << '\n';
        s << "\tinputModeFlags = " << getVideoEncodeH264InputModeFlagsEXTStr(value.inputModeFlags) << '\n';
        s << "\toutputModeFlags = " << getVideoEncodeH264OutputModeFlagsEXTStr(value.outputModeFlags) << '\n';
-       s << "\tminPictureSizeInMbs = " << value.minPictureSizeInMbs << '\n';
-       s << "\tmaxPictureSizeInMbs = " << value.maxPictureSizeInMbs << '\n';
-       s << "\tinputImageDataAlignment = " << value.inputImageDataAlignment << '\n';
-       s << "\tmaxNumL0ReferenceForP = " << value.maxNumL0ReferenceForP << '\n';
-       s << "\tmaxNumL0ReferenceForB = " << value.maxNumL0ReferenceForB << '\n';
-       s << "\tmaxNumL1Reference = " << value.maxNumL1Reference << '\n';
-       s << "\tqualityLevelCount = " << value.qualityLevelCount << '\n';
+       s << "\tmaxPPictureL0ReferenceCount = " << value.maxPPictureL0ReferenceCount << '\n';
+       s << "\tmaxBPictureL0ReferenceCount = " << value.maxBPictureL0ReferenceCount << '\n';
+       s << "\tmaxL1ReferenceCount = " << value.maxL1ReferenceCount << '\n';
+       s << "\tmotionVectorsOverPicBoundariesFlag = " << value.motionVectorsOverPicBoundariesFlag << '\n';
+       s << "\tmaxBytesPerPicDenom = " << value.maxBytesPerPicDenom << '\n';
+       s << "\tmaxBitsPerMbDenom = " << value.maxBitsPerMbDenom << '\n';
+       s << "\tlog2MaxMvLengthHorizontal = " << value.log2MaxMvLengthHorizontal << '\n';
+       s << "\tlog2MaxMvLengthVertical = " << value.log2MaxMvLengthVertical << '\n';
        s << "\tstdExtensionVersion = " << value.stdExtensionVersion << '\n';
        s << '}';
        return s;
@@ -13303,7 +13465,21 @@ std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264DpbSlotInfoEXT
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
        s << "\tslotIndex = " << value.slotIndex << '\n';
-       s << "\tpStdPictureInfo = " << value.pStdPictureInfo << '\n';
+       s << "\tpStdReferenceInfo = " << value.pStdReferenceInfo << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264ReferenceListsEXT& value)
+{
+       s << "VkVideoEncodeH264ReferenceListsEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\treferenceList0EntryCount = " << value.referenceList0EntryCount << '\n';
+       s << "\tpReferenceList0Entries = " << value.pReferenceList0Entries << '\n';
+       s << "\treferenceList1EntryCount = " << value.referenceList1EntryCount << '\n';
+       s << "\tpReferenceList1Entries = " << value.pReferenceList1Entries << '\n';
+       s << "\tpMemMgmtCtrlOperations = " << value.pMemMgmtCtrlOperations << '\n';
        s << '}';
        return s;
 }
@@ -13313,12 +13489,9 @@ std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264NaluSliceEXT&
        s << "VkVideoEncodeH264NaluSliceEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tpSliceHeaderStd = " << value.pSliceHeaderStd << '\n';
        s << "\tmbCount = " << value.mbCount << '\n';
-       s << "\trefFinalList0EntryCount = " << value.refFinalList0EntryCount << '\n';
-       s << "\tpRefFinalList0Entries = " << value.pRefFinalList0Entries << '\n';
-       s << "\trefFinalList1EntryCount = " << value.refFinalList1EntryCount << '\n';
-       s << "\tpRefFinalList1Entries = " << value.pRefFinalList1Entries << '\n';
+       s << "\tpReferenceFinalLists = " << value.pReferenceFinalLists << '\n';
+       s << "\tpSliceHeaderStd = " << value.pSliceHeaderStd << '\n';
        s << '}';
        return s;
 }
@@ -13328,10 +13501,7 @@ std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264VclFrameInfoEX
        s << "VkVideoEncodeH264VclFrameInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\trefDefaultFinalList0EntryCount = " << value.refDefaultFinalList0EntryCount << '\n';
-       s << "\tpRefDefaultFinalList0Entries = " << value.pRefDefaultFinalList0Entries << '\n';
-       s << "\trefDefaultFinalList1EntryCount = " << value.refDefaultFinalList1EntryCount << '\n';
-       s << "\tpRefDefaultFinalList1Entries = " << value.pRefDefaultFinalList1Entries << '\n';
+       s << "\tpReferenceFinalLists = " << value.pReferenceFinalLists << '\n';
        s << "\tnaluSliceEntryCount = " << value.naluSliceEntryCount << '\n';
        s << "\tpNaluSliceEntries = " << value.pNaluSliceEntries << '\n';
        s << "\tpCurrentPictureInfo = " << value.pCurrentPictureInfo << '\n';
@@ -13728,9 +13898,9 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265PictureParameterSet
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceHeaderFlags& value)
+std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceSegmentHeaderFlags& value)
 {
-       s << "StdVideoEncodeH265SliceHeaderFlags = {\n";
+       s << "StdVideoEncodeH265SliceSegmentHeaderFlags = {\n";
        s << "\tfirst_slice_segment_in_pic_flag = " << value.first_slice_segment_in_pic_flag << '\n';
        s << "\tno_output_of_prior_pics_flag = " << value.no_output_of_prior_pics_flag << '\n';
        s << "\tdependent_slice_segment_flag = " << value.dependent_slice_segment_flag << '\n';
@@ -13754,9 +13924,9 @@ std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceHeaderFl
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceHeader& value)
+std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceSegmentHeader& value)
 {
-       s << "StdVideoEncodeH265SliceHeader = {\n";
+       s << "StdVideoEncodeH265SliceSegmentHeader = {\n";
        s << "\tslice_type = " << value.slice_type << '\n';
        s << "\tslice_pic_parameter_set_id = " << value.slice_pic_parameter_set_id << '\n';
        s << "\tnum_short_term_ref_pic_sets = " << value.num_short_term_ref_pic_sets << '\n';
@@ -13778,7 +13948,6 @@ std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceHeader&
        s << "\tdelta_chroma_weight_l1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_chroma_weight_l1), DE_ARRAY_END(value.delta_chroma_weight_l1)) << '\n';
        s << "\tdelta_chroma_offset_l1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_chroma_offset_l1), DE_ARRAY_END(value.delta_chroma_offset_l1)) << '\n';
        s << "\tMaxNumMergeCand = " << value.MaxNumMergeCand << '\n';
-       s << "\tslice_qp_delta = " << value.slice_qp_delta << '\n';
        s << "\tslice_cb_qp_offset = " << value.slice_cb_qp_offset << '\n';
        s << "\tslice_cr_qp_offset = " << value.slice_cr_qp_offset << '\n';
        s << "\tslice_beta_offset_div2 = " << value.slice_beta_offset_div2 << '\n';
@@ -13863,12 +14032,22 @@ std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265CapabilitiesEX
        s << "\tinputModeFlags = " << getVideoEncodeH265InputModeFlagsEXTStr(value.inputModeFlags) << '\n';
        s << "\toutputModeFlags = " << getVideoEncodeH265OutputModeFlagsEXTStr(value.outputModeFlags) << '\n';
        s << "\tctbSizes = " << getVideoEncodeH265CtbSizeFlagsEXTStr(value.ctbSizes) << '\n';
-       s << "\tinputImageDataAlignment = " << value.inputImageDataAlignment << '\n';
-       s << "\tmaxNumL0ReferenceForP = " << value.maxNumL0ReferenceForP << '\n';
-       s << "\tmaxNumL0ReferenceForB = " << value.maxNumL0ReferenceForB << '\n';
-       s << "\tmaxNumL1Reference = " << value.maxNumL1Reference << '\n';
-       s << "\tmaxNumSubLayers = " << value.maxNumSubLayers << '\n';
-       s << "\tqualityLevelCount = " << value.qualityLevelCount << '\n';
+       s << "\ttransformBlockSizes = " << getVideoEncodeH265TransformBlockSizeFlagsEXTStr(value.transformBlockSizes) << '\n';
+       s << "\tmaxPPictureL0ReferenceCount = " << value.maxPPictureL0ReferenceCount << '\n';
+       s << "\tmaxBPictureL0ReferenceCount = " << value.maxBPictureL0ReferenceCount << '\n';
+       s << "\tmaxL1ReferenceCount = " << value.maxL1ReferenceCount << '\n';
+       s << "\tmaxSubLayersCount = " << value.maxSubLayersCount << '\n';
+       s << "\tminLog2MinLumaCodingBlockSizeMinus3 = " << value.minLog2MinLumaCodingBlockSizeMinus3 << '\n';
+       s << "\tmaxLog2MinLumaCodingBlockSizeMinus3 = " << value.maxLog2MinLumaCodingBlockSizeMinus3 << '\n';
+       s << "\tminLog2MinLumaTransformBlockSizeMinus2 = " << value.minLog2MinLumaTransformBlockSizeMinus2 << '\n';
+       s << "\tmaxLog2MinLumaTransformBlockSizeMinus2 = " << value.maxLog2MinLumaTransformBlockSizeMinus2 << '\n';
+       s << "\tminMaxTransformHierarchyDepthInter = " << value.minMaxTransformHierarchyDepthInter << '\n';
+       s << "\tmaxMaxTransformHierarchyDepthInter = " << value.maxMaxTransformHierarchyDepthInter << '\n';
+       s << "\tminMaxTransformHierarchyDepthIntra = " << value.minMaxTransformHierarchyDepthIntra << '\n';
+       s << "\tmaxMaxTransformHierarchyDepthIntra = " << value.maxMaxTransformHierarchyDepthIntra << '\n';
+       s << "\tmaxDiffCuQpDeltaDepth = " << value.maxDiffCuQpDeltaDepth << '\n';
+       s << "\tminMaxNumMergeCand = " << value.minMaxNumMergeCand << '\n';
+       s << "\tmaxMaxNumMergeCand = " << value.maxMaxNumMergeCand << '\n';
        s << "\tstdExtensionVersion = " << value.stdExtensionVersion << '\n';
        s << '}';
        return s;
@@ -13938,14 +14117,14 @@ std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265ReferenceLists
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265NaluSliceEXT& value)
+std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265NaluSliceSegmentEXT& value)
 {
-       s << "VkVideoEncodeH265NaluSliceEXT = {\n";
+       s << "VkVideoEncodeH265NaluSliceSegmentEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
        s << "\tctbCount = " << value.ctbCount << '\n';
        s << "\tpReferenceFinalLists = " << value.pReferenceFinalLists << '\n';
-       s << "\tpSliceHeaderStd = " << value.pSliceHeaderStd << '\n';
+       s << "\tpSliceSegmentHeaderStd = " << value.pSliceSegmentHeaderStd << '\n';
        s << '}';
        return s;
 }
@@ -13956,8 +14135,8 @@ std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265VclFrameInfoEX
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
        s << "\tpReferenceFinalLists = " << value.pReferenceFinalLists << '\n';
-       s << "\tnaluSliceEntryCount = " << value.naluSliceEntryCount << '\n';
-       s << "\tpNaluSliceEntries = " << value.pNaluSliceEntries << '\n';
+       s << "\tnaluSliceSegmentEntryCount = " << value.naluSliceSegmentEntryCount << '\n';
+       s << "\tpNaluSliceSegmentEntries = " << value.pNaluSliceSegmentEntries << '\n';
        s << "\tpCurrentPictureInfo = " << value.pCurrentPictureInfo << '\n';
        s << '}';
        return s;
index 97649bf..4946e50 100644 (file)
@@ -3579,6 +3579,20 @@ struct VkCheckpointData2NV
        void*                                   pCheckpointMarker;
 };
 
+struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                fragmentShaderBarycentric;
+};
+
+struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                triStripVertexOrderIndependentOfProvokingVertex;
+};
+
 struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
 {
        VkStructureType sType;
@@ -4668,13 +4682,6 @@ struct VkDrawMeshTasksIndirectCommandNV
        uint32_t        firstTask;
 };
 
-struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
-{
-       VkStructureType sType;
-       void*                   pNext;
-       VkBool32                fragmentShaderBarycentric;
-};
-
 struct VkPhysicalDeviceShaderImageFootprintFeaturesNV
 {
        VkStructureType sType;
@@ -5489,7 +5496,7 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT
 struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
 {
        VkStructureType sType;
-       const void*             pNext;
+       void*                   pNext;
        VkBool32                rasterizationOrderColorAttachmentAccess;
        VkBool32                rasterizationOrderDepthAttachmentAccess;
        VkBool32                rasterizationOrderStencilAttachmentAccess;
@@ -5716,6 +5723,29 @@ struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
        VkBool32                pageableDeviceLocalMemory;
 };
 
+struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                descriptorSetHostMapping;
+};
+
+struct VkDescriptorSetBindingReferenceVALVE
+{
+       VkStructureType                 sType;
+       const void*                             pNext;
+       VkDescriptorSetLayout   descriptorSetLayout;
+       uint32_t                                binding;
+};
+
+struct VkDescriptorSetLayoutHostMappingInfoVALVE
+{
+       VkStructureType sType;
+       void*                   pNext;
+       size_t                  descriptorOffset;
+       uint32_t                descriptorSize;
+};
+
 struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
 {
        VkStructureType sType;
@@ -6222,6 +6252,13 @@ struct VkVideoCodingControlInfoKHR
        VkVideoCodingControlFlagsKHR    flags;
 };
 
+struct VkVideoDecodeCapabilitiesKHR
+{
+       VkStructureType                                 sType;
+       void*                                                   pNext;
+       VkVideoDecodeCapabilityFlagsKHR flags;
+};
+
 struct VkVideoDecodeInfoKHR
 {
        VkStructureType                                 sType;
@@ -6283,6 +6320,17 @@ struct VkVideoEncodeInfoKHR
        uint32_t                                                precedingExternallyEncodedBytes;
 };
 
+struct VkVideoEncodeCapabilitiesKHR
+{
+       VkStructureType                                                 sType;
+       const void*                                                             pNext;
+       VkVideoEncodeCapabilityFlagsKHR                 flags;
+       VkVideoEncodeRateControlModeFlagsKHR    rateControlModes;
+       uint8_t                                                                 rateControlLayerCount;
+       uint8_t                                                                 qualityLevelCount;
+       VkExtent2D                                                              inputImageDataFillAlignment;
+};
+
 struct VkVideoEncodeRateControlLayerInfoKHR
 {
        VkStructureType sType;
@@ -6437,11 +6485,9 @@ struct StdVideoH264PictureParameterSet
 
 struct StdVideoEncodeH264SliceHeaderFlags
 {
-       uint32_t        idr_flag:1;
-       uint32_t        is_reference_flag:1;
+       uint32_t        direct_spatial_mv_pred_flag:1;
        uint32_t        num_ref_idx_active_override_flag:1;
        uint32_t        no_output_of_prior_pics_flag:1;
-       uint32_t        long_term_reference_flag:1;
        uint32_t        adaptive_ref_pic_marking_mode_flag:1;
        uint32_t        no_prior_references_available_flag:1;
 };
@@ -6453,6 +6499,11 @@ struct StdVideoEncodeH264PictureInfoFlags
        uint32_t        long_term_reference_flag:1;
 };
 
+struct StdVideoEncodeH264ReferenceInfoFlags
+{
+       uint32_t        is_long_term:1;
+};
+
 struct StdVideoEncodeH264RefMgmtFlags
 {
        uint32_t        ref_pic_list_modification_l0_flag:1;
@@ -6490,26 +6541,33 @@ struct StdVideoEncodeH264PictureInfo
 {
        StdVideoEncodeH264PictureInfoFlags      flags;
        StdVideoH264PictureType                         pictureType;
-       uint32_t                                                        frameNum;
-       uint32_t                                                        pictureOrderCount;
-       uint16_t                                                        long_term_pic_num;
-       uint16_t                                                        long_term_frame_idx;
+       uint32_t                                                        frame_num;
+       int32_t                                                         PicOrderCnt;
+};
+
+struct StdVideoEncodeH264ReferenceInfo
+{
+       StdVideoEncodeH264ReferenceInfoFlags    flags;
+       uint32_t                                                                FrameNum;
+       int32_t                                                                 PicOrderCnt;
+       uint16_t                                                                long_term_pic_num;
+       uint16_t                                                                long_term_frame_idx;
 };
 
 struct StdVideoEncodeH264SliceHeader
 {
-       StdVideoEncodeH264SliceHeaderFlags                      flags;
-       StdVideoH264SliceType                                           slice_type;
-       uint8_t                                                                         seq_parameter_set_id;
-       uint8_t                                                                         pic_parameter_set_id;
-       uint16_t                                                                        idr_pic_id;
-       uint8_t                                                                         num_ref_idx_l0_active_minus1;
-       uint8_t                                                                         num_ref_idx_l1_active_minus1;
-       StdVideoH264CabacInitIdc                                        cabac_init_idc;
-       StdVideoH264DisableDeblockingFilterIdc          disable_deblocking_filter_idc;
-       int8_t                                                                          slice_alpha_c0_offset_div2;
-       int8_t                                                                          slice_beta_offset_div2;
-       StdVideoEncodeH264RefMemMgmtCtrlOperations*     pMemMgmtCtrlOperations;
+       StdVideoEncodeH264SliceHeaderFlags              flags;
+       uint32_t                                                                first_mb_in_slice;
+       StdVideoH264SliceType                                   slice_type;
+       uint8_t                                                                 seq_parameter_set_id;
+       uint8_t                                                                 pic_parameter_set_id;
+       uint16_t                                                                idr_pic_id;
+       uint8_t                                                                 num_ref_idx_l0_active_minus1;
+       uint8_t                                                                 num_ref_idx_l1_active_minus1;
+       StdVideoH264CabacInitIdc                                cabac_init_idc;
+       StdVideoH264DisableDeblockingFilterIdc  disable_deblocking_filter_idc;
+       int8_t                                                                  slice_alpha_c0_offset_div2;
+       int8_t                                                                  slice_beta_offset_div2;
 };
 
 struct VkVideoEncodeH264CapabilitiesEXT
@@ -6519,13 +6577,14 @@ struct VkVideoEncodeH264CapabilitiesEXT
        VkVideoEncodeH264CapabilityFlagsEXT     flags;
        VkVideoEncodeH264InputModeFlagsEXT      inputModeFlags;
        VkVideoEncodeH264OutputModeFlagsEXT     outputModeFlags;
-       VkExtent2D                                                      minPictureSizeInMbs;
-       VkExtent2D                                                      maxPictureSizeInMbs;
-       VkExtent2D                                                      inputImageDataAlignment;
-       uint8_t                                                         maxNumL0ReferenceForP;
-       uint8_t                                                         maxNumL0ReferenceForB;
-       uint8_t                                                         maxNumL1Reference;
-       uint8_t                                                         qualityLevelCount;
+       uint8_t                                                         maxPPictureL0ReferenceCount;
+       uint8_t                                                         maxBPictureL0ReferenceCount;
+       uint8_t                                                         maxL1ReferenceCount;
+       VkBool32                                                        motionVectorsOverPicBoundariesFlag;
+       uint32_t                                                        maxBytesPerPicDenom;
+       uint32_t                                                        maxBitsPerMbDenom;
+       uint32_t                                                        log2MaxMvLengthHorizontal;
+       uint32_t                                                        log2MaxMvLengthVertical;
        VkExtensionProperties                           stdExtensionVersion;
 };
 
@@ -6562,32 +6621,37 @@ struct VkVideoEncodeH264DpbSlotInfoEXT
        VkStructureType                                                 sType;
        const void*                                                             pNext;
        int8_t                                                                  slotIndex;
-       const StdVideoEncodeH264PictureInfo*    pStdPictureInfo;
+       const StdVideoEncodeH264ReferenceInfo*  pStdReferenceInfo;
+};
+
+struct VkVideoEncodeH264ReferenceListsEXT
+{
+       VkStructureType                                                                         sType;
+       const void*                                                                                     pNext;
+       uint8_t                                                                                         referenceList0EntryCount;
+       const VkVideoEncodeH264DpbSlotInfoEXT*                          pReferenceList0Entries;
+       uint8_t                                                                                         referenceList1EntryCount;
+       const VkVideoEncodeH264DpbSlotInfoEXT*                          pReferenceList1Entries;
+       const StdVideoEncodeH264RefMemMgmtCtrlOperations*       pMemMgmtCtrlOperations;
 };
 
 struct VkVideoEncodeH264NaluSliceEXT
 {
-       VkStructureType                                                 sType;
-       const void*                                                             pNext;
-       const StdVideoEncodeH264SliceHeader*    pSliceHeaderStd;
-       uint32_t                                                                mbCount;
-       uint8_t                                                                 refFinalList0EntryCount;
-       const VkVideoEncodeH264DpbSlotInfoEXT*  pRefFinalList0Entries;
-       uint8_t                                                                 refFinalList1EntryCount;
-       const VkVideoEncodeH264DpbSlotInfoEXT*  pRefFinalList1Entries;
+       VkStructureType                                                         sType;
+       const void*                                                                     pNext;
+       uint32_t                                                                        mbCount;
+       const VkVideoEncodeH264ReferenceListsEXT*       pReferenceFinalLists;
+       const StdVideoEncodeH264SliceHeader*            pSliceHeaderStd;
 };
 
 struct VkVideoEncodeH264VclFrameInfoEXT
 {
-       VkStructureType                                                 sType;
-       const void*                                                             pNext;
-       uint8_t                                                                 refDefaultFinalList0EntryCount;
-       const VkVideoEncodeH264DpbSlotInfoEXT*  pRefDefaultFinalList0Entries;
-       uint8_t                                                                 refDefaultFinalList1EntryCount;
-       const VkVideoEncodeH264DpbSlotInfoEXT*  pRefDefaultFinalList1Entries;
-       uint32_t                                                                naluSliceEntryCount;
-       const VkVideoEncodeH264NaluSliceEXT*    pNaluSliceEntries;
-       const VkVideoEncodeH264DpbSlotInfoEXT*  pCurrentPictureInfo;
+       VkStructureType                                                         sType;
+       const void*                                                                     pNext;
+       const VkVideoEncodeH264ReferenceListsEXT*       pReferenceFinalLists;
+       uint32_t                                                                        naluSliceEntryCount;
+       const VkVideoEncodeH264NaluSliceEXT*            pNaluSliceEntries;
+       const StdVideoEncodeH264PictureInfo*            pCurrentPictureInfo;
 };
 
 struct VkVideoEncodeH264EmitPictureParametersEXT
@@ -6919,7 +6983,7 @@ struct StdVideoH265PictureParameterSet
        StdVideoH265PredictorPaletteEntries*    pPredictorPaletteEntries;
 };
 
-struct StdVideoEncodeH265SliceHeaderFlags
+struct StdVideoEncodeH265SliceSegmentHeaderFlags
 {
        uint32_t        first_slice_segment_in_pic_flag:1;
        uint32_t        no_output_of_prior_pics_flag:1;
@@ -6942,38 +7006,37 @@ struct StdVideoEncodeH265SliceHeaderFlags
        uint16_t        chroma_weight_l1_flag;
 };
 
-struct StdVideoEncodeH265SliceHeader
+struct StdVideoEncodeH265SliceSegmentHeader
 {
-       StdVideoH265SliceType                           slice_type;
-       uint8_t                                                         slice_pic_parameter_set_id;
-       uint8_t                                                         num_short_term_ref_pic_sets;
-       uint32_t                                                        slice_segment_address;
-       uint8_t                                                         short_term_ref_pic_set_idx;
-       uint8_t                                                         num_long_term_sps;
-       uint8_t                                                         num_long_term_pics;
-       uint8_t                                                         collocated_ref_idx;
-       uint8_t                                                         num_ref_idx_l0_active_minus1;
-       uint8_t                                                         num_ref_idx_l1_active_minus1;
-       uint8_t                                                         luma_log2_weight_denom;
-       int8_t                                                          delta_chroma_log2_weight_denom;
-       int8_t                                                          delta_luma_weight_l0[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE];
-       int8_t                                                          luma_offset_l0[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE];
-       int8_t                                                          delta_chroma_weight_l0[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM];
-       int8_t                                                          delta_chroma_offset_l0[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM];
-       int8_t                                                          delta_luma_weight_l1[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE];
-       int8_t                                                          luma_offset_l1[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE];
-       int8_t                                                          delta_chroma_weight_l1[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM];
-       int8_t                                                          delta_chroma_offset_l1[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM];
-       uint8_t                                                         MaxNumMergeCand;
-       int8_t                                                          slice_qp_delta;
-       int8_t                                                          slice_cb_qp_offset;
-       int8_t                                                          slice_cr_qp_offset;
-       int8_t                                                          slice_beta_offset_div2;
-       int8_t                                                          slice_tc_offset_div2;
-       int8_t                                                          slice_act_y_qp_offset;
-       int8_t                                                          slice_act_cb_qp_offset;
-       int8_t                                                          slice_act_cr_qp_offset;
-       StdVideoEncodeH265SliceHeaderFlags      flags;
+       StdVideoH265SliceType                                           slice_type;
+       uint8_t                                                                         slice_pic_parameter_set_id;
+       uint8_t                                                                         num_short_term_ref_pic_sets;
+       uint32_t                                                                        slice_segment_address;
+       uint8_t                                                                         short_term_ref_pic_set_idx;
+       uint8_t                                                                         num_long_term_sps;
+       uint8_t                                                                         num_long_term_pics;
+       uint8_t                                                                         collocated_ref_idx;
+       uint8_t                                                                         num_ref_idx_l0_active_minus1;
+       uint8_t                                                                         num_ref_idx_l1_active_minus1;
+       uint8_t                                                                         luma_log2_weight_denom;
+       int8_t                                                                          delta_chroma_log2_weight_denom;
+       int8_t                                                                          delta_luma_weight_l0[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE];
+       int8_t                                                                          luma_offset_l0[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE];
+       int8_t                                                                          delta_chroma_weight_l0[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM];
+       int8_t                                                                          delta_chroma_offset_l0[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM];
+       int8_t                                                                          delta_luma_weight_l1[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE];
+       int8_t                                                                          luma_offset_l1[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE];
+       int8_t                                                                          delta_chroma_weight_l1[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM];
+       int8_t                                                                          delta_chroma_offset_l1[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM];
+       uint8_t                                                                         MaxNumMergeCand;
+       int8_t                                                                          slice_cb_qp_offset;
+       int8_t                                                                          slice_cr_qp_offset;
+       int8_t                                                                          slice_beta_offset_div2;
+       int8_t                                                                          slice_tc_offset_div2;
+       int8_t                                                                          slice_act_y_qp_offset;
+       int8_t                                                                          slice_act_cb_qp_offset;
+       int8_t                                                                          slice_act_cr_qp_offset;
+       StdVideoEncodeH265SliceSegmentHeaderFlags       flags;
 };
 
 struct StdVideoEncodeH265ReferenceModificationFlags
@@ -7023,19 +7086,29 @@ struct StdVideoEncodeH265ReferenceInfo
 
 struct VkVideoEncodeH265CapabilitiesEXT
 {
-       VkStructureType                                         sType;
-       const void*                                                     pNext;
-       VkVideoEncodeH265CapabilityFlagsEXT     flags;
-       VkVideoEncodeH265InputModeFlagsEXT      inputModeFlags;
-       VkVideoEncodeH265OutputModeFlagsEXT     outputModeFlags;
-       VkVideoEncodeH265CtbSizeFlagsEXT        ctbSizes;
-       VkExtent2D                                                      inputImageDataAlignment;
-       uint8_t                                                         maxNumL0ReferenceForP;
-       uint8_t                                                         maxNumL0ReferenceForB;
-       uint8_t                                                         maxNumL1Reference;
-       uint8_t                                                         maxNumSubLayers;
-       uint8_t                                                         qualityLevelCount;
-       VkExtensionProperties                           stdExtensionVersion;
+       VkStructureType                                                         sType;
+       const void*                                                                     pNext;
+       VkVideoEncodeH265CapabilityFlagsEXT                     flags;
+       VkVideoEncodeH265InputModeFlagsEXT                      inputModeFlags;
+       VkVideoEncodeH265OutputModeFlagsEXT                     outputModeFlags;
+       VkVideoEncodeH265CtbSizeFlagsEXT                        ctbSizes;
+       VkVideoEncodeH265TransformBlockSizeFlagsEXT     transformBlockSizes;
+       uint8_t                                                                         maxPPictureL0ReferenceCount;
+       uint8_t                                                                         maxBPictureL0ReferenceCount;
+       uint8_t                                                                         maxL1ReferenceCount;
+       uint8_t                                                                         maxSubLayersCount;
+       uint8_t                                                                         minLog2MinLumaCodingBlockSizeMinus3;
+       uint8_t                                                                         maxLog2MinLumaCodingBlockSizeMinus3;
+       uint8_t                                                                         minLog2MinLumaTransformBlockSizeMinus2;
+       uint8_t                                                                         maxLog2MinLumaTransformBlockSizeMinus2;
+       uint8_t                                                                         minMaxTransformHierarchyDepthInter;
+       uint8_t                                                                         maxMaxTransformHierarchyDepthInter;
+       uint8_t                                                                         minMaxTransformHierarchyDepthIntra;
+       uint8_t                                                                         maxMaxTransformHierarchyDepthIntra;
+       uint8_t                                                                         maxDiffCuQpDeltaDepth;
+       uint8_t                                                                         minMaxNumMergeCand;
+       uint8_t                                                                         maxMaxNumMergeCand;
+       VkExtensionProperties                                           stdExtensionVersion;
 };
 
 struct VkVideoEncodeH265SessionCreateInfoEXT
@@ -7087,13 +7160,13 @@ struct VkVideoEncodeH265ReferenceListsEXT
        const StdVideoEncodeH265ReferenceModifications* pReferenceModifications;
 };
 
-struct VkVideoEncodeH265NaluSliceEXT
+struct VkVideoEncodeH265NaluSliceSegmentEXT
 {
        VkStructureType                                                         sType;
        const void*                                                                     pNext;
        uint32_t                                                                        ctbCount;
        const VkVideoEncodeH265ReferenceListsEXT*       pReferenceFinalLists;
-       const StdVideoEncodeH265SliceHeader*            pSliceHeaderStd;
+       const StdVideoEncodeH265SliceSegmentHeader*     pSliceSegmentHeaderStd;
 };
 
 struct VkVideoEncodeH265VclFrameInfoEXT
@@ -7101,8 +7174,8 @@ struct VkVideoEncodeH265VclFrameInfoEXT
        VkStructureType                                                         sType;
        const void*                                                                     pNext;
        const VkVideoEncodeH265ReferenceListsEXT*       pReferenceFinalLists;
-       uint32_t                                                                        naluSliceEntryCount;
-       const VkVideoEncodeH265NaluSliceEXT*            pNaluSliceEntries;
+       uint32_t                                                                        naluSliceSegmentEntryCount;
+       const VkVideoEncodeH265NaluSliceSegmentEXT*     pNaluSliceSegmentEntries;
        const StdVideoEncodeH265PictureInfo*            pCurrentPictureInfo;
 };
 
@@ -8108,6 +8181,8 @@ typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPri
 
 typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT;
 
+typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
+
 typedef VkTransformMatrixKHR VkTransformMatrixNV;
 
 typedef VkAabbPositionsKHR VkAabbPositionsNV;
index 63d09cd..7c69878 100644 (file)
@@ -321,6 +321,8 @@ virtual void                                cmdSetColorWriteEnableEXT                                               (VkCommandBuffer commandBuffer, u
 virtual void                           cmdDrawMultiEXT                                                                 (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride) const = 0;
 virtual void                           cmdDrawMultiIndexedEXT                                                  (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset) const = 0;
 virtual void                           setDeviceMemoryPriorityEXT                                              (VkDevice device, VkDeviceMemory memory, float priority) const = 0;
+virtual void                           getDescriptorSetLayoutHostMappingInfoVALVE              (VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping) const = 0;
+virtual void                           getDescriptorSetHostMappingVALVE                                (VkDevice device, VkDescriptorSet descriptorSet, void** ppData) const = 0;
 virtual VkResult                       createAccelerationStructureKHR                                  (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const = 0;
 virtual void                           destroyAccelerationStructureKHR                                 (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const = 0;
 virtual void                           cmdBuildAccelerationStructuresKHR                               (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const = 0;
index bbff97f..35303ad 100644 (file)
@@ -363,11 +363,9 @@ extern "C" {
 
 #define vulkan_video_codec_h264std_encode 1
 typedef struct StdVideoEncodeH264SliceHeaderFlags {
-    deUint32    idr_flag : 1;
-    deUint32    is_reference_flag : 1;
+    deUint32    direct_spatial_mv_pred_flag : 1;
     deUint32    num_ref_idx_active_override_flag : 1;
     deUint32    no_output_of_prior_pics_flag : 1;
-    deUint32    long_term_reference_flag : 1;
     deUint32    adaptive_ref_pic_marking_mode_flag : 1;
     deUint32    no_prior_references_available_flag : 1;
 } StdVideoEncodeH264SliceHeaderFlags;
@@ -378,6 +376,10 @@ typedef struct StdVideoEncodeH264PictureInfoFlags {
     deUint32    long_term_reference_flag : 1;
 } StdVideoEncodeH264PictureInfoFlags;
 
+typedef struct StdVideoEncodeH264ReferenceInfoFlags {
+    deUint32    is_long_term : 1;
+} StdVideoEncodeH264ReferenceInfoFlags;
+
 typedef struct StdVideoEncodeH264RefMgmtFlags {
     deUint32    ref_pic_list_modification_l0_flag : 1;
     deUint32    ref_pic_list_modification_l1_flag : 1;
@@ -410,25 +412,31 @@ typedef struct StdVideoEncodeH264RefMemMgmtCtrlOperations {
 typedef struct StdVideoEncodeH264PictureInfo {
     StdVideoEncodeH264PictureInfoFlags    flags;
     StdVideoH264PictureType               pictureType;
-    deUint32                              frameNum;
-    deUint32                              pictureOrderCount;
-    deUint16                              long_term_pic_num;
-    deUint16                              long_term_frame_idx;
+    deUint32                              frame_num;
+    deInt32                               PicOrderCnt;
 } StdVideoEncodeH264PictureInfo;
 
+typedef struct StdVideoEncodeH264ReferenceInfo {
+    StdVideoEncodeH264ReferenceInfoFlags    flags;
+    deUint32                                FrameNum;
+    deInt32                                 PicOrderCnt;
+    deUint16                                long_term_pic_num;
+    deUint16                                long_term_frame_idx;
+} StdVideoEncodeH264ReferenceInfo;
+
 typedef struct StdVideoEncodeH264SliceHeader {
-    StdVideoEncodeH264SliceHeaderFlags             flags;
-    StdVideoH264SliceType                          slice_type;
-    deUint8                                        seq_parameter_set_id;
-    deUint8                                        pic_parameter_set_id;
-    deUint16                                       idr_pic_id;
-    deUint8                                        num_ref_idx_l0_active_minus1;
-    deUint8                                        num_ref_idx_l1_active_minus1;
-    StdVideoH264CabacInitIdc                       cabac_init_idc;
-    StdVideoH264DisableDeblockingFilterIdc         disable_deblocking_filter_idc;
-    deInt8                                         slice_alpha_c0_offset_div2;
-    deInt8                                         slice_beta_offset_div2;
-    StdVideoEncodeH264RefMemMgmtCtrlOperations*    pMemMgmtCtrlOperations;
+    StdVideoEncodeH264SliceHeaderFlags        flags;
+    deUint32                                  first_mb_in_slice;
+    StdVideoH264SliceType                     slice_type;
+    deUint8                                   seq_parameter_set_id;
+    deUint8                                   pic_parameter_set_id;
+    deUint16                                  idr_pic_id;
+    deUint8                                   num_ref_idx_l0_active_minus1;
+    deUint8                                   num_ref_idx_l1_active_minus1;
+    StdVideoH264CabacInitIdc                  cabac_init_idc;
+    StdVideoH264DisableDeblockingFilterIdc    disable_deblocking_filter_idc;
+    deInt8                                    slice_alpha_c0_offset_div2;
+    deInt8                                    slice_beta_offset_div2;
 } StdVideoEncodeH264SliceHeader;
 
 
@@ -1029,7 +1037,7 @@ extern "C" {
 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
 
 // Version of this file
-#define VK_HEADER_VERSION 204
+#define VK_HEADER_VERSION 207
 
 // Complete version of this file
 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
@@ -1435,6 +1443,9 @@ typedef enum VkStructureType {
 #ifdef VK_ENABLE_BETA_EXTENSIONS
     VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
 #endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001,
+#endif
     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
     VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
@@ -1480,6 +1491,9 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038010,
 #endif
 #ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT = 1000038011,
+#endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
     VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000,
 #endif
 #ifdef VK_ENABLE_BETA_EXTENSIONS
@@ -1498,7 +1512,7 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039005,
 #endif
 #ifdef VK_ENABLE_BETA_EXTENSIONS
-    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT = 1000039006,
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT = 1000039006,
 #endif
 #ifdef VK_ENABLE_BETA_EXTENSIONS
     VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT = 1000039007,
@@ -1730,7 +1744,6 @@ typedef enum VkStructureType {
     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,
@@ -1829,10 +1842,15 @@ typedef enum VkStructureType {
 #ifdef VK_ENABLE_BETA_EXTENSIONS
     VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
 #endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+    VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003,
+#endif
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
     VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
     VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
     VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
+    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,
@@ -1890,6 +1908,9 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
     VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000,
+    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001,
+    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
     VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
@@ -1999,6 +2020,7 @@ typedef enum VkStructureType {
     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,
@@ -2941,14 +2963,15 @@ typedef enum VkImageAspectFlagBits {
     VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
     VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
     VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
+    VK_IMAGE_ASPECT_NONE = 0,
     VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
     VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
     VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
     VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
-    VK_IMAGE_ASPECT_NONE_KHR = 0,
     VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
     VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
     VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
+    VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE,
     VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkImageAspectFlagBits;
 typedef VkFlags VkImageAspectFlags;
@@ -7216,10 +7239,6 @@ typedef enum VkToolPurposeFlagBits {
     VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkToolPurposeFlagBits;
 typedef VkFlags VkToolPurposeFlags;
-
-typedef enum VkPrivateDataSlotCreateFlagBits {
-    VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
-} VkPrivateDataSlotCreateFlagBits;
 typedef VkFlags VkPrivateDataSlotCreateFlags;
 typedef VkFlags64 VkPipelineStageFlags2;
 
@@ -10323,6 +10342,23 @@ VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
 #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"
@@ -12840,11 +12876,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
 #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;
 
 
 
@@ -14084,8 +14116,6 @@ typedef VkPrivateDataSlot VkPrivateDataSlotEXT;
 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
 typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
 
-typedef VkPrivateDataSlotCreateFlagBits VkPrivateDataSlotCreateFlagBitsEXT;
-
 typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT;
 
 typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT;
@@ -14375,7 +14405,7 @@ typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access"
 typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM {
     VkStructureType    sType;
-    const void*        pNext;
+    void*              pNext;
     VkBool32           rasterizationOrderColorAttachmentAccess;
     VkBool32           rasterizationOrderDepthAttachmentAccess;
     VkBool32           rasterizationOrderStencilAttachmentAccess;
@@ -14786,6 +14816,45 @@ VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT(
 #endif
 
 
+#define VK_VALVE_descriptor_set_host_mapping 1
+#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1
+#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping"
+typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           descriptorSetHostMapping;
+} VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
+
+typedef struct VkDescriptorSetBindingReferenceVALVE {
+    VkStructureType          sType;
+    const void*              pNext;
+    VkDescriptorSetLayout    descriptorSetLayout;
+    deUint32                 binding;
+} VkDescriptorSetBindingReferenceVALVE;
+
+typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE {
+    VkStructureType    sType;
+    void*              pNext;
+    deUintptr             descriptorOffset;
+    deUint32           descriptorSize;
+} VkDescriptorSetLayoutHostMappingInfoVALVE;
+
+typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
+typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE(
+    VkDevice                                    device,
+    const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
+    VkDescriptorSetLayoutHostMappingInfoVALVE*  pHostMapping);
+
+VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE(
+    VkDevice                                    device,
+    VkDescriptorSet                             descriptorSet,
+    void**                                      ppData);
+#endif
+
+
 #define VK_QCOM_fragment_density_map_offset 1
 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
index eea5482..968b60d 100644 (file)
@@ -47,6 +47,7 @@ add_subdirectory(postmortem)
 add_subdirectory(fragment_shading_rate)
 add_subdirectory(reconvergence)
 add_subdirectory(mesh_shader)
+add_subdirectory(fragment_shading_barycentric)
 
 
 include_directories(
@@ -95,6 +96,7 @@ include_directories(
        postmortem
        reconvergence
        mesh_shader
+       fragment_shading_barycentric
        ${DEQP_INL_DIR}
        )
 
@@ -164,6 +166,7 @@ set(DEQP_VK_LIBS
        deqp-vk-fragment-shading-rate
        deqp-vk-reconvergence
        deqp-vk-mesh-shader
+       deqp-vk-fragment-shading-barycentric
        )
 
 if (DE_COMPILER_IS_MSC AND (DE_PTR_SIZE EQUAL 4))
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 (file)
index 0000000..b837c7a
--- /dev/null
@@ -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 (file)
index 0000000..34314ae
--- /dev/null
@@ -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 (file)
index 0000000..4872c8e
--- /dev/null
@@ -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
index 1f2fea0..711dedb 100644 (file)
 #include "vktFragmentShadingRateTests.hpp"
 #include "vktReconvergenceTests.hpp"
 #include "vktMeshShaderTests.hpp"
+#include "vktFragmentShadingBarycentricTests.hpp"
 
 #include <vector>
 #include <sstream>
@@ -584,6 +585,7 @@ void TestPackage::init (void)
        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)
index 089e65a..9f619ac 100644 (file)
@@ -11,6 +11,7 @@ vk-default/dynamic-rendering.txt
 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/fragment-shading-barycentric.txt b/external/vulkancts/mustpass/main/vk-default/fragment-shading-barycentric.txt
new file mode 100644 (file)
index 0000000..e713feb
--- /dev/null
@@ -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
index 22cc0eb..05d2929 100755 (executable)
@@ -1503,6 +1503,7 @@ def writeTypeUtil (api, filename):
                        "StdVideoEncodeH264SliceHeaderFlags",
                        "StdVideoEncodeH264PictureInfoFlags",
                        "StdVideoEncodeH264RefMgmtFlags",
+                       "StdVideoEncodeH264ReferenceInfoFlags",
                        "StdVideoH265HrdFlags",
                        "StdVideoH265VpsFlags",
                        "StdVideoH265SpsVuiFlags",
@@ -1514,6 +1515,7 @@ def writeTypeUtil (api, filename):
                        "StdVideoEncodeH265SliceHeaderFlags",
                        "StdVideoEncodeH265ReferenceModificationFlags",
                        "StdVideoEncodeH265ReferenceInfoFlags",
+                       "StdVideoEncodeH265SliceSegmentHeaderFlags",
                ])
        COMPOSITE_TYPES = set([t.name for t in api.compositeTypes if not t.isAlias])