From 9f868f4f9a23562983f6fc3d0daf966848cbcb7f Mon Sep 17 00:00:00 2001 From: Boris Zanin Date: Wed, 15 Sep 2021 17:37:24 +0200 Subject: [PATCH] Test coverage for VK_KHR_fragment_shader_barycentric Add tests: * dEQP-VK.fragment_shading_barycentric.* Components: Vulkan VK-GL-CTS issue: 3078 Change-Id: If65056858ad9b0dbd1ce0b3f5d08142668889840 --- AndroidGen.mk | 2 + android/cts/main/vk-master-2021-03-01.txt | 1 + .../fragment-shading-barycentric.txt | 1998 ++++++++++++++++++++ android/cts/main/vk-master.txt | 1 + .../vk-master/fragment-shading-barycentric.txt | 1998 ++++++++++++++++++++ external/fetch_sources.py | 18 +- .../vulkan/vkApiExtensionDependencyInfo.inl | 3 + .../vulkancts/framework/vulkan/vkBasicTypes.inl | 151 +- .../framework/vulkan/vkConcreteDeviceInterface.inl | 2 + .../framework/vulkan/vkDeviceDriverImpl.inl | 10 + .../framework/vulkan/vkDeviceFeatureTest.inl | 30 +- .../framework/vulkan/vkDeviceFeatures.inl | 54 +- .../vulkan/vkDeviceFeaturesForContextDecl.inl | 3 +- .../vulkan/vkDeviceFeaturesForContextDefs.inl | 3 +- .../vkDeviceFeaturesForDefaultDeviceDefs.inl | 3 +- .../framework/vulkan/vkDeviceFunctionPointers.inl | 2 + .../framework/vulkan/vkDeviceProperties.inl | 36 +- .../vulkan/vkDevicePropertiesForContextDecl.inl | 1 + .../vulkan/vkDevicePropertiesForContextDefs.inl | 1 + .../vkDevicePropertiesForDefaultDeviceDefs.inl | 1 + .../framework/vulkan/vkExtensionFunctions.inl | 19 + .../framework/vulkan/vkFunctionPointerTypes.inl | 2 + .../framework/vulkan/vkGetStructureTypeImpl.inl | 49 +- .../vulkan/vkInitDeviceFunctionPointers.inl | 2 + .../framework/vulkan/vkNullDriverImpl.inl | 16 + external/vulkancts/framework/vulkan/vkStrUtil.inl | 26 +- .../vulkancts/framework/vulkan/vkStrUtilImpl.inl | 349 +++- .../vulkancts/framework/vulkan/vkStructTypes.inl | 277 ++- .../framework/vulkan/vkVirtualDeviceInterface.inl | 2 + external/vulkancts/framework/vulkan/vkVulkan_c.inl | 139 +- external/vulkancts/modules/vulkan/CMakeLists.txt | 3 + .../fragment_shading_barycentric/CMakeLists.txt | 18 + .../vktFragmentShadingBarycentricTests.cpp | 1646 ++++++++++++++++ .../vktFragmentShadingBarycentricTests.hpp | 39 + .../vulkancts/modules/vulkan/vktTestPackage.cpp | 2 + external/vulkancts/mustpass/main/vk-default.txt | 1 + .../vk-default/fragment-shading-barycentric.txt | 1998 ++++++++++++++++++++ external/vulkancts/scripts/gen_framework.py | 2 + 38 files changed, 8571 insertions(+), 337 deletions(-) create mode 100644 android/cts/main/vk-master-2021-03-01/fragment-shading-barycentric.txt create mode 100644 android/cts/main/vk-master/fragment-shading-barycentric.txt create mode 100644 external/vulkancts/modules/vulkan/fragment_shading_barycentric/CMakeLists.txt create mode 100644 external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.cpp create mode 100644 external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.hpp create mode 100644 external/vulkancts/mustpass/main/vk-default/fragment-shading-barycentric.txt diff --git a/AndroidGen.mk b/AndroidGen.mk index 3201b6b..87917bb 100644 --- a/AndroidGen.mk +++ b/AndroidGen.mk @@ -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 \ diff --git a/android/cts/main/vk-master-2021-03-01.txt b/android/cts/main/vk-master-2021-03-01.txt index 6f2e847..834b768 100644 --- a/android/cts/main/vk-master-2021-03-01.txt +++ b/android/cts/main/vk-master-2021-03-01.txt @@ -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 index 0000000..e713feb --- /dev/null +++ b/android/cts/main/vk-master-2021-03-01/fragment-shading-barycentric.txt @@ -0,0 +1,1998 @@ +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.point_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.point_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_fan.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_fan.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.point_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.point_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_fan.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_fan.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.point_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.point_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_fan.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_fan.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_fan.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_fan.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip_with_adjacency.noperspective diff --git a/android/cts/main/vk-master.txt b/android/cts/main/vk-master.txt index 702c1b7..51f2aca 100644 --- a/android/cts/main/vk-master.txt +++ b/android/cts/main/vk-master.txt @@ -11,6 +11,7 @@ vk-master/dynamic-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 index 0000000..e713feb --- /dev/null +++ b/android/cts/main/vk-master/fragment-shading-barycentric.txt @@ -0,0 +1,1998 @@ +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.point_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.point_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_fan.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_fan.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.point_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.point_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_fan.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_fan.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.point_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.point_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_fan.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_fan.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_fan.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_fan.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip_with_adjacency.noperspective diff --git a/external/fetch_sources.py b/external/fetch_sources.py index e0f2a34..3913a06 100644 --- a/external/fetch_sources.py +++ b/external/fetch_sources.py @@ -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", diff --git a/external/vulkancts/framework/vulkan/vkApiExtensionDependencyInfo.inl b/external/vulkancts/framework/vulkan/vkApiExtensionDependencyInfo.inl index 678dbd0..5182464 100644 --- a/external/vulkancts/framework/vulkan/vkApiExtensionDependencyInfo.inl +++ b/external/vulkancts/framework/vulkan/vkApiExtensionDependencyInfo.inl @@ -315,6 +315,7 @@ static const std::tuple 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 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 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"), }; diff --git a/external/vulkancts/framework/vulkan/vkBasicTypes.inl b/external/vulkancts/framework/vulkan/vkBasicTypes.inl index 552c83b..6b3e7dd 100644 --- a/external/vulkancts/framework/vulkan/vkBasicTypes.inl +++ b/external/vulkancts/framework/vulkan/vkBasicTypes.inl @@ -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 diff --git a/external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl b/external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl index d1adf5d..666a230 100644 --- a/external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl +++ b/external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl @@ -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; diff --git a/external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl b/external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl index b335d0b..05dc29a 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl @@ -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); diff --git a/external/vulkancts/framework/vulkan/vkDeviceFeatureTest.inl b/external/vulkancts/framework/vulkan/vkDeviceFeatureTest.inl index c4574bd..b814e50 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeatureTest.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeatureTest.inl @@ -533,6 +533,16 @@ if (const void* featuresStruct = findStructureInChain(const_cast(de checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); } +if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) +{ + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR, fragmentShaderBarycentric), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); +} + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) { static const Feature features[] = @@ -682,16 +692,6 @@ if (const void* featuresStruct = findStructureInChain(const_cast(de checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); } -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) -{ - static const Feature features[] = - { - FEATURE_ITEM (VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV, fragmentShaderBarycentric), - }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); - checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); -} - if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) { static const Feature features[] = @@ -1201,6 +1201,16 @@ if (const void* featuresStruct = findStructureInChain(const_cast(de checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); } +if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) +{ + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, descriptorSetHostMapping), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); +} + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) { static const Feature features[] = diff --git a/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl b/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl index f95e099..558f721 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl @@ -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 void initFeatureFromBlob(VkPhysicalDevicePresentWaitFeaturesKHR&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDevicePresentIdFeaturesKHR&, const AllFeaturesBlobs&) {} +template<> void initFeatureFromBlob(VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDeviceTransformFeedbackFeaturesEXT&, const AllFeaturesBlobs&) {} @@ -299,7 +301,6 @@ template<> void initFeatureFromBlob void initFeatureFromBlob(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDeviceMeshShaderFeaturesNV&, const AllFeaturesBlobs&) {} -template<> void initFeatureFromBlob(VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDeviceShaderImageFootprintFeaturesNV&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDeviceExclusiveScissorFeaturesNV&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&, const AllFeaturesBlobs&) {} @@ -346,6 +347,7 @@ template<> void initFeatureFromBlob( template<> void initFeatureFromBlob(VkPhysicalDeviceMultiDrawFeaturesEXT&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&, const AllFeaturesBlobs&) {} +template<> void initFeatureFromBlob(VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDeviceLinearColorAttachmentFeaturesNV&, const AllFeaturesBlobs&) {} template<> void initFeatureFromBlob(VkPhysicalDeviceAccelerationStructureFeaturesKHR&, const AllFeaturesBlobs&) {} @@ -354,27 +356,28 @@ template<> void initFeatureFromBlob(VkPhysi template<> void initFeatureFromBlob(VkPhysicalDevicePortabilitySubsetFeaturesKHR&, const AllFeaturesBlobs&) {} -template<> FeatureDesc makeFeatureDesc(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(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(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(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(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(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(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(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(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(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 96}; } -template<> FeatureDesc makeFeatureDesc(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 97}; } +template<> FeatureDesc makeFeatureDesc(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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 FeatureDesc makeFeatureDesc(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(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(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(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(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(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(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(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, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION }, { createFeatureStructWrapper, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION }, { createFeatureStructWrapper, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION }, + { createFeatureStructWrapper, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION }, { createFeatureStructWrapper, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION }, { createFeatureStructWrapper, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION }, { createFeatureStructWrapper, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0 }, @@ -495,7 +499,7 @@ static const FeatureStructCreationData featureStructCreationArray[] { createFeatureStructWrapper, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION }, { createFeatureStructWrapper, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION }, { createFeatureStructWrapper, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION }, - { createFeatureStructWrapper, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION }, { createFeatureStructWrapper, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION }, { createFeatureStructWrapper, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION }, { createFeatureStructWrapper, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION }, diff --git a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl index 873ae58..262587a 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl @@ -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; diff --git a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl index a2768c9..f40d8d3 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl @@ -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(); } diff --git a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl index 95773db..1cd10f4 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl @@ -23,6 +23,7 @@ const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& getDedicatedAl const VkPhysicalDeviceDepthClipControlFeaturesEXT& getDepthClipControlFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceDepthClipEnableFeaturesEXT& getDepthClipEnableFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceDescriptorIndexingFeatures& getDescriptorIndexingFeatures (void) const { return m_deviceFeatures.getFeatureType(); } +const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE& getDescriptorSetHostMappingFeaturesVALVE (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV& getDeviceGeneratedCommandsFeatures (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT& getDeviceMemoryReportFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceDiagnosticsConfigFeaturesNV& getDiagnosticsConfigFeatures (void) const { return m_deviceFeatures.getFeatureType(); } @@ -34,7 +35,7 @@ const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV& getExternalMemoryRDMAFea const VkPhysicalDeviceFragmentDensityMapFeaturesEXT& getFragmentDensityMapFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& getFragmentDensityMap2FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& getFragmentDensityMapOffsetFeaturesQCOM (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& getFragmentShaderBarycentricFeatures (void) const { return m_deviceFeatures.getFeatureType(); } +const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR& getFragmentShaderBarycentricFeatures (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& getFragmentShaderInterlockFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceFragmentShadingRateFeaturesKHR& getFragmentShadingRateFeatures (void) const { return m_deviceFeatures.getFeatureType(); } const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& getFragmentShadingRateEnumsFeatures (void) const { return m_deviceFeatures.getFeatureType(); } diff --git a/external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl b/external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl index 97ce7db..e7ca79c 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl @@ -321,6 +321,8 @@ CmdSetColorWriteEnableEXTFunc cmdSetColorWriteEnableEXT; CmdDrawMultiEXTFunc cmdDrawMultiEXT; CmdDrawMultiIndexedEXTFunc cmdDrawMultiIndexedEXT; SetDeviceMemoryPriorityEXTFunc setDeviceMemoryPriorityEXT; +GetDescriptorSetLayoutHostMappingInfoVALVEFunc getDescriptorSetLayoutHostMappingInfoVALVE; +GetDescriptorSetHostMappingVALVEFunc getDescriptorSetHostMappingVALVE; CreateAccelerationStructureKHRFunc createAccelerationStructureKHR; DestroyAccelerationStructureKHRFunc destroyAccelerationStructureKHR; CmdBuildAccelerationStructuresKHRFunc cmdBuildAccelerationStructuresKHR; diff --git a/external/vulkancts/framework/vulkan/vkDeviceProperties.inl b/external/vulkancts/framework/vulkan/vkDeviceProperties.inl index 3d0d3cb..a64d978 100644 --- a/external/vulkancts/framework/vulkan/vkDeviceProperties.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceProperties.inl @@ -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 void initPropertyFromBlob(VkPhysicalDevicePerformanceQueryPropertiesKHR&, const AllPropertiesBlobs&) {} template<> void initPropertyFromBlob(VkPhysicalDeviceFragmentShadingRatePropertiesKHR&, const AllPropertiesBlobs&) {} template<> void initPropertyFromBlob(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&, const AllPropertiesBlobs&) {} +template<> void initPropertyFromBlob(VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR&, const AllPropertiesBlobs&) {} template<> void initPropertyFromBlob(VkPhysicalDeviceTransformFeedbackPropertiesEXT&, const AllPropertiesBlobs&) {} template<> void initPropertyFromBlob(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX&, const AllPropertiesBlobs&) {} template<> void initPropertyFromBlob(VkPhysicalDeviceDiscardRectanglePropertiesEXT&, const AllPropertiesBlobs&) {} @@ -263,22 +265,23 @@ template<> void initPropertyFromBlob void initPropertyFromBlob(VkPhysicalDevicePortabilitySubsetPropertiesKHR&, const AllPropertiesBlobs&) {} -template<> PropertyDesc makePropertyDesc(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION }, { createPropertyStructWrapper, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION }, { createPropertyStructWrapper, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION }, + { createPropertyStructWrapper, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION }, { createPropertyStructWrapper, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION }, { createPropertyStructWrapper, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION }, { createPropertyStructWrapper, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION }, diff --git a/external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDecl.inl b/external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDecl.inl index a170f21..2e3db67 100644 --- a/external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDecl.inl +++ b/external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDecl.inl @@ -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; diff --git a/external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDefs.inl b/external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDefs.inl index 74e8ac6..a3ea5d0 100644 --- a/external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDefs.inl +++ b/external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDefs.inl @@ -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(); } diff --git a/external/vulkancts/framework/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl b/external/vulkancts/framework/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl index bf4453c..0f71126 100644 --- a/external/vulkancts/framework/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl +++ b/external/vulkancts/framework/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl @@ -18,6 +18,7 @@ const VkPhysicalDeviceFloatControlsProperties& getFloatControlsProperties const VkPhysicalDeviceFragmentDensityMapPropertiesEXT& getFragmentDensityMapPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& getFragmentDensityMap2PropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& getFragmentDensityMapOffsetPropertiesQCOM (void) const { return m_deviceProperties.getPropertyType(); } +const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR& getFragmentShaderBarycentricProperties (void) const { return m_deviceProperties.getPropertyType(); } const VkPhysicalDeviceFragmentShadingRatePropertiesKHR& getFragmentShadingRateProperties (void) const { return m_deviceProperties.getPropertyType(); } const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& getFragmentShadingRateEnumsProperties (void) const { return m_deviceProperties.getPropertyType(); } const VkPhysicalDeviceIDProperties& getIDProperties (void) const { return m_deviceProperties.getPropertyType(); } diff --git a/external/vulkancts/framework/vulkan/vkExtensionFunctions.inl b/external/vulkancts/framework/vulkan/vkExtensionFunctions.inl index f15c4e6..e55839d 100644 --- a/external/vulkancts/framework/vulkan/vkExtensionFunctions.inl +++ b/external/vulkancts/framework/vulkan/vkExtensionFunctions.inl @@ -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", diff --git a/external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl b/external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl index f5845c3..b5f286e 100644 --- a/external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl +++ b/external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl @@ -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); diff --git a/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl b/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl index d649ba6..070803f 100644 --- a/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl +++ b/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl @@ -1382,6 +1382,16 @@ template<> VkStructureType getStructureType (void) return VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV; } +template<> VkStructureType getStructureType (void) +{ + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR; +} + +template<> VkStructureType getStructureType (void) +{ + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR; +} + template<> VkStructureType getStructureType (void) { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR; @@ -1887,11 +1897,6 @@ template<> VkStructureType getStructureType VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV; -} - template<> VkStructureType getStructureType (void) { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV; @@ -2432,6 +2437,21 @@ template<> VkStructureType getStructureType VkStructureType getStructureType (void) +{ + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE; +} + +template<> VkStructureType getStructureType (void) +{ + return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE; +} + +template<> VkStructureType getStructureType (void) +{ + return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE; +} + template<> VkStructureType getStructureType (void) { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM; @@ -2682,6 +2702,11 @@ template<> VkStructureType getStructureType (void) return VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR; } +template<> VkStructureType getStructureType (void) +{ + return VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR; +} + template<> VkStructureType getStructureType (void) { return VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR; @@ -2702,6 +2727,11 @@ template<> VkStructureType getStructureType (void) return VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR; } +template<> VkStructureType getStructureType (void) +{ + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR; +} + template<> VkStructureType getStructureType (void) { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR; @@ -2737,6 +2767,11 @@ template<> VkStructureType getStructureType (vo return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT; } +template<> VkStructureType getStructureType (void) +{ + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT; +} + template<> VkStructureType getStructureType (void) { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT; @@ -2797,9 +2832,9 @@ template<> VkStructureType getStructureType return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT; } -template<> VkStructureType getStructureType (void) +template<> VkStructureType getStructureType (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 (void) diff --git a/external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl b/external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl index eb0ca89..be4297d 100644 --- a/external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl +++ b/external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl @@ -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"); diff --git a/external/vulkancts/framework/vulkan/vkNullDriverImpl.inl b/external/vulkancts/framework/vulkan/vkNullDriverImpl.inl index d0a1fbd..e364a5b 100644 --- a/external/vulkancts/framework/vulkan/vkNullDriverImpl.inl +++ b/external/vulkancts/framework/vulkan/vkNullDriverImpl.inl @@ -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), diff --git a/external/vulkancts/framework/vulkan/vkStrUtil.inl b/external/vulkancts/framework/vulkan/vkStrUtil.inl index c3808d4..6d79aaf 100644 --- a/external/vulkancts/framework/vulkan/vkStrUtil.inl +++ b/external/vulkancts/framework/vulkan/vkStrUtil.inl @@ -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); diff --git a/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl b/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl index 02c6d76..81f8f01 100644 --- a/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl +++ b/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl @@ -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; diff --git a/external/vulkancts/framework/vulkan/vkStructTypes.inl b/external/vulkancts/framework/vulkan/vkStructTypes.inl index 97649bf..4946e50 100644 --- a/external/vulkancts/framework/vulkan/vkStructTypes.inl +++ b/external/vulkancts/framework/vulkan/vkStructTypes.inl @@ -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; diff --git a/external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl b/external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl index 63d09cd..7c69878 100644 --- a/external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl +++ b/external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl @@ -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; diff --git a/external/vulkancts/framework/vulkan/vkVulkan_c.inl b/external/vulkancts/framework/vulkan/vkVulkan_c.inl index bbff97f..35303ad 100644 --- a/external/vulkancts/framework/vulkan/vkVulkan_c.inl +++ b/external/vulkancts/framework/vulkan/vkVulkan_c.inl @@ -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" diff --git a/external/vulkancts/modules/vulkan/CMakeLists.txt b/external/vulkancts/modules/vulkan/CMakeLists.txt index eea5482..968b60d 100644 --- a/external/vulkancts/modules/vulkan/CMakeLists.txt +++ b/external/vulkancts/modules/vulkan/CMakeLists.txt @@ -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 index 0000000..b837c7a --- /dev/null +++ b/external/vulkancts/modules/vulkan/fragment_shading_barycentric/CMakeLists.txt @@ -0,0 +1,18 @@ +include_directories( + .. + ) + +set(DEQP_VK_FRAGMENT_SHADING_BARYCENTRIC_SRCS + vktFragmentShadingBarycentricTests.cpp + vktFragmentShadingBarycentricTests.hpp + ) + +set(DEQP_VK_FRAGMENT_SHADING_BARYCENTRIC_LIBS + tcutil + vkutil + ) + +PCH(DEQP_VK_FRAGMENT_SHADING_BARYCENTRIC_SRCS ../pch.cpp) + +add_library(deqp-vk-fragment-shading-barycentric STATIC ${DEQP_VK_FRAGMENT_SHADING_BARYCENTRIC_SRCS}) +target_link_libraries(deqp-vk-fragment-shading-barycentric ${DEQP_VK_FRAGMENT_SHADING_BARYCENTRIC_LIBS}) diff --git a/external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.cpp b/external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.cpp new file mode 100644 index 0000000..34314ae --- /dev/null +++ b/external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.cpp @@ -0,0 +1,1646 @@ +/*------------------------------------------------------------------------ + * Vulkan Conformance Tests + * ------------------------ + * + * Copyright (c) 2021 The Khronos Group Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *//*! + * \file + * \brief Fragment Shading Barycentric extention tests + *//*--------------------------------------------------------------------*/ + +#include "vktFragmentShadingBarycentricTests.hpp" + +#include "vkDefs.hpp" + +#include "vktTestCase.hpp" +#include "vktTestGroupUtil.hpp" +#include "vkCmdUtil.hpp" +#include "vkObjUtil.hpp" +#include "vkBuilderUtil.hpp" +#include "vkBarrierUtil.hpp" +#include "vkBufferWithMemory.hpp" +#include "vkImageWithMemory.hpp" +#include "vkTypeUtil.hpp" +#include "vkImageUtil.hpp" +#include "tcuTestLog.hpp" +#include "tcuStringTemplate.hpp" +#include "tcuImageCompare.hpp" +#include "tcuVectorUtil.hpp" + +#include +#include +#include + +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(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 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 viewports (1, makeViewport(width, height)); + const std::vector 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& viewports, + scissors, // const std::vector& 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 generateVertexBuffer (void); + MovePtr createVertexBuffer (const vector& 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 FragmentShadingBarycentricDataTestInstance::generateVertexBuffer (void) +{ + size_t verticesCount = static_cast(~0ull); + vector 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(1<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(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 FragmentShadingBarycentricDataTestInstance::createVertexBuffer (const vector& 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 vertexBuffer = MovePtr(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(m_testParams.width); + const uint32_t height = static_cast(m_testParams.height); + const VkPrimitiveTopology topology = m_testParams.topology; + const bool withColor = false; + const bool provokingVertexLast = getProvokingVertexLast(); + + const vector vertices = generateVertexBuffer(); + const uint32_t vertexCount = static_cast(vertices.size()); + MovePtr 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 image = MovePtr(new ImageWithMemory(vkd, device, allocator, imageCreateInfo, MemoryRequirement::Any)); + const Move 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 resultBuffer = MovePtr(new BufferWithMemory(vkd, device, allocator, resultBufferCreateInfo, MemoryRequirement::HostVisible)); + + const string shaderSuffix = (provokingVertexLast == m_testParams.provokingVertexLast) ? "" : "-forced"; + const Move vertModule = createShaderModule(vkd, device, m_context.getBinaryCollection().get("vert" + shaderSuffix), 0u); + const Move fragModule = createShaderModule(vkd, device, m_context.getBinaryCollection().get("frag" + shaderSuffix), 0u); + const Move 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 pipelineLayout = makePipelineLayout(vkd, device, 0, DE_NULL, pushConstantRangeCount, pushConstantRangePtr); + const Move pipeline = makeGraphicsPipeline(vkd, device, *pipelineLayout, *renderPass, *vertModule, *fragModule, width, height, topology, withColor, provokingVertexLast); + + const Move framebuffer = makeFramebuffer(vkd, device, *renderPass, *imageView, width, height); + + const Move commandPool = createCommandPool(vkd, device, 0, queueFamilyIndex); + const Move 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& vertices, + const tcu::Vec4& vertex, + const tcu::Vec4& color); + vector generateVertexBuffer (void); + MovePtr createVertexBuffer (const vector& 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& vertices, + const tcu::Vec4& vertex, + const tcu::Vec4& color) +{ + vertices.push_back(vertex); + vertices.push_back(color); +} + +vector 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(~0ull); + vector 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 FragmentShadingBarycentricWeightTestInstance::createVertexBuffer (const vector& 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 vertexBuffer = MovePtr(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(m_testParams.width); + const uint32_t height = static_cast(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 vertices = generateVertexBuffer(); + const uint32_t vertexCount = static_cast(vertices.size() / 2); + MovePtr vertexBuffer = createVertexBuffer(vertices); + + const VkBufferCreateInfo bufferCreateInfo = makeBufferCreateInfo(width * height * pixelSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT); + MovePtr resultBuffer = MovePtr(new BufferWithMemory(vkd, device, allocator, bufferCreateInfo, MemoryRequirement::HostVisible)); + MovePtr referenceBuffer = MovePtr(new BufferWithMemory(vkd, device, allocator, bufferCreateInfo, MemoryRequirement::HostVisible)); + + const Move renderPass = makeRenderPass(vkd, device, format); + + const Move commandPool = createCommandPool(vkd, device, 0, queueFamilyIndex); + const Move 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 image = MovePtr(new ImageWithMemory(vkd, device, allocator, imageCreateInfo, MemoryRequirement::Any)); + const Move imageView = makeImageView(vkd, device, **image, VK_IMAGE_VIEW_TYPE_2D, format, imageSubresourceRange); + const Move framebuffer = makeFramebuffer(vkd, device, *renderPass, *imageView, width, height); + const Move 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 fragModule = createShaderModule(vkd, device, m_context.getBinaryCollection().get(fragModuleName), 0u); + const VkPushConstantRange pushConstantRange = makePushConstantRange(VK_SHADER_STAGE_VERTEX_BIT, 0, sizeof(mvp)); + const Move pipelineLayout = makePipelineLayout(vkd, device, 0, DE_NULL, 1, &pushConstantRange); + const Move 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(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 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< 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 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 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 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 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 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 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 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 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 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 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 topologyGroup (new tcu::TestCaseGroup(testCtx, topologies[topologyNdx].name, "")); + + for (size_t perspectiveNdx = 0; perspectiveNdx < DE_LENGTH_OF_ARRAY(perspectives); ++perspectiveNdx) + { + const bool perspective = perspectives[perspectiveNdx].value; + const char* perspectiveName = perspectives[perspectiveNdx].name; + + const TestParams testParams = + { + testType, // TestType testType; + topology, // VkPrimitiveTopology topology; + notused, // bool dynamicIndexing; + (size_t)-1, // size_t aggregate; + glu::TYPE_INVALID, // glu::DataType dataType; + WEIGHT_TEST_WIDTH, // uint32_t width; + WEIGHT_TEST_HEIGHT, // uint32_t height; + perspective, // bool perspective; + false, // bool provokingVertexLast; + rotation, // uint32_t rotation; + topologyInPipeline, // bool dynamicTopologyInPipeline + }; + + topologyGroup->addChild(new FragmentShadingBarycentricTestCase(testCtx, perspectiveName, "", testParams)); + } + + rotationGroup->addChild(topologyGroup.release()); + } + + topologyInPipelineGroup->addChild(rotationGroup.release()); + } + } + + testTypeGroup->addChild(topologyInPipelineGroup.release()); + } + + group->addChild(testTypeGroup.release()); + } + + return group.release(); +} + +} // FragmentShadingBarycentric +} // vkt diff --git a/external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.hpp b/external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.hpp new file mode 100644 index 0000000..4872c8e --- /dev/null +++ b/external/vulkancts/modules/vulkan/fragment_shading_barycentric/vktFragmentShadingBarycentricTests.hpp @@ -0,0 +1,39 @@ +#ifndef _VKTFRAGMENTSHADINGBARYCENTRICTESTS_HPP +#define _VKTFRAGMENTSHADINGBARYCENTRICTESTS_HPP +/*------------------------------------------------------------------------- + * Vulkan Conformance Tests + * ------------------------ + * + * Copyright (c) 2021 The Khronos Group Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *//*! + * \file + * \brief Fragment Shading Barycentric extention tests + *//*--------------------------------------------------------------------*/ + +#include "tcuDefs.hpp" +#include "tcuTestCase.hpp" + +namespace vkt +{ +namespace FragmentShadingBarycentric +{ + +tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx); + +} // FragmentShadingBarycentric +} // vkt + +#endif // _VKTFRAGMENTSHADINGBARYCENTRICTESTS_HPP diff --git a/external/vulkancts/modules/vulkan/vktTestPackage.cpp b/external/vulkancts/modules/vulkan/vktTestPackage.cpp index 1f2fea0..711dedb 100644 --- a/external/vulkancts/modules/vulkan/vktTestPackage.cpp +++ b/external/vulkancts/modules/vulkan/vktTestPackage.cpp @@ -105,6 +105,7 @@ #include "vktFragmentShadingRateTests.hpp" #include "vktReconvergenceTests.hpp" #include "vktMeshShaderTests.hpp" +#include "vktFragmentShadingBarycentricTests.hpp" #include #include @@ -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) diff --git a/external/vulkancts/mustpass/main/vk-default.txt b/external/vulkancts/mustpass/main/vk-default.txt index 089e65a..9f619ac 100644 --- a/external/vulkancts/mustpass/main/vk-default.txt +++ b/external/vulkancts/mustpass/main/vk-default.txt @@ -11,6 +11,7 @@ vk-default/dynamic-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 index 0000000..e713feb --- /dev/null +++ b/external/vulkancts/mustpass/main/vk-default/fragment-shading-barycentric.txt @@ -0,0 +1,1998 @@ +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.point_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_fan.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.line_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.static.triangle_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.point_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_fan.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.line_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_first.dynamic.triangle_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.point_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_fan.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.line_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.static.triangle_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.point_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_fan.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.line_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_list_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.type.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.struct.uvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.float +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.vec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.double +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.dvec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.int +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.ivec4 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uint +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec2 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec3 +dEQP-VK.fragment_shading_barycentric.data.provoking_last.dynamic.triangle_strip_with_adjacency.array2.uvec4 +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.point_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.point_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_fan.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_fan.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.line_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.0.triangle_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.point_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.point_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_fan.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_fan.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.line_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.85.triangle_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.point_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.point_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_fan.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_fan.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.line_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_static.95.triangle_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_fan.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_fan.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.line_strip_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_list_with_adjacency.noperspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip_with_adjacency.perspective +dEQP-VK.fragment_shading_barycentric.weights.pipeline_topology_dynamic.triangle_strip_with_adjacency.noperspective diff --git a/external/vulkancts/scripts/gen_framework.py b/external/vulkancts/scripts/gen_framework.py index 22cc0eb..05d2929 100755 --- a/external/vulkancts/scripts/gen_framework.py +++ b/external/vulkancts/scripts/gen_framework.py @@ -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]) -- 2.7.4