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 \
$(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 \
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
--- /dev/null
+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
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
--- /dev/null
+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
"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(
"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",
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"),
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"),
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"),
};
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,
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,
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,
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,
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,
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,
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;
};
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,
};
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,
};
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
{
};
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;
};
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,
};
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,
};
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,
typedef uint32_t VkDescriptorUpdateTemplateCreateFlags;
+typedef uint32_t VkPrivateDataSlotCreateFlags;
+
typedef uint32_t VkDisplayModeCreateFlagsKHR;
typedef uint32_t VkDisplaySurfaceCreateFlagsKHR;
typedef uint32_t VkVideoEndCodingFlagsKHR;
-typedef uint32_t VkVideoEncodeH265CapabilityFlagsEXT;
-
typedef uint32_t VkVideoEncodeH265CreateFlagsEXT;
typedef uint32_t VkVideoDecodeH264CreateFlagsEXT;
typedef VkToolPurposeFlags VkToolPurposeFlagsEXT;
-typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
-
typedef VkSubmitFlags VkSubmitFlagsKHR;
typedef VkRenderingFlags VkRenderingFlagsKHR;
typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
+typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
+
typedef uint64_t VkPipelineStageFlags2;
typedef uint64_t VkPipelineStageFlagBits2;
#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
#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
#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
#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
#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
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;
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);
checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
}
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>()))
+{
+ static const Feature features[] =
+ {
+ FEATURE_ITEM (VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR, fragmentShaderBarycentric),
+ };
+ auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR*>(featuresStruct);
+ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
+}
+
if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>()))
{
static const Feature features[] =
checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
}
-if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>()))
-{
- static const Feature features[] =
- {
- FEATURE_ITEM (VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV, fragmentShaderBarycentric),
- };
- auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV*>(featuresStruct);
- checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
-}
-
if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceShaderImageFootprintFeaturesNV>()))
{
static const Feature features[] =
checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
}
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>()))
+{
+ static const Feature features[] =
+ {
+ FEATURE_ITEM (VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, descriptorSetHostMapping),
+ };
+ auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE*>(featuresStruct);
+ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures);
+}
+
if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>()))
{
static const Feature features[] =
#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"
#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"
template<> void initFeatureFromBlob<VkPhysicalDevicePresentWaitFeaturesKHR>(VkPhysicalDevicePresentWaitFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDevicePresentIdFeaturesKHR>(VkPhysicalDevicePresentIdFeaturesKHR&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>(VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceTransformFeedbackFeaturesEXT>(VkPhysicalDeviceTransformFeedbackFeaturesEXT&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>(VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceMeshShaderFeaturesNV>(VkPhysicalDeviceMeshShaderFeaturesNV&, const AllFeaturesBlobs&) {}
-template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceShaderImageFootprintFeaturesNV>(VkPhysicalDeviceShaderImageFootprintFeaturesNV&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceExclusiveScissorFeaturesNV>(VkPhysicalDeviceExclusiveScissorFeaturesNV&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceMultiDrawFeaturesEXT>(VkPhysicalDeviceMultiDrawFeaturesEXT&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>(VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>(VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>(VkPhysicalDeviceLinearColorAttachmentFeaturesNV&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(VkPhysicalDeviceAccelerationStructureFeaturesKHR&, const AllFeaturesBlobs&) {}
template<> void initFeatureFromBlob<VkPhysicalDevicePortabilitySubsetFeaturesKHR>(VkPhysicalDevicePortabilitySubsetFeaturesKHR&, const AllFeaturesBlobs&) {}
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 105}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice4444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 104}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 103}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 102}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceASTCDecodeFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 101}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 100}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION, 99}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 98}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 97}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 96}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 95}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 94}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceConditionalRenderingFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 93}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCooperativeMatrixFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 92}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCornerSampledImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 91}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoverageReductionModeFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 90}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 89}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 88}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION, 87}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 86}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 85}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 106}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice4444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 105}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 104}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 103}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceASTCDecodeFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 102}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 101}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION, 100}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 99}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 98}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 97}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 96}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 95}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceConditionalRenderingFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 94}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCooperativeMatrixFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 93}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCornerSampledImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 92}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoverageReductionModeFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 91}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 90}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 89}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION, 88}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 87}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 86}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION, 85}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 84}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 83}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 82}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 76}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 75}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 74}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 73}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 73}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 72}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 71}; }
template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 70}; }
{ createFeatureStructWrapper<VkPhysicalDeviceDepthClipControlFeaturesEXT>, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceDepthClipEnableFeaturesEXT>, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceDescriptorIndexingFeatures>, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION },
+ { createFeatureStructWrapper<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0 },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION },
- { createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION },
+ { createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION },
{ createFeatureStructWrapper<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION },
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;
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;
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(); }
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(); }
const VkPhysicalDeviceDepthClipControlFeaturesEXT& getDepthClipControlFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipControlFeaturesEXT>(); }
const VkPhysicalDeviceDepthClipEnableFeaturesEXT& getDepthClipEnableFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipEnableFeaturesEXT>(); }
const VkPhysicalDeviceDescriptorIndexingFeatures& getDescriptorIndexingFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorIndexingFeatures>(); }
+const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE& getDescriptorSetHostMappingFeaturesVALVE (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>(); }
const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV& getDeviceGeneratedCommandsFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>(); }
const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT& getDeviceMemoryReportFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(); }
const VkPhysicalDeviceDiagnosticsConfigFeaturesNV& getDiagnosticsConfigFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(); }
const VkPhysicalDeviceFragmentDensityMapFeaturesEXT& getFragmentDensityMapFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>(); }
const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& getFragmentDensityMap2FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(); }
const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& getFragmentDensityMapOffsetFeaturesQCOM (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(); }
-const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& getFragmentShaderBarycentricFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(); }
+const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR& getFragmentShaderBarycentricFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>(); }
const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& getFragmentShaderInterlockFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(); }
const VkPhysicalDeviceFragmentShadingRateFeaturesKHR& getFragmentShadingRateFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(); }
const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& getFragmentShadingRateEnumsFeatures (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(); }
CmdDrawMultiEXTFunc cmdDrawMultiEXT;
CmdDrawMultiIndexedEXTFunc cmdDrawMultiIndexedEXT;
SetDeviceMemoryPriorityEXTFunc setDeviceMemoryPriorityEXT;
+GetDescriptorSetLayoutHostMappingInfoVALVEFunc getDescriptorSetLayoutHostMappingInfoVALVE;
+GetDescriptorSetHostMappingVALVEFunc getDescriptorSetHostMappingVALVE;
CreateAccelerationStructureKHRFunc createAccelerationStructureKHR;
DestroyAccelerationStructureKHRFunc destroyAccelerationStructureKHR;
CmdBuildAccelerationStructuresKHRFunc cmdBuildAccelerationStructuresKHR;
#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"
template<> void initPropertyFromBlob<VkPhysicalDevicePerformanceQueryPropertiesKHR>(VkPhysicalDevicePerformanceQueryPropertiesKHR&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>(VkPhysicalDeviceFragmentShadingRatePropertiesKHR&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&, const AllPropertiesBlobs&) {}
+template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>(VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDeviceTransformFeedbackPropertiesEXT>(VkPhysicalDeviceTransformFeedbackPropertiesEXT&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX>(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDeviceDiscardRectanglePropertiesEXT>(VkPhysicalDeviceDiscardRectanglePropertiesEXT&, const AllPropertiesBlobs&) {}
template<> void initPropertyFromBlob<VkPhysicalDevicePortabilitySubsetPropertiesKHR>(VkPhysicalDevicePortabilitySubsetPropertiesKHR&, const AllPropertiesBlobs&) {}
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceAccelerationStructurePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 49}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 48}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceConservativeRasterizationPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME, VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION, 47}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCooperativeMatrixPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 46}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCustomBorderColorPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 45}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDepthStencilResolveProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION, 44}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDescriptorIndexingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 43}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 42}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDiscardRectanglePropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT, VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME, VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION, 41}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDriverProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION, 40}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDrmPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION, 39}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceExternalMemoryHostPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT, VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION, 38}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFloatControlsProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION, 37}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 36}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 35}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 34}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceAccelerationStructurePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 50}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 49}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceConservativeRasterizationPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME, VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION, 48}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCooperativeMatrixPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 47}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCustomBorderColorPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 46}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDepthStencilResolveProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION, 45}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDescriptorIndexingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 44}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 43}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDiscardRectanglePropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT, VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME, VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION, 42}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDriverProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION, 41}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDrmPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION, 40}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceExternalMemoryHostPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT, VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION, 39}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFloatControlsProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION, 38}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 37}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 36}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 35}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 34}; }
template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 33}; }
template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 32}; }
template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceIDProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 31}; }
{ createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION },
+ { createPropertyStructWrapper<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION },
{ createPropertyStructWrapper<VkPhysicalDeviceIDProperties>, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION },
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;
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(); }
const VkPhysicalDeviceFragmentDensityMapPropertiesEXT& getFragmentDensityMapPropertiesEXT (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>(); }
const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& getFragmentDensityMap2PropertiesEXT (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(); }
const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& getFragmentDensityMapOffsetPropertiesQCOM (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(); }
+const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR& getFragmentShaderBarycentricProperties (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>(); }
const VkPhysicalDeviceFragmentShadingRatePropertiesKHR& getFragmentShadingRateProperties (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>(); }
const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& getFragmentShadingRateEnumsProperties (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>(); }
const VkPhysicalDeviceIDProperties& getIDProperties (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceIDProperties>(); }
{
return;
}
+ if (extName == "VK_KHR_fragment_shader_barycentric")
+ {
+ return;
+ }
if (extName == "VK_KHR_shader_subgroup_uniform_control_flow")
{
return;
{
return;
}
+ if (extName == "VK_VALVE_descriptor_set_host_mapping")
+ {
+ return;
+ }
if (extName == "VK_QCOM_fragment_density_map_offset")
{
return;
functions.push_back("vkQueueSubmit2KHR");
return;
}
+ if (extName == "VK_KHR_fragment_shader_barycentric")
+ {
+ return;
+ }
if (extName == "VK_KHR_shader_subgroup_uniform_control_flow")
{
return;
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;
"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",
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);
return VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV;
}
+template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR;
+}
+
template<> VkStructureType getStructureType<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR> (void)
{
return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR;
return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV;
}
-template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV> (void)
-{
- return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV;
-}
-
template<> VkStructureType getStructureType<VkPhysicalDeviceShaderImageFootprintFeaturesNV> (void)
{
return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV;
return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT;
}
+template<> VkStructureType getStructureType<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE> (void)
+{
+ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE;
+}
+
+template<> VkStructureType getStructureType<VkDescriptorSetBindingReferenceVALVE> (void)
+{
+ return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE;
+}
+
+template<> VkStructureType getStructureType<VkDescriptorSetLayoutHostMappingInfoVALVE> (void)
+{
+ return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE;
+}
+
template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM> (void)
{
return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM;
return VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR;
}
+template<> VkStructureType getStructureType<VkVideoDecodeCapabilitiesKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR;
+}
+
template<> VkStructureType getStructureType<VkVideoDecodeInfoKHR> (void)
{
return VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR;
return VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR;
}
+template<> VkStructureType getStructureType<VkVideoEncodeCapabilitiesKHR> (void)
+{
+ return VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR;
+}
+
template<> VkStructureType getStructureType<VkVideoEncodeRateControlLayerInfoKHR> (void)
{
return VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR;
return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT;
}
+template<> VkStructureType getStructureType<VkVideoEncodeH264ReferenceListsEXT> (void)
+{
+ return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT;
+}
+
template<> VkStructureType getStructureType<VkVideoEncodeH264NaluSliceEXT> (void)
{
return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT;
return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT;
}
-template<> VkStructureType getStructureType<VkVideoEncodeH265NaluSliceEXT> (void)
+template<> VkStructureType getStructureType<VkVideoEncodeH265NaluSliceSegmentEXT> (void)
{
- return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT;
+ return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT;
}
template<> VkStructureType getStructureType<VkVideoEncodeH265VclFrameInfoEXT> (void)
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");
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);
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),
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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";
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";
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";
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";
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";
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));
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[] =
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[] =
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));
}
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));
}
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"),
};
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"),
};
{
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"),
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[] =
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);
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);
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";
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";
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";
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";
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";
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 << '}';
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";
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 << '}';
{
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';
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;
}
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;
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;
}
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;
}
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';
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';
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';
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';
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;
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;
}
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;
void* pCheckpointMarker;
};
+struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
+{
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 fragmentShaderBarycentric;
+};
+
+struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR
+{
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 triStripVertexOrderIndependentOfProvokingVertex;
+};
+
struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
{
VkStructureType sType;
uint32_t firstTask;
};
-struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
-{
- VkStructureType sType;
- void* pNext;
- VkBool32 fragmentShaderBarycentric;
-};
-
struct VkPhysicalDeviceShaderImageFootprintFeaturesNV
{
VkStructureType sType;
struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
{
VkStructureType sType;
- const void* pNext;
+ void* pNext;
VkBool32 rasterizationOrderColorAttachmentAccess;
VkBool32 rasterizationOrderDepthAttachmentAccess;
VkBool32 rasterizationOrderStencilAttachmentAccess;
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;
VkVideoCodingControlFlagsKHR flags;
};
+struct VkVideoDecodeCapabilitiesKHR
+{
+ VkStructureType sType;
+ void* pNext;
+ VkVideoDecodeCapabilityFlagsKHR flags;
+};
+
struct VkVideoDecodeInfoKHR
{
VkStructureType sType;
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;
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;
};
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;
{
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
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;
};
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
StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries;
};
-struct StdVideoEncodeH265SliceHeaderFlags
+struct StdVideoEncodeH265SliceSegmentHeaderFlags
{
uint32_t first_slice_segment_in_pic_flag:1;
uint32_t no_output_of_prior_pics_flag:1;
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
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
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
VkStructureType sType;
const void* pNext;
const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists;
- uint32_t naluSliceEntryCount;
- const VkVideoEncodeH265NaluSliceEXT* pNaluSliceEntries;
+ uint32_t naluSliceSegmentEntryCount;
+ const VkVideoEncodeH265NaluSliceSegmentEXT* pNaluSliceSegmentEntries;
const StdVideoEncodeH265PictureInfo* pCurrentPictureInfo;
};
typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT;
+typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
+
typedef VkTransformMatrixKHR VkTransformMatrixNV;
typedef VkAabbPositionsKHR VkAabbPositionsNV;
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;
#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;
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;
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;
#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)
#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,
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
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,
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,
#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,
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,
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,
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;
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;
#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"
#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;
#define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
-typedef VkPrivateDataSlotCreateFlagBits VkPrivateDataSlotCreateFlagBitsEXT;
-
typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT;
typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT;
#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;
#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"
add_subdirectory(fragment_shading_rate)
add_subdirectory(reconvergence)
add_subdirectory(mesh_shader)
+add_subdirectory(fragment_shading_barycentric)
include_directories(
postmortem
reconvergence
mesh_shader
+ fragment_shading_barycentric
${DEQP_INL_DIR}
)
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))
--- /dev/null
+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})
--- /dev/null
+/*------------------------------------------------------------------------
+ * Vulkan Conformance Tests
+ * ------------------------
+ *
+ * Copyright (c) 2021 The Khronos Group Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *//*!
+ * \file
+ * \brief Fragment Shading Barycentric extention tests
+ *//*--------------------------------------------------------------------*/
+
+#include "vktFragmentShadingBarycentricTests.hpp"
+
+#include "vkDefs.hpp"
+
+#include "vktTestCase.hpp"
+#include "vktTestGroupUtil.hpp"
+#include "vkCmdUtil.hpp"
+#include "vkObjUtil.hpp"
+#include "vkBuilderUtil.hpp"
+#include "vkBarrierUtil.hpp"
+#include "vkBufferWithMemory.hpp"
+#include "vkImageWithMemory.hpp"
+#include "vkTypeUtil.hpp"
+#include "vkImageUtil.hpp"
+#include "tcuTestLog.hpp"
+#include "tcuStringTemplate.hpp"
+#include "tcuImageCompare.hpp"
+#include "tcuVectorUtil.hpp"
+
+#include <string>
+#include <vector>
+#include <map>
+
+namespace vkt
+{
+namespace FragmentShadingBarycentric
+{
+namespace
+{
+using namespace vk;
+using namespace vkt;
+
+using std::string;
+using std::vector;
+using std::map;
+using de::MovePtr;
+using tcu::mix;
+
+enum TestType
+{
+ TEST_TYPE_DATA = 0,
+ TEST_TYPE_WEIGHTS,
+};
+
+const size_t DATA_TEST_WIDTH = 8u;
+const size_t DATA_TEST_HEIGHT = 8u;
+const size_t WEIGHT_TEST_WIDTH = 128u;
+const size_t WEIGHT_TEST_HEIGHT = 128u;
+const float WEIGHT_TEST_SLOPE = 16.0f;
+
+struct TestParams
+{
+ TestType testType;
+ VkPrimitiveTopology topology;
+ bool dynamicIndexing;
+ size_t aggregate; // 0: value itself, 1:struct, 2+:Array
+ glu::DataType dataType;
+ size_t width;
+ size_t height;
+ bool perspective;
+ bool provokingVertexLast;
+ uint32_t rotation;
+ bool dynamicTopologyInPipeline;
+};
+
+size_t getComponentCount (const TestParams& testParams)
+{
+ const size_t scalarSize = static_cast<size_t>(getDataTypeScalarSize(testParams.dataType));
+ const size_t aggregateSize = (testParams.aggregate > 0) ? testParams.aggregate : 1;
+ const size_t topologySize = 3; // Test always check three items in array: "Reads of per-vertex values for missing vertices, such as the third vertex of a line primitive, will return zero."
+ const size_t result = scalarSize * aggregateSize * topologySize;
+
+ return result;
+}
+
+static VkImageCreateInfo makeImageCreateInfo (const VkFormat format, const uint32_t width, uint32_t height)
+{
+ const VkImageUsageFlags usage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+ const VkImageCreateInfo imageCreateInfo =
+ {
+ VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ 0u, // VkImageCreateFlags flags;
+ VK_IMAGE_TYPE_2D, // VkImageType imageType;
+ format, // VkFormat format;
+ makeExtent3D(width, height, 1u), // VkExtent3D extent;
+ 1u, // uint32_t mipLevels;
+ 1u, // uint32_t arrayLayers;
+ VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits samples;
+ VK_IMAGE_TILING_OPTIMAL, // VkImageTiling tiling;
+ usage, // VkImageUsageFlags usage;
+ VK_SHARING_MODE_EXCLUSIVE, // VkSharingMode sharingMode;
+ 0u, // uint32_t queueFamilyIndexCount;
+ DE_NULL, // const uint32_t* pQueueFamilyIndices;
+ VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout initialLayout;
+ };
+
+ return imageCreateInfo;
+}
+
+static Move<VkPipeline> makeGraphicsPipeline (const DeviceInterface& vkd,
+ const VkDevice device,
+ const VkPipelineLayout pipelineLayout,
+ const VkRenderPass renderPass,
+ const VkShaderModule vertShaderModule,
+ const VkShaderModule fragShaderModule,
+ const uint32_t width,
+ const uint32_t height,
+ const VkPrimitiveTopology topology,
+ const bool withColor = false,
+ const bool provokingVertexLast = false,
+ const bool dynamicTopology = false)
+{
+ const std::vector<VkViewport> viewports (1, makeViewport(width, height));
+ const std::vector<VkRect2D> scissors (1, makeRect2D(width, height));
+ const VkVertexInputBindingDescription vertexInputBindingDescription =
+ {
+ 0u, // uint32_t binding;
+ 2 * sizeof(tcu::Vec4), // uint32_t stride;
+ VK_VERTEX_INPUT_RATE_VERTEX, // VkVertexInputRate inputRate;
+ };
+ const VkVertexInputAttributeDescription vertexInputAttributeDescriptions[] =
+ {
+ {
+ 0u, // uint32_t location;
+ 0u, // uint32_t binding;
+ VK_FORMAT_R32G32B32A32_SFLOAT, // VkFormat format;
+ 0u // uint32_t offset;
+ },
+ {
+ 1u, // uint32_t location;
+ 0u, // uint32_t binding;
+ VK_FORMAT_R32G32B32A32_SFLOAT, // VkFormat format;
+ sizeof(tcu::Vec4) // uint32_t offset;
+ },
+ };
+ const VkPipelineVertexInputStateCreateInfo vertexInputStateInfo =
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ (VkPipelineVertexInputStateCreateFlags)0, // VkPipelineVertexInputStateCreateFlags flags;
+ 1u, // uint32_t vertexBindingDescriptionCount;
+ &vertexInputBindingDescription, // const VkVertexInputBindingDescription* pVertexBindingDescriptions;
+ DE_LENGTH_OF_ARRAY(vertexInputAttributeDescriptions), // uint32_t vertexAttributeDescriptionCount;
+ vertexInputAttributeDescriptions, // const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
+ };
+ const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT provokingVertexStateCreateInfoEXT =
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT, // VkProvokingVertexModeEXT provokingVertexMode;
+ };
+ const VkPipelineRasterizationStateCreateInfo rasterizationStateCreateInfo =
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO, // VkStructureType sType;
+ provokingVertexLast ? &provokingVertexStateCreateInfoEXT : DE_NULL, // const void* pNext;
+ 0u, // VkPipelineRasterizationStateCreateFlags flags;
+ VK_FALSE, // VkBool32 depthClampEnable;
+ DE_FALSE, // VkBool32 rasterizerDiscardEnable;
+ VK_POLYGON_MODE_FILL, // VkPolygonMode polygonMode;
+ VK_CULL_MODE_NONE, // VkCullModeFlags cullMode;
+ VK_FRONT_FACE_COUNTER_CLOCKWISE, // VkFrontFace frontFace;
+ VK_FALSE, // VkBool32 depthBiasEnable;
+ 0.0f, // float depthBiasConstantFactor;
+ 0.0f, // float depthBiasClamp;
+ 0.0f, // float depthBiasSlopeFactor;
+ 1.0f // float lineWidth;
+ };
+ const VkDynamicState dynamicStates[] =
+ {
+ VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
+ };
+ const VkPipelineDynamicStateCreateInfo dynamicStateCreateInfo =
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO, // VkStructureType sType;
+ DE_NULL, // const void* pNext;
+ 0u, // VkPipelineDynamicStateCreateFlags flags;
+ DE_LENGTH_OF_ARRAY(dynamicStates), // uint32_t dynamicStateCount;
+ dynamicStates, // const VkDynamicState* pDynamicStates;
+ };
+ const VkPipelineDynamicStateCreateInfo* pDynamicStateCreateInfo = dynamicTopology ? &dynamicStateCreateInfo : DE_NULL;
+
+ return makeGraphicsPipeline(vkd, // const DeviceInterface& vk,
+ device, // const VkDevice device,
+ pipelineLayout, // const VkPipelineLayout pipelineLayout,
+ vertShaderModule, // const VkShaderModule vertexShaderModule,
+ DE_NULL, // const VkShaderModule tessellationControlShaderModule,
+ DE_NULL, // const VkShaderModule tessellationEvalShaderModule,
+ DE_NULL, // const VkShaderModule geometryShaderModule,
+ fragShaderModule, // const VkShaderModule fragmentShaderModule,
+ renderPass, // const VkRenderPass renderPass,
+ viewports, // const std::vector<VkViewport>& viewports,
+ scissors, // const std::vector<VkRect2D>& scissors,
+ topology, // const VkPrimitiveTopology topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,
+ 0u, // const deUint32 subpass = 0u,
+ 0u, // const deUint32 patchControlPoints = 0u,
+ withColor ? &vertexInputStateInfo : DE_NULL, // const VkPipelineVertexInputStateCreateInfo* vertexInputStateCreateInfo = DE_NULL,
+ &rasterizationStateCreateInfo, // const VkPipelineRasterizationStateCreateInfo* rasterizationStateCreateInfo = DE_NULL,
+ DE_NULL, // const VkPipelineMultisampleStateCreateInfo* multisampleStateCreateInfo = DE_NULL,
+ DE_NULL, // const VkPipelineDepthStencilStateCreateInfo* depthStencilStateCreateInfo = DE_NULL,
+ DE_NULL, // const VkPipelineColorBlendStateCreateInfo* colorBlendStateCreateInfo = DE_NULL,
+ pDynamicStateCreateInfo); // const VkPipelineDynamicStateCreateInfo* dynamicStateCreateInfo = DE_NULL,
+}
+
+// Function replacing all occurrences of substring with string passed in last parameter.
+static inline std::string replace(const std::string& str, const std::string& from, const std::string& to)
+{
+ std::string result(str);
+
+ size_t start_pos = 0;
+ while ((start_pos = result.find(from, start_pos)) != std::string::npos)
+ {
+ result.replace(start_pos, from.length(), to);
+ start_pos += to.length();
+ }
+
+ return result;
+}
+
+
+class FragmentShadingBarycentricDataTestInstance : public TestInstance
+{
+public:
+ FragmentShadingBarycentricDataTestInstance (Context& context,
+ const TestParams& testParams);
+ virtual ~FragmentShadingBarycentricDataTestInstance ();
+ virtual tcu::TestStatus iterate (void);
+
+protected:
+ vector<tcu::Vec4> generateVertexBuffer (void);
+ MovePtr<BufferWithMemory> createVertexBuffer (const vector<tcu::Vec4>& vertices);
+ bool verify (BufferWithMemory* resultBuffer);
+ bool getProvokingVertexLast (void);
+
+ TestParams m_testParams;
+};
+
+FragmentShadingBarycentricDataTestInstance::FragmentShadingBarycentricDataTestInstance (Context& context, const TestParams& testParams)
+ : TestInstance (context)
+ , m_testParams (testParams)
+{
+}
+
+FragmentShadingBarycentricDataTestInstance::~FragmentShadingBarycentricDataTestInstance ()
+{
+}
+
+vector<tcu::Vec4> FragmentShadingBarycentricDataTestInstance::generateVertexBuffer (void)
+{
+ size_t verticesCount = static_cast<size_t>(~0ull);
+ vector<tcu::Vec4> result;
+
+ switch (m_testParams.topology)
+ {
+ case VK_PRIMITIVE_TOPOLOGY_POINT_LIST:
+ {
+ verticesCount = m_testParams.width * m_testParams.height;
+
+ result.reserve(verticesCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float yy = -1.0f + 2.0f * ((0.5f + float(y)) / float(m_testParams.height));
+
+ for (size_t x = 0; x < m_testParams.width; x++)
+ {
+ const float xx = -1.0f + 2.0f * ((0.5f + float(x)) / float(m_testParams.width));
+
+ result.push_back(tcu::Vec4(xx, yy, 0.0f, 1.0f));
+ }
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_LIST:
+ {
+ verticesCount = 2 * m_testParams.height;
+
+ result.reserve(verticesCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float yy = -1.0f + 2.0f * ((0.5f + float(y)) / float(m_testParams.height));
+
+ result.push_back(tcu::Vec4(-1.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4( 1.0f, yy, 0.0f, 1.0f));
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP:
+ {
+ verticesCount = 2 * m_testParams.height;
+
+ result.reserve(verticesCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float yy = -1.0f + 2.0f * (0.5f + float(y)) / float(m_testParams.height);;
+
+ if (y % 2 == 0)
+ {
+ result.push_back(tcu::Vec4(-2.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+2.0f, yy, 0.0f, 1.0f));
+ }
+ else
+ {
+ result.push_back(tcu::Vec4(+2.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-2.0f, yy, 0.0f, 1.0f));
+ }
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST:
+ {
+ verticesCount = 6;
+
+ result.reserve(verticesCount);
+
+ result.push_back(tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f));
+
+ result.push_back(tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f));
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP:
+ {
+ verticesCount = 4;
+
+ result.reserve(verticesCount);
+
+ result.push_back(tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f));
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN:
+ {
+ verticesCount = 4;
+
+ result.reserve(verticesCount);
+
+ result.push_back(tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f));
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY:
+ {
+ verticesCount = 4 * m_testParams.height;
+
+ result.reserve(verticesCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float yy = -1.0f + 2.0f * ((0.5f + float(y)) / float(m_testParams.height));
+
+ result.push_back(tcu::Vec4(-2.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4( 1.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4( 2.0f, yy, 0.0f, 1.0f));
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY:
+ {
+ verticesCount = 2 * m_testParams.height + 2;
+
+ result.reserve(verticesCount);
+
+ result.push_back(tcu::Vec4(-10.0f, -10.0f, 0.0f, 1.0f));
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float ky = (0.5f + float(y)) / float(m_testParams.height);
+ const float yy = -1.0f + 2.0f * ky;
+
+ if (y % 2 == 0)
+ {
+ result.push_back(tcu::Vec4(-2.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+2.0f, yy, 0.0f, 1.0f));
+ }
+ else
+ {
+ result.push_back(tcu::Vec4(+2.0f, yy, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-2.0f, yy, 0.0f, 1.0f));
+ }
+ }
+
+ result.push_back(tcu::Vec4(+10.0f, +10.0f, 0.0f, 1.0f));
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:
+ {
+ verticesCount = 12;
+
+ result.reserve(verticesCount);
+
+ result.push_back(tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +3.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-3.0f, -1.0f, 0.0f, 1.0f));
+
+ result.push_back(tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+3.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, -3.0f, 0.0f, 1.0f));
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY:
+ {
+ verticesCount = 8;
+
+ result.reserve(verticesCount);
+
+ result.push_back(tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +3.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-3.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+3.0f, +1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f));
+ result.push_back(tcu::Vec4(-1.0f, -3.0f, 0.0f, 1.0f));
+
+ break;
+ }
+
+ default:
+ TCU_THROW(InternalError, "Unknown topology");
+ }
+
+ DE_ASSERT(result.size() == verticesCount);
+
+ return result;
+}
+
+bool FragmentShadingBarycentricDataTestInstance::verify (BufferWithMemory* resultBuffer)
+{
+ const size_t components = getComponentCount(m_testParams);
+ const deUint32 expected = static_cast<deUint32>(1<<components) - 1;
+ const deUint32* retrieved = (deUint32*)resultBuffer->getAllocation().getHostPtr();
+ size_t failures = 0;
+
+ {
+ size_t n = 0;
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ for (size_t x = 0; x < m_testParams.width; x++)
+ {
+ if (retrieved[n] != expected)
+ failures++;
+
+ n++ ;
+ }
+ }
+
+ if (failures)
+ {
+ const uint8_t places = static_cast<uint8_t>(components / 4);
+ tcu::TestLog& log = m_context.getTestContext().getLog();
+ size_t n = 0;
+ std::ostringstream s;
+
+ s << "Expected mask:" << std::setfill('0') << std::hex << std::setw(places) << expected << std::endl;
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ for (size_t x = 0; x < m_testParams.width; x++)
+ {
+ s << std::setw(places) << retrieved[n] << ' ';
+
+ n++;
+ }
+
+ s << std::endl;
+ }
+
+ log << tcu::TestLog::Message << s.str() << tcu::TestLog::EndMessage;
+ }
+
+ return failures == 0;
+}
+
+MovePtr<BufferWithMemory> FragmentShadingBarycentricDataTestInstance::createVertexBuffer (const vector<tcu::Vec4>& vertices)
+{
+ const DeviceInterface& vkd = m_context.getDeviceInterface();
+ const VkDevice device = m_context.getDevice();
+ Allocator& allocator = m_context.getDefaultAllocator();
+ const VkDeviceSize vertexBufferSize = vertices.size() * sizeof(vertices[0]);
+ const VkBufferCreateInfo vertexBufferCreateInfo = makeBufferCreateInfo(vertexBufferSize, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT);
+ MovePtr<BufferWithMemory> vertexBuffer = MovePtr<BufferWithMemory>(new BufferWithMemory(vkd, device, allocator, vertexBufferCreateInfo, MemoryRequirement::HostVisible));
+ Allocation& vertexBufferAlloc = vertexBuffer->getAllocation();
+
+ // Initialize vertex data
+ deMemcpy(vertexBufferAlloc.getHostPtr(), vertices.data(), (size_t)vertexBufferSize);
+ flushAlloc(vkd, device, vertexBufferAlloc);
+
+ return vertexBuffer;
+}
+
+bool FragmentShadingBarycentricDataTestInstance::getProvokingVertexLast (void)
+{
+ if (m_testParams.provokingVertexLast && m_testParams.topology == VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP)
+ {
+ const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR& fragmentShaderBarycentricProperties = m_context.getFragmentShaderBarycentricProperties();
+
+ if (fragmentShaderBarycentricProperties.triStripVertexOrderIndependentOfProvokingVertex)
+ return false;
+ }
+
+ return m_testParams.provokingVertexLast;
+}
+
+tcu::TestStatus FragmentShadingBarycentricDataTestInstance::iterate (void)
+{
+ const DeviceInterface& vkd = m_context.getDeviceInterface();
+ const VkDevice device = m_context.getDevice();
+ const VkQueue queue = m_context.getUniversalQueue();
+ Allocator& allocator = m_context.getDefaultAllocator();
+ const uint32_t queueFamilyIndex = m_context.getUniversalQueueFamilyIndex();
+
+ const VkDeviceSize offsetZero = 0ull;
+ const VkFormat format = VK_FORMAT_R32_UINT;
+ const uint32_t pixelSize = mapVkFormat(format).getPixelSize();
+ const tcu::Vec4 clearColor = tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f);
+ const uint32_t width = static_cast<deUint32>(m_testParams.width);
+ const uint32_t height = static_cast<deUint32>(m_testParams.height);
+ const VkPrimitiveTopology topology = m_testParams.topology;
+ const bool withColor = false;
+ const bool provokingVertexLast = getProvokingVertexLast();
+
+ const vector<tcu::Vec4> vertices = generateVertexBuffer();
+ const uint32_t vertexCount = static_cast<uint32_t>(vertices.size());
+ MovePtr<BufferWithMemory> vertexBuffer = createVertexBuffer(vertices);
+
+ const VkImageCreateInfo imageCreateInfo = makeImageCreateInfo(format, width, height);
+ const VkImageSubresourceRange imageSubresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u);
+ const MovePtr<ImageWithMemory> image = MovePtr<ImageWithMemory>(new ImageWithMemory(vkd, device, allocator, imageCreateInfo, MemoryRequirement::Any));
+ const Move<VkImageView> imageView = makeImageView(vkd, device, **image, VK_IMAGE_VIEW_TYPE_2D, format, imageSubresourceRange);
+
+ const VkBufferCreateInfo resultBufferCreateInfo = makeBufferCreateInfo(width * height * pixelSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT);
+ MovePtr<BufferWithMemory> resultBuffer = MovePtr<BufferWithMemory>(new BufferWithMemory(vkd, device, allocator, resultBufferCreateInfo, MemoryRequirement::HostVisible));
+
+ const string shaderSuffix = (provokingVertexLast == m_testParams.provokingVertexLast) ? "" : "-forced";
+ const Move<VkShaderModule> vertModule = createShaderModule(vkd, device, m_context.getBinaryCollection().get("vert" + shaderSuffix), 0u);
+ const Move<VkShaderModule> fragModule = createShaderModule(vkd, device, m_context.getBinaryCollection().get("frag" + shaderSuffix), 0u);
+ const Move<VkRenderPass> renderPass = makeRenderPass(vkd, device, format);
+ const deUint32 pushConstants[] = { 0, 1, 2 };
+ const VkPushConstantRange pushConstantRange = makePushConstantRange(VK_SHADER_STAGE_FRAGMENT_BIT, 0, sizeof(pushConstants));
+ const VkPushConstantRange* pushConstantRangePtr = m_testParams.dynamicIndexing ? &pushConstantRange : DE_NULL;
+ const deUint32 pushConstantRangeCount = m_testParams.dynamicIndexing ? 1 : 0;
+ const Move<VkPipelineLayout> pipelineLayout = makePipelineLayout(vkd, device, 0, DE_NULL, pushConstantRangeCount, pushConstantRangePtr);
+ const Move<VkPipeline> pipeline = makeGraphicsPipeline(vkd, device, *pipelineLayout, *renderPass, *vertModule, *fragModule, width, height, topology, withColor, provokingVertexLast);
+
+ const Move<VkFramebuffer> framebuffer = makeFramebuffer(vkd, device, *renderPass, *imageView, width, height);
+
+ const Move<VkCommandPool> commandPool = createCommandPool(vkd, device, 0, queueFamilyIndex);
+ const Move<VkCommandBuffer> commandBuffer = allocateCommandBuffer(vkd, device, *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
+
+ beginCommandBuffer(vkd, *commandBuffer);
+ {
+ beginRenderPass(vkd, *commandBuffer, *renderPass, *framebuffer, makeRect2D(width, height), clearColor);
+
+ vkd.cmdBindPipeline(*commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *pipeline);
+
+ vkd.cmdBindVertexBuffers(*commandBuffer, 0u, 1u, &vertexBuffer->get(), &offsetZero);
+
+ if (m_testParams.dynamicIndexing)
+ vkd.cmdPushConstants(*commandBuffer, *pipelineLayout, VK_SHADER_STAGE_FRAGMENT_BIT, 0u, sizeof(pushConstants), &pushConstants);
+
+ vkd.cmdDraw(*commandBuffer, vertexCount, 1u, 0u, 0u);
+
+ endRenderPass(vkd, *commandBuffer);
+
+ copyImageToBuffer(vkd, *commandBuffer, image->get(), resultBuffer->get(), tcu::IVec2(width, height));
+ }
+
+ endCommandBuffer(vkd, *commandBuffer);
+ submitCommandsAndWait(vkd, device, queue, *commandBuffer);
+
+ invalidateMappedMemoryRange(vkd, device, resultBuffer->getAllocation().getMemory(), resultBuffer->getAllocation().getOffset(), VK_WHOLE_SIZE);
+
+ DE_ASSERT(8 * pixelSize >= getComponentCount(m_testParams));
+
+ if (verify(resultBuffer.get()))
+ return tcu::TestStatus::pass("Pass");
+ else
+ return tcu::TestStatus::fail("Fail");
+}
+
+
+class FragmentShadingBarycentricWeightTestInstance : public TestInstance
+{
+public:
+ FragmentShadingBarycentricWeightTestInstance (Context& context,
+ const TestParams& testParams);
+ virtual ~FragmentShadingBarycentricWeightTestInstance ();
+ virtual tcu::TestStatus iterate (void);
+
+protected:
+ void addVertexWithColor (vector<tcu::Vec4>& vertices,
+ const tcu::Vec4& vertex,
+ const tcu::Vec4& color);
+ vector<tcu::Vec4> generateVertexBuffer (void);
+ MovePtr<BufferWithMemory> createVertexBuffer (const vector<tcu::Vec4>& vertices);
+ bool verify (VkFormat format,
+ BufferWithMemory* referenceBuffer,
+ BufferWithMemory* resultBuffer);
+
+ TestParams m_testParams;
+};
+
+FragmentShadingBarycentricWeightTestInstance::FragmentShadingBarycentricWeightTestInstance (Context& context, const TestParams& testParams)
+ : TestInstance (context)
+ , m_testParams (testParams)
+{
+}
+
+FragmentShadingBarycentricWeightTestInstance::~FragmentShadingBarycentricWeightTestInstance ()
+{
+}
+
+void FragmentShadingBarycentricWeightTestInstance::addVertexWithColor (vector<tcu::Vec4>& vertices,
+ const tcu::Vec4& vertex,
+ const tcu::Vec4& color)
+{
+ vertices.push_back(vertex);
+ vertices.push_back(color);
+}
+
+vector<tcu::Vec4> FragmentShadingBarycentricWeightTestInstance::generateVertexBuffer (void)
+{
+ const float slope = WEIGHT_TEST_SLOPE;
+ const tcu::Vec4 leftBotColor = tcu::Vec4(0.00f, 0.00f, 0.00f, 1.0f);
+ const tcu::Vec4 leftTopColor = tcu::Vec4(1.00f, 0.00f, 0.00f, 1.0f);
+ const tcu::Vec4 rightTopColor = tcu::Vec4(0.00f, 1.00f, 0.00f, 1.0f);
+ const tcu::Vec4 rightBotColor = tcu::Vec4(0.00f, 0.00f, 1.00f, 1.0f);
+ const tcu::Vec4 noneColor = tcu::Vec4(0.25f, 0.50f, 0.75f, 1.0f);
+ size_t vertexCount = static_cast<size_t>(~0ull);
+ vector<tcu::Vec4> result;
+
+ DE_ASSERT(slope >= 1.0f);
+
+ switch (m_testParams.topology)
+ {
+ case VK_PRIMITIVE_TOPOLOGY_POINT_LIST:
+ {
+ vertexCount = m_testParams.width * m_testParams.height;
+
+ result.reserve(2 * vertexCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float ky = (0.5f + float(y)) / float(m_testParams.height);
+ const float yy = -1.0f + 2.0f * ky;
+ const tcu::Vec4 leftColor = mix(leftTopColor, leftBotColor, ky);
+ const tcu::Vec4 rightColor = mix(rightTopColor, rightBotColor, ky);
+
+ for (size_t x = 0; x < m_testParams.width; x++)
+ {
+ const float kx = (0.5f + float(x)) / float(m_testParams.width);
+ const float xx = -1.0f + 2.0f * kx;
+ const float pointSlope = 1.0f + kx * (slope - 1.0f);
+ const tcu::Vec4 point = tcu::Vec4(xx, yy, 0.0f, 1.0f) * pointSlope;
+ const tcu::Vec4 color = mix(leftColor, rightColor, kx);
+
+ addVertexWithColor(result, point, color);
+ }
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_LIST:
+ {
+ vertexCount = 2 * m_testParams.height;
+
+ result.reserve(2 * vertexCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float ky = (0.5f + float(y)) / float(m_testParams.height);
+ const float yy = -1.0f + 2.0f * ky;
+ const tcu::Vec4 leftColor = mix(leftTopColor, leftBotColor, ky);
+ const tcu::Vec4 rightColor = mix(rightTopColor, rightBotColor, ky);
+ const tcu::Vec4 left = tcu::Vec4(-1.0f, yy, 0.0f, 1.0f);
+ const tcu::Vec4 right = tcu::Vec4( 1.0f, yy, 0.0f, 1.0f) * slope;
+
+ addVertexWithColor(result, left, leftColor);
+ addVertexWithColor(result, right, rightColor);
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP:
+ {
+ vertexCount = 2 * m_testParams.height;
+
+ result.reserve(2 * vertexCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float ky = (0.5f + float(y)) / float(m_testParams.height);
+ const float yy = -1.0f + 2.0f * ky;
+ const tcu::Vec4 leftColor = mix(leftTopColor, leftBotColor, ky);
+ const tcu::Vec4 rightColor = mix(rightTopColor, rightBotColor, ky);
+ const tcu::Vec4 left = tcu::Vec4(-2.0f, yy, 0.0f, 1.0f);
+ const tcu::Vec4 right = tcu::Vec4( 2.0f, yy, 0.0f, 1.0f) * slope;
+
+ if (y % 2 == 0)
+ {
+ addVertexWithColor(result, left, leftColor);
+ addVertexWithColor(result, right, rightColor);
+ }
+ else
+ {
+ addVertexWithColor(result, right, rightColor);
+ addVertexWithColor(result, left, leftColor);
+ }
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST:
+ {
+ vertexCount = 6;
+
+ result.reserve(2 * vertexCount);
+
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f), leftTopColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f), leftBotColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f) * slope, rightBotColor);
+
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f) * slope, rightBotColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f) * slope, rightTopColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f), leftTopColor);
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP:
+ {
+ vertexCount = 4;
+
+ result.reserve(2 * vertexCount);
+
+ addVertexWithColor(result, tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f), leftBotColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f), leftTopColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f) * slope, rightBotColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f) * slope, rightTopColor);
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN:
+ {
+ vertexCount = 4;
+
+ result.reserve(2 * vertexCount);
+
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f), leftTopColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f), leftBotColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f) * slope, rightBotColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f) * slope, rightTopColor);
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY:
+ {
+ vertexCount = 4 * m_testParams.height;
+
+ result.reserve(2 * vertexCount);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float ky = (0.5f + float(y)) / float(m_testParams.height);
+ const float yy = -1.0f + 2.0f * ky;
+ const tcu::Vec4 leftColor = mix(leftTopColor, leftBotColor, ky);
+ const tcu::Vec4 rightColor = mix(rightTopColor, rightBotColor, ky);
+ const tcu::Vec4 preLeft = tcu::Vec4(-2.0f, yy, 0.0f, 1.0f);
+ const tcu::Vec4 left = tcu::Vec4(-1.0f, yy, 0.0f, 1.0f);
+ const tcu::Vec4 right = tcu::Vec4( 1.0f, yy, 0.0f, 1.0f) * slope;
+ const tcu::Vec4 afterRight = tcu::Vec4( 2.0f, yy, 0.0f, 1.0f) * slope;
+
+ addVertexWithColor(result, preLeft, noneColor);
+ addVertexWithColor(result, left, leftColor);
+ addVertexWithColor(result, right, rightColor);
+ addVertexWithColor(result, afterRight, noneColor);
+ }
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY:
+ {
+ vertexCount = 2 * m_testParams.height + 2;
+
+ result.reserve(2 * vertexCount);
+
+ addVertexWithColor(result, tcu::Vec4(-10.0f, -10.0f, 0.0f, 1.0f), noneColor);
+
+ for (size_t y = 0; y < m_testParams.height; y++)
+ {
+ const float ky = (0.5f + float(y)) / float(m_testParams.height);
+ const float yy = -1.0f + 2.0f * ky;
+ const tcu::Vec4 leftColor = mix(leftTopColor, leftBotColor, ky);
+ const tcu::Vec4 rightColor = mix(rightTopColor, rightBotColor, ky);
+ const tcu::Vec4 left = tcu::Vec4(-2.0f, yy, 0.0f, 1.0f);
+ const tcu::Vec4 right = tcu::Vec4( 2.0f, yy, 0.0f, 1.0f) * slope;
+
+ if (y % 2 == 0)
+ {
+ addVertexWithColor(result, left, leftColor);
+ addVertexWithColor(result, right, rightColor);
+ }
+ else
+ {
+ addVertexWithColor(result, right, rightColor);
+ addVertexWithColor(result, left, leftColor);
+ }
+ }
+
+ addVertexWithColor(result, tcu::Vec4(+10.0f, +10.0f, 0.0f, 1.0f), noneColor);
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:
+ {
+ vertexCount = 12;
+
+ result.reserve(2 * vertexCount);
+
+ addVertexWithColor(result, tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f), leftBotColor);
+ addVertexWithColor(result, tcu::Vec4(-3.0f, +1.0f, 0.0f, 1.0f), noneColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f), leftTopColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f) * slope, noneColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f) * slope, rightBotColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +3.0f, 0.0f, 1.0f) * slope, noneColor);
+
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f), leftTopColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f), noneColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f) * slope, rightBotColor);
+ addVertexWithColor(result, tcu::Vec4(+3.0f, +1.0f, 0.0f, 1.0f) * slope, noneColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f) * slope, rightTopColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -3.0f, 0.0f, 1.0f), leftTopColor);
+
+ break;
+ }
+
+ case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY:
+ {
+ vertexCount = 8;
+
+ result.reserve(2 * vertexCount);
+
+ addVertexWithColor(result, tcu::Vec4(-1.0f, +1.0f, 0.0f, 1.0f), leftBotColor);
+ addVertexWithColor(result, tcu::Vec4(-3.0f, -1.0f, 0.0f, 1.0f), noneColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -1.0f, 0.0f, 1.0f), leftTopColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +3.0f, 0.0f, 1.0f) * slope, noneColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +1.0f, 0.0f, 1.0f) * slope, rightBotColor);
+ addVertexWithColor(result, tcu::Vec4(-1.0f, -3.0f, 0.0f, 1.0f), noneColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, -1.0f, 0.0f, 1.0f) * slope, rightTopColor);
+ addVertexWithColor(result, tcu::Vec4(+1.0f, +3.0f, 0.0f, 1.0f) * slope, noneColor);
+
+ break;
+ }
+
+ default:
+ TCU_THROW(InternalError, "Unknown topology");
+ }
+
+ DE_ASSERT(result.size() == 2 * vertexCount);
+
+ return result;
+}
+
+bool FragmentShadingBarycentricWeightTestInstance::verify (VkFormat format, BufferWithMemory* referenceBuffer, BufferWithMemory* resultBuffer)
+{
+ const deUint32* refernceData = (deUint32*)referenceBuffer->getAllocation().getHostPtr();
+ const deUint32* resultData = (deUint32*)resultBuffer->getAllocation().getHostPtr();
+ tcu::TestLog& log = m_context.getTestContext().getLog();
+ const tcu::ConstPixelBufferAccess refImage (mapVkFormat(format), (int)m_testParams.width, (int)m_testParams.height, 1u, refernceData);
+ const tcu::ConstPixelBufferAccess resultImage (mapVkFormat(format), (int)m_testParams.width, (int)m_testParams.height, 1u, resultData);
+ const tcu::UVec4 threshold (1, 1, 1, 1);
+ bool result = tcu::intThresholdCompare(log,
+ "ComparisonResult",
+ "Image comparison result",
+ refImage,
+ resultImage,
+ threshold,
+ tcu::COMPARE_LOG_ON_ERROR);
+
+ return result;
+}
+
+MovePtr<BufferWithMemory> FragmentShadingBarycentricWeightTestInstance::createVertexBuffer (const vector<tcu::Vec4>& vertices)
+{
+ const DeviceInterface& vkd = m_context.getDeviceInterface();
+ const VkDevice device = m_context.getDevice();
+ Allocator& allocator = m_context.getDefaultAllocator();
+ const VkDeviceSize vertexBufferSize = vertices.size() * sizeof(vertices[0]);
+ const VkBufferCreateInfo vertexBufferCreateInfo = makeBufferCreateInfo(vertexBufferSize, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT);
+ MovePtr<BufferWithMemory> vertexBuffer = MovePtr<BufferWithMemory>(new BufferWithMemory(vkd, device, allocator, vertexBufferCreateInfo, MemoryRequirement::HostVisible));
+ Allocation& vertexBufferAlloc = vertexBuffer->getAllocation();
+
+ // Initialize vertex data
+ deMemcpy(vertexBufferAlloc.getHostPtr(), vertices.data(), (size_t)vertexBufferSize);
+ flushAlloc(vkd, device, vertexBufferAlloc);
+
+ return vertexBuffer;
+}
+
+tcu::TestStatus FragmentShadingBarycentricWeightTestInstance::iterate (void)
+{
+ const DeviceInterface& vkd = m_context.getDeviceInterface();
+ const VkDevice device = m_context.getDevice();
+ const VkQueue queue = m_context.getUniversalQueue();
+ Allocator& allocator = m_context.getDefaultAllocator();
+ const uint32_t queueFamilyIndex = m_context.getUniversalQueueFamilyIndex();
+
+ const VkDeviceSize offsetZero = 0ull;
+ const VkFormat format = VK_FORMAT_R8G8B8A8_UNORM;
+ const uint32_t pixelSize = mapVkFormat(format).getPixelSize();
+ const tcu::Vec4 clearColor = tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f);
+ const uint32_t width = static_cast<deUint32>(m_testParams.width);
+ const uint32_t height = static_cast<deUint32>(m_testParams.height);
+ const bool dynamicStateTopology = m_testParams.dynamicTopologyInPipeline;
+ const VkPrimitiveTopology pipelineTopology = dynamicStateTopology ? primitiveTopologyCastToList(m_testParams.topology) : m_testParams.topology;
+ const bool withColor = true;
+ const bool provokingVertexLast = m_testParams.provokingVertexLast;
+ const float teta = deFloatRadians(-float(m_testParams.rotation));
+ const float mvp[4*4] =
+ {
+ cos(teta), -sin(teta), 0.0f, 0.0f,
+ sin(teta), cos(teta), 0.0f, 0.0f,
+ 0.0f, 0.0f, 1.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 1.0f
+ };
+ const vector<tcu::Vec4> vertices = generateVertexBuffer();
+ const uint32_t vertexCount = static_cast<uint32_t>(vertices.size() / 2);
+ MovePtr<BufferWithMemory> vertexBuffer = createVertexBuffer(vertices);
+
+ const VkBufferCreateInfo bufferCreateInfo = makeBufferCreateInfo(width * height * pixelSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT);
+ MovePtr<BufferWithMemory> resultBuffer = MovePtr<BufferWithMemory>(new BufferWithMemory(vkd, device, allocator, bufferCreateInfo, MemoryRequirement::HostVisible));
+ MovePtr<BufferWithMemory> referenceBuffer = MovePtr<BufferWithMemory>(new BufferWithMemory(vkd, device, allocator, bufferCreateInfo, MemoryRequirement::HostVisible));
+
+ const Move<VkRenderPass> renderPass = makeRenderPass(vkd, device, format);
+
+ const Move<VkCommandPool> commandPool = createCommandPool(vkd, device, 0, queueFamilyIndex);
+ const Move<VkShaderModule> vertModule = createShaderModule(vkd, device, m_context.getBinaryCollection().get("vert"), 0u);
+ const VkImageCreateInfo imageCreateInfo = makeImageCreateInfo(format, width, height);
+ const VkImageSubresourceRange imageSubresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u);
+ const VkClearValue clearValue = makeClearValueColorU32(0u, 0u, 0u, 0u);
+
+ for (size_t ndx = 0; ndx < 2; ndx++)
+ {
+ const MovePtr<ImageWithMemory> image = MovePtr<ImageWithMemory>(new ImageWithMemory(vkd, device, allocator, imageCreateInfo, MemoryRequirement::Any));
+ const Move<VkImageView> imageView = makeImageView(vkd, device, **image, VK_IMAGE_VIEW_TYPE_2D, format, imageSubresourceRange);
+ const Move<VkFramebuffer> framebuffer = makeFramebuffer(vkd, device, *renderPass, *imageView, width, height);
+ const Move<VkCommandBuffer> commandBuffer = allocateCommandBuffer(vkd, device, *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
+ const BufferWithMemory* buffer = (ndx == 0) ? resultBuffer.get() : referenceBuffer.get();
+ const string fragModuleName = (ndx == 0) ? "frag_test" : "frag_reference";
+ const Move<VkShaderModule> fragModule = createShaderModule(vkd, device, m_context.getBinaryCollection().get(fragModuleName), 0u);
+ const VkPushConstantRange pushConstantRange = makePushConstantRange(VK_SHADER_STAGE_VERTEX_BIT, 0, sizeof(mvp));
+ const Move<VkPipelineLayout> pipelineLayout = makePipelineLayout(vkd, device, 0, DE_NULL, 1, &pushConstantRange);
+ const Move<VkPipeline> pipeline = makeGraphicsPipeline(vkd, device, *pipelineLayout, *renderPass, *vertModule, *fragModule, width, height, pipelineTopology, withColor, provokingVertexLast, dynamicStateTopology);
+ const VkImageMemoryBarrier postImageBarrier = makeImageMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_GENERAL, **image, imageSubresourceRange);
+
+ beginCommandBuffer(vkd, *commandBuffer);
+ {
+ vkd.cmdClearColorImage(*commandBuffer, **image, VK_IMAGE_LAYOUT_GENERAL, &clearValue.color, 1, &imageSubresourceRange);
+
+ cmdPipelineImageMemoryBarrier(vkd, *commandBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, &postImageBarrier);
+
+ if (dynamicStateTopology)
+ vkd.cmdSetPrimitiveTopology(*commandBuffer, m_testParams.topology);
+
+ beginRenderPass(vkd, *commandBuffer, *renderPass, *framebuffer, makeRect2D(width, height), clearColor);
+ {
+ vkd.cmdBindPipeline(*commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *pipeline);
+
+ vkd.cmdBindVertexBuffers(*commandBuffer, 0u, 1u, &vertexBuffer->get(), &offsetZero);
+
+ vkd.cmdPushConstants(*commandBuffer, *pipelineLayout, VK_SHADER_STAGE_VERTEX_BIT, 0u, sizeof(mvp), &mvp);
+
+ vkd.cmdDraw(*commandBuffer, vertexCount, 1u, 0u, 0u);
+ }
+ endRenderPass(vkd, *commandBuffer);
+
+ copyImageToBuffer(vkd, *commandBuffer, image->get(), buffer->get(), tcu::IVec2(width, height));
+ }
+ endCommandBuffer(vkd, *commandBuffer);
+ submitCommandsAndWait(vkd, device, queue, *commandBuffer);
+
+ invalidateMappedMemoryRange(vkd, device, buffer->getAllocation().getMemory(), buffer->getAllocation().getOffset(), VK_WHOLE_SIZE);
+ }
+
+ if (verify(format, referenceBuffer.get(), resultBuffer.get()))
+ return tcu::TestStatus::pass("Pass");
+ else
+ return tcu::TestStatus::fail("Fail");
+}
+
+
+class FragmentShadingBarycentricTestCase : public TestCase
+{
+public:
+ FragmentShadingBarycentricTestCase (tcu::TestContext& context,
+ const char* name,
+ const char* desc,
+ const TestParams testParams);
+ ~FragmentShadingBarycentricTestCase (void);
+
+ virtual void checkSupport (Context& context) const;
+ virtual void initPrograms (SourceCollections& programCollection) const;
+ virtual TestInstance* createInstance (Context& context) const;
+
+private:
+ void initDataPrograms (SourceCollections& programCollection) const;
+ void initWeightPrograms (SourceCollections& programCollection) const;
+ string getDataPrimitiveFormula (void) const;
+ string getDataVertexFormula (const uint32_t vertex,
+ const bool* provokingVertexLastPtr = DE_NULL) const;
+
+ TestParams m_testParams;
+};
+
+FragmentShadingBarycentricTestCase::FragmentShadingBarycentricTestCase (tcu::TestContext& context, const char* name, const char* desc, const TestParams testParams)
+ : vkt::TestCase (context, name, desc)
+ , m_testParams (testParams)
+{
+}
+
+FragmentShadingBarycentricTestCase::~FragmentShadingBarycentricTestCase (void)
+{
+}
+
+void FragmentShadingBarycentricTestCase::checkSupport (Context& context) const
+{
+ context.requireDeviceFunctionality("VK_KHR_fragment_shader_barycentric");
+
+ const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR& fragmentShaderBarycentricFeatures = context.getFragmentShaderBarycentricFeatures();
+
+ if (!fragmentShaderBarycentricFeatures.fragmentShaderBarycentric)
+ TCU_THROW(NotSupportedError, "Requires VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR.fragmentShaderBarycentric");
+
+ if (m_testParams.provokingVertexLast)
+ {
+ context.requireDeviceFunctionality("VK_EXT_provoking_vertex");
+
+ const VkPhysicalDeviceProvokingVertexFeaturesEXT& provokingVertexFeaturesEXT = context.getProvokingVertexFeaturesEXT();
+
+ if (!provokingVertexFeaturesEXT.provokingVertexLast)
+ TCU_THROW(NotSupportedError, "Requires VkPhysicalDeviceProvokingVertexFeaturesEXT.provokingVertexLast");
+ }
+
+ if (m_testParams.dynamicTopologyInPipeline)
+ {
+ context.requireDeviceFunctionality("VK_EXT_extended_dynamic_state");
+
+ const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& extendedDynamicStateFeaturesEXT = context.getExtendedDynamicStateFeaturesEXT();
+
+ if (!extendedDynamicStateFeaturesEXT.extendedDynamicState)
+ TCU_THROW(NotSupportedError, "Requires VkPhysicalDeviceExtendedDynamicStateFeaturesEXT.extendedDynamicState");
+ }
+}
+
+TestInstance* FragmentShadingBarycentricTestCase::createInstance (Context& context) const
+{
+ switch (m_testParams.testType)
+ {
+ case TEST_TYPE_DATA: return new FragmentShadingBarycentricDataTestInstance(context, m_testParams);
+ case TEST_TYPE_WEIGHTS: return new FragmentShadingBarycentricWeightTestInstance(context, m_testParams);
+ default: TCU_THROW(InternalError, "Unknown testType");
+ }
+}
+
+void FragmentShadingBarycentricTestCase::initPrograms (SourceCollections& programCollection) const
+{
+ switch (m_testParams.testType)
+ {
+ case TEST_TYPE_DATA: initDataPrograms(programCollection); break;
+ case TEST_TYPE_WEIGHTS: initWeightPrograms(programCollection); break;
+ default: TCU_THROW(InternalError, "Unknown testType");
+ }
+}
+
+string FragmentShadingBarycentricTestCase::getDataPrimitiveFormula (void) const
+{
+ const char* primitiveFormulas[] =
+ {
+ "w * y + x", // VK_PRIMITIVE_TOPOLOGY_POINT_LIST
+ "y", // VK_PRIMITIVE_TOPOLOGY_LINE_LIST
+ "2*y", // VK_PRIMITIVE_TOPOLOGY_LINE_STRIP
+ "(x < y) ? 0 : 1", // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST
+ "(x < y) ? 0 : 1", // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP
+ "(x < y) ? 0 : 1", // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN
+ "y", // VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY
+ "2*y", // VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY
+ "(x < y) ? 0 : 1", // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY
+ "(x < y) ? 0 : 1", // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY
+ "NOT IMPLEMENTED", // VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
+ };
+
+ DE_STATIC_ASSERT(DE_LENGTH_OF_ARRAY(primitiveFormulas) == vk::VK_PRIMITIVE_TOPOLOGY_LAST);
+ DE_ASSERT(m_testParams.topology < DE_LENGTH_OF_ARRAY(primitiveFormulas));
+
+ return primitiveFormulas[m_testParams.topology];
+}
+
+string FragmentShadingBarycentricTestCase::getDataVertexFormula (const uint32_t vertex, const bool* provokingVertexLastPtr) const
+{
+ typedef const char* TriVertexFormula[3];
+
+ // Accoriding "Barycentric Interpolation" section
+ const TriVertexFormula topologyVertexFormulas[] =
+ {
+ { "p", "p", "p" }, // VK_PRIMITIVE_TOPOLOGY_POINT_LIST
+ { "2*p", "2*p+1", "2*p+1" }, // VK_PRIMITIVE_TOPOLOGY_LINE_LIST
+ { "p", "p+1", "p+1" }, // VK_PRIMITIVE_TOPOLOGY_LINE_STRIP
+ { "3*p", "3*p+1", "3*p+2" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST
+ { "p", "even?p+1:p+2", "even?p+2:p+1" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP
+ { "p+1", "p+2", "0" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN
+ { "4*p+1", "4*p+2", "4*p+2" }, // VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY
+ { "p+1", "p+2", "p+2" }, // VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY
+ { "6*p", "6*p+2", "6*p+4" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY
+ { "2*p", "even?2*p+2:2*p+4", "even?2*p+4:2*p+2" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY
+ { "", "", "" }, // VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
+ };
+ const TriVertexFormula topologyVertexFormulasLast[] =
+ {
+ { "even?p:p+1", "even?p+1:p", "p+2" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP
+ { "0", "p+1", "p+2" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN
+ { "even?2*p:2*p+2", "even?2*p+2:2*p", "2*p+4" }, // VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY
+ };
+ const bool provokingVertexLast = provokingVertexLastPtr ? (*provokingVertexLastPtr) : m_testParams.provokingVertexLast;
+ const bool provokingLastTriangleStrip = provokingVertexLast && m_testParams.topology == VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
+ const bool provokingLastTriangleFan = provokingVertexLast && m_testParams.topology == VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN;
+ const bool provokingLastTriangleStripAdj = provokingVertexLast && m_testParams.topology == VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY;
+ const TriVertexFormula* triVertexFormula = provokingLastTriangleStrip ? &topologyVertexFormulasLast[0]
+ : provokingLastTriangleFan ? &topologyVertexFormulasLast[1]
+ : provokingLastTriangleStripAdj ? &topologyVertexFormulasLast[2]
+ : &topologyVertexFormulas[static_cast<size_t>(m_testParams.topology)];
+
+ DE_STATIC_ASSERT(DE_LENGTH_OF_ARRAY(topologyVertexFormulas) == vk::VK_PRIMITIVE_TOPOLOGY_LAST);
+ DE_ASSERT(vertex < DE_LENGTH_OF_ARRAY(triVertexFormula[0]));
+
+ return "(" + string(triVertexFormula[0][vertex]) + ")";
+}
+
+void FragmentShadingBarycentricTestCase::initDataPrograms (SourceCollections& programCollection) const
+{
+ map<string, string> attributes;
+ const string primitiveType = string(getDataTypeName(m_testParams.dataType));
+ const string dataStructType = m_testParams.aggregate == 1 ? "struct DataStruct {" + primitiveType + " q;};" : "";
+ const string typePrefix = m_testParams.aggregate == 0 ? primitiveType
+ : m_testParams.aggregate == 1 ? "DataStruct"
+ : primitiveType;
+ const string typeSuffix = m_testParams.aggregate == 0 ? ""
+ : m_testParams.aggregate == 1 ? ""
+ : "[" + de::toString(m_testParams.aggregate) + "]";
+ const int scalarSize = getDataTypeScalarSize(m_testParams.dataType);
+ const string scalarName = getDataTypeName(getDataTypeScalarType(m_testParams.dataType));
+ const string vectoredInit = (scalarSize == 1) ? primitiveType + "(n)"
+ : (scalarSize == 2) ? primitiveType + "(" + scalarName + "(n), " + scalarName + "(2*n))"
+ : (scalarSize == 3) ? primitiveType + "(" + scalarName + "(n), " + scalarName + "(2*n), " + scalarName + "(4*n))"
+ : (scalarSize == 4) ? primitiveType + "(" + scalarName + "(n), " + scalarName + "(2*n), " + scalarName + "(4*n), " + scalarName + "(8*n))"
+ : "NOT IMPLEMENTED";
+ const string value = m_testParams.aggregate == 0 ? vectoredInit
+ : m_testParams.aggregate == 1 ? "DataStruct(" + vectoredInit + ")"
+ : m_testParams.aggregate == 2 ? primitiveType + "[2](" + vectoredInit + ", " + scalarName + "(3)*" + vectoredInit + ")"
+ : "NOT IMPLEMENTED";
+ const size_t componentCount = getComponentCount(m_testParams);
+ const string scalarized = (scalarSize == 1) ? "e${R},"
+ : (scalarSize == 2) ? "e${R}.x,e${R}.y,"
+ : (scalarSize == 3) ? "e${R}.x,e${R}.y,e${R}.z,"
+ : (scalarSize == 4) ? "e${R}.x,e${R}.y,e${R}.z,e${R}.w,"
+ : "NOT IMPLEMENTED";
+ const string deaggregated = m_testParams.aggregate == 0 ? replace(scalarized, "${R}", "${S}")
+ : m_testParams.aggregate == 1 ? replace(scalarized, "${R}", "${S}.q")
+ : m_testParams.aggregate == 2 ? replace(scalarized, "${R}", "${S}[0]") + replace(scalarized, "${R}", "${S}[1]")
+ : "NOT IMPLEMENTED";
+ const string unwrap = replace(deaggregated, "${S}", "A") + replace(deaggregated, "${S}", "B")+ replace(deaggregated, "${S}", "C");
+ const string expected = unwrap.substr(0, unwrap.size() - 1);
+ const string arrived = replace(expected, "e", "v");
+ const string dynamicIndexing = m_testParams.dynamicIndexing ? "layout(push_constant) uniform PushConstant { uint n[3]; } pc;\n" : "";
+ const string i0 = m_testParams.dynamicIndexing ? "pc.n[0]" : "0";
+ const string i1 = m_testParams.dynamicIndexing ? "pc.n[1]" : "1";
+ const string i2 = m_testParams.dynamicIndexing ? "pc.n[2]" : "2";
+ const string primitiveId = getDataPrimitiveFormula();
+ const string vertexFormula[] = { getDataVertexFormula(0), getDataVertexFormula(1), getDataVertexFormula(2) };
+ const tcu::StringTemplate vertShader (string(
+ "#version 450\n"
+ "#extension GL_EXT_fragment_shader_barycentric : require\n"
+ "\n"
+ "${dataStruct}\n"
+ "\n"
+ "layout(location = 0) in vec4 in_position;\n"
+ "layout(location = 0) out ${typePrefix} data${typeSuffix};\n"
+ "\n"
+ "out gl_PerVertex\n"
+ "{\n"
+ " vec4 gl_Position;\n"
+ " float gl_PointSize;\n"
+ "};\n"
+ "\n"
+ "void main()\n"
+ "{\n"
+ " const int n = gl_VertexIndex + 1;\n"
+ " data = ${value};\n"
+ " gl_PointSize = 1.0;\n"
+ " gl_Position = in_position;\n"
+ "}\n"));
+ const tcu::StringTemplate fragShader (
+ string("#version 450\n") +
+ "#extension GL_EXT_fragment_shader_barycentric : require\n"
+ "\n"
+ "${dataStruct}\n"
+ "\n"
+ "${dynamicIndexing}\n"
+ "layout(location = 0) pervertexEXT in ${typePrefix} data[]${typeSuffix};\n"
+ "layout(location = 0) out uvec4 out_color;\n"
+ "\n"
+ "void main()\n"
+ "{\n"
+ " const int w = " + de::toString(m_testParams.width) + ";\n"
+ " const int h = " + de::toString(m_testParams.height) + ";\n"
+ " const int x = int(gl_FragCoord.x - 0.5f);\n"
+ " const int y = int(gl_FragCoord.y - 0.5f);\n"
+ " const int p = ${primitiveId};\n"
+ " const bool even = (p%2 == 0);\n"
+ "\n"
+ " ${typePrefix} eA${typeSuffix}; { const int n = 1 + ${vertexFormula0}; eA = ${value}; }\n"
+ " ${typePrefix} eB${typeSuffix}; { const int n = 1 + ${vertexFormula1}; eB = ${value}; }\n"
+ " ${typePrefix} eC${typeSuffix}; { const int n = 1 + ${vertexFormula2}; eC = ${value}; }\n"
+ "\n"
+ " ${scalarName} e[${componentCount}] = { ${expected} };\n"
+ "\n"
+ " ${typePrefix} vA${typeSuffix}; { vA = " + string(m_testParams.aggregate == 2 ? "${typePrefix}${typeSuffix}(data[${i0}][0],data[${i0}][1])" : "data[${i0}]") + "; }\n"
+ " ${typePrefix} vB${typeSuffix}; { vB = " + string(m_testParams.aggregate == 2 ? "${typePrefix}${typeSuffix}(data[${i1}][0],data[${i1}][1])" : "data[${i1}]") + "; }\n"
+ " ${typePrefix} vC${typeSuffix}; { vC = " + string(m_testParams.aggregate == 2 ? "${typePrefix}${typeSuffix}(data[${i2}][0],data[${i2}][1])" : "data[${i2}]") + "; }\n"
+ " ${scalarName} v[${componentCount}] = { ${arrived} };\n"
+ "\n"
+ " int mask = 0;\n"
+ "\n"
+ " for (int i = 0; i<${componentCount}; i++)\n"
+ " if (e[i] == v[i])\n"
+ " mask = mask | (1<<i);\n"
+ "\n"
+ " out_color = uvec4(mask);\n"
+ "}\n");
+
+ attributes["typePrefix"] = typePrefix;
+ attributes["typeSuffix"] = typeSuffix;
+ attributes["value"] = value;
+ attributes["componentCount"] = de::toString(componentCount);
+ attributes["expected"] = expected;
+ attributes["arrived"] = arrived;
+ attributes["scalarName"] = scalarName;
+ attributes["dataStruct"] = dataStructType;
+ attributes["dynamicIndexing"] = dynamicIndexing;
+ attributes["primitiveId"] = primitiveId;
+ attributes["i0"] = i0;
+ attributes["i1"] = i1;
+ attributes["i2"] = i2;
+ attributes["vertexFormula0"] = vertexFormula[0];
+ attributes["vertexFormula1"] = vertexFormula[1];
+ attributes["vertexFormula2"] = vertexFormula[2];
+
+ if (isPrimitiveTopologyLine(m_testParams.topology))
+ {
+ DE_ASSERT(vertexFormula[2] == vertexFormula[1]);
+ }
+ else if (isPrimitiveTopologyPoint(m_testParams.topology))
+ {
+ DE_ASSERT(vertexFormula[2] == vertexFormula[1] && vertexFormula[1] == vertexFormula[0]);
+ }
+
+ programCollection.glslSources.add("vert") << glu::VertexSource(vertShader.specialize(attributes));
+ programCollection.glslSources.add("frag") << glu::FragmentSource(fragShader.specialize(attributes));
+
+ if (m_testParams.provokingVertexLast && m_testParams.topology == VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP)
+ {
+ const bool provokingVertexLast = false;
+
+ attributes["vertexFormula0"] = getDataVertexFormula(0, &provokingVertexLast);
+ attributes["vertexFormula1"] = getDataVertexFormula(1, &provokingVertexLast);
+ attributes["vertexFormula2"] = getDataVertexFormula(2, &provokingVertexLast);
+
+ programCollection.glslSources.add("vert-forced") << glu::VertexSource(vertShader.specialize(attributes));
+ programCollection.glslSources.add("frag-forced") << glu::FragmentSource(fragShader.specialize(attributes));
+ }
+}
+
+void FragmentShadingBarycentricTestCase::initWeightPrograms (SourceCollections& programCollection) const
+{
+ const string formulaeTemplate = "in_color[0] * ${coord}.x + in_color[1] * ${coord}.y + in_color[2] * ${coord}.z";
+ const string formulae = m_testParams.perspective
+ ? replace(formulaeTemplate, "${coord}", "gl_BaryCoordEXT")
+ : replace(formulaeTemplate, "${coord}", "gl_BaryCoordNoPerspEXT");
+ const string declspec = m_testParams.perspective ? "" : "noperspective";
+ const string vertShader =
+ "#version 450\n"
+ "\n"
+ "layout(location = 0) in vec4 in_position;\n"
+ "layout(location = 1) in vec4 in_color;\n"
+ "layout(location = 0) out vec3 color;\n"
+ "layout(push_constant) uniform PushConstant { mat4 mvp; } pc;\n"
+ "\n"
+ "void main()\n"
+ "{\n"
+ " color = in_color.xyz;\n"
+ " gl_Position = transpose(pc.mvp) * in_position;\n"
+ " gl_PointSize = 1.0;\n"
+ "}\n";
+ const tcu::StringTemplate fragShaderReference (string(
+ "#version 450\n"
+ "\n"
+ "layout(location = 0) ${declspec} in vec3 in_color;\n"
+ "layout(location = 0) out vec4 out_color;\n"
+ "\n"
+ "void main()\n"
+ "{\n"
+ " out_color = vec4(in_color, 1.0f);\n"
+ "}\n"));
+ const tcu::StringTemplate fragShaderTest (string(
+ "#version 450\n"
+ "#extension GL_EXT_fragment_shader_barycentric : require\n"
+ "\n"
+ "layout(location = 0) pervertexEXT in vec3 in_color[];\n"
+ "layout(location = 0) out vec4 out_color;\n"
+ "\n"
+ "void main()\n"
+ "{\n"
+ " out_color = vec4(${formulae}, 1.0f);\n"
+ "}\n"));
+ map<string, string> attributes;
+
+ attributes["formulae"] = formulae;
+ attributes["declspec"] = declspec;
+
+ programCollection.glslSources.add("vert") << glu::VertexSource(vertShader);
+ programCollection.glslSources.add("frag_reference") << glu::FragmentSource(fragShaderReference.specialize(attributes));
+ programCollection.glslSources.add("frag_test") << glu::FragmentSource(fragShaderTest.specialize(attributes));
+}
+} // anonymous
+
+tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx)
+{
+ const bool notused = false;
+ MovePtr<tcu::TestCaseGroup> group (new tcu::TestCaseGroup(testCtx, "fragment_shading_barycentric", "Tests fragment shading barycentric extension"));
+
+ const struct PrimitiveTestSpec
+ {
+ VkPrimitiveTopology topology;
+ const char* name;
+ }
+ topologies[] =
+ {
+ { VK_PRIMITIVE_TOPOLOGY_POINT_LIST , "point_list" },
+ { VK_PRIMITIVE_TOPOLOGY_LINE_LIST , "line_list" },
+ { VK_PRIMITIVE_TOPOLOGY_LINE_STRIP , "line_strip" },
+ { VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST , "triangle_list" },
+ { VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP , "triangle_strip" },
+ { VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN , "triangle_fan" },
+ { VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY , "line_list_with_adjacency" },
+ { VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY , "line_strip_with_adjacency" },
+ { VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY , "triangle_list_with_adjacency" },
+ { VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY , "triangle_strip_with_adjacency" },
+ };
+ const glu::DataType dataTypes[] =
+ {
+ glu::TYPE_FLOAT,
+ glu::TYPE_FLOAT_VEC2,
+ glu::TYPE_FLOAT_VEC3,
+ glu::TYPE_FLOAT_VEC4,
+ glu::TYPE_DOUBLE,
+ glu::TYPE_DOUBLE_VEC2,
+ glu::TYPE_DOUBLE_VEC3,
+ glu::TYPE_DOUBLE_VEC4,
+ glu::TYPE_INT,
+ glu::TYPE_INT_VEC2,
+ glu::TYPE_INT_VEC3,
+ glu::TYPE_INT_VEC4,
+ glu::TYPE_UINT,
+ glu::TYPE_UINT_VEC2,
+ glu::TYPE_UINT_VEC3,
+ glu::TYPE_UINT_VEC4,
+ };
+ const struct Perspective
+ {
+ const char* name;
+ bool value;
+ }
+ perspectives[] =
+ {
+ { "perspective", true },
+ { "noperspective", false },
+ };
+ const struct DynamicIndexing
+ {
+ const char* name;
+ bool value;
+ }
+ dynamicIndexings[] =
+ {
+ { "static", false },
+ { "dynamic", true },
+ };
+ const struct ProvokingVertex
+ {
+ const char* name;
+ bool value;
+ }
+ provokingVertices[] =
+ {
+ { "provoking_first", false },
+ { "provoking_last", true },
+ };
+ const uint32_t rotations[] = { 0, 85, 95 };
+ const struct TopologyInPipeline
+ {
+ const char* name;
+ bool value;
+ }
+ topologiesInPipeline[] =
+ {
+ { "pipeline_topology_static", false },
+ { "pipeline_topology_dynamic", true },
+ };
+
+ {
+ MovePtr<tcu::TestCaseGroup> testTypeGroup (new tcu::TestCaseGroup(testCtx, "data", ""));
+ const TestType testType = TEST_TYPE_DATA;
+
+ for (size_t provokingVertexNdx = 0; provokingVertexNdx < DE_LENGTH_OF_ARRAY(provokingVertices); ++provokingVertexNdx)
+ {
+ MovePtr<tcu::TestCaseGroup> provokingVertexGroup (new tcu::TestCaseGroup(testCtx, provokingVertices[provokingVertexNdx].name, ""));
+ const bool provokingVertexLast = provokingVertices[provokingVertexNdx].value;
+
+ for (size_t dynamicNdx = 0; dynamicNdx < DE_LENGTH_OF_ARRAY(dynamicIndexings); ++dynamicNdx)
+ {
+ MovePtr<tcu::TestCaseGroup> dynamicIndexingGroup (new tcu::TestCaseGroup(testCtx, dynamicIndexings[dynamicNdx].name, ""));
+ const bool dynamicIndexing = dynamicIndexings[dynamicNdx].value;
+
+ for (size_t topologyNdx = 0; topologyNdx < DE_LENGTH_OF_ARRAY(topologies); ++topologyNdx)
+ {
+ MovePtr<tcu::TestCaseGroup> topologyGroup (new tcu::TestCaseGroup(testCtx, topologies[topologyNdx].name, ""));
+ const VkPrimitiveTopology topology = topologies[topologyNdx].topology;
+
+ for (size_t aggregateNdx = 0; aggregateNdx < 3; ++aggregateNdx)
+ {
+ const string aggregateName = aggregateNdx == 0 ? "type"
+ : aggregateNdx == 1 ? "struct"
+ : "array" + de::toString(aggregateNdx);
+ MovePtr<tcu::TestCaseGroup> aggregateGroup (new tcu::TestCaseGroup(testCtx, aggregateName.c_str(), ""));
+
+ for (size_t dataTypeNdx = 0; dataTypeNdx < DE_LENGTH_OF_ARRAY(dataTypes); ++dataTypeNdx)
+ {
+ const glu::DataType dataType = dataTypes[dataTypeNdx];
+ const char* dataTypeName = getDataTypeName(dataType);
+
+ const TestParams testParams =
+ {
+ testType, // TestType testType;
+ topology, // VkPrimitiveTopology topology;
+ dynamicIndexing, // bool dynamicIndexing;
+ aggregateNdx, // size_t aggregate;
+ dataType, // glu::DataType dataType;
+ DATA_TEST_WIDTH, // uint32_t width;
+ DATA_TEST_HEIGHT, // uint32_t height;
+ notused, // bool perspective;
+ provokingVertexLast, // bool provokingVertexLast;
+ (uint32_t)notused, // uint32_t rotation;
+ notused, // bool dynamicTopologyInPipeline
+ };
+
+ aggregateGroup->addChild(new FragmentShadingBarycentricTestCase(testCtx, dataTypeName, "", testParams));
+ }
+
+ topologyGroup->addChild(aggregateGroup.release());
+ }
+
+ dynamicIndexingGroup->addChild(topologyGroup.release());
+ }
+
+ provokingVertexGroup->addChild(dynamicIndexingGroup.release());
+ }
+
+ testTypeGroup->addChild(provokingVertexGroup.release());
+ }
+
+ group->addChild(testTypeGroup.release());
+ }
+
+ {
+ MovePtr<tcu::TestCaseGroup> testTypeGroup (new tcu::TestCaseGroup(testCtx, "weights", ""));
+ const TestType testType = TEST_TYPE_WEIGHTS;
+
+ for (size_t topologyInPipelineNdx = 0; topologyInPipelineNdx < DE_LENGTH_OF_ARRAY(topologiesInPipeline); ++topologyInPipelineNdx)
+ {
+ MovePtr<tcu::TestCaseGroup> topologyInPipelineGroup (new tcu::TestCaseGroup(testCtx, topologiesInPipeline[topologyInPipelineNdx].name, ""));
+ const bool topologyInPipeline = topologiesInPipeline[topologyInPipelineNdx].value;
+
+ if (topologyInPipeline)
+ {
+ for (size_t topologyNdx = 0; topologyNdx < DE_LENGTH_OF_ARRAY(topologies); ++topologyNdx)
+ {
+ MovePtr<tcu::TestCaseGroup> topologyGroup (new tcu::TestCaseGroup(testCtx, topologies[topologyNdx].name, ""));
+ const VkPrimitiveTopology topology = topologies[topologyNdx].topology;
+ const bool testableTopology = isPrimitiveTopologyLine(topology) || isPrimitiveTopologyTriangle(topology);
+
+ if (!testableTopology)
+ continue;
+
+ for (size_t perspectiveNdx = 0; perspectiveNdx < DE_LENGTH_OF_ARRAY(perspectives); ++perspectiveNdx)
+ {
+ const bool perspective = perspectives[perspectiveNdx].value;
+ const char* perspectiveName = perspectives[perspectiveNdx].name;
+
+ const TestParams testParams =
+ {
+ testType, // TestType testType;
+ topology, // VkPrimitiveTopology topology;
+ notused, // bool dynamicIndexing;
+ (size_t)notused, // size_t aggregate;
+ (glu::DataType)notused, // glu::DataType dataType;
+ WEIGHT_TEST_WIDTH, // uint32_t width;
+ WEIGHT_TEST_HEIGHT, // uint32_t height;
+ perspective, // bool perspective;
+ false, // bool provokingVertexLast;
+ 0, // uint32_t rotation;
+ topologyInPipeline, // bool dynamicTopologyInPipeline
+ };
+
+ topologyGroup->addChild(new FragmentShadingBarycentricTestCase(testCtx, perspectiveName, "", testParams));
+ }
+
+ topologyInPipelineGroup->addChild(topologyGroup.release());
+ }
+ }
+ else
+ {
+ for (size_t rotationNdx = 0; rotationNdx < DE_LENGTH_OF_ARRAY(rotations); ++rotationNdx)
+ {
+ const uint32_t rotation = rotations[rotationNdx];
+ MovePtr<tcu::TestCaseGroup> rotationGroup (new tcu::TestCaseGroup(testCtx, de::toString(rotation).c_str(), ""));
+
+ for (size_t topologyNdx = 0; topologyNdx < DE_LENGTH_OF_ARRAY(topologies); ++topologyNdx)
+ {
+ const VkPrimitiveTopology topology = topologies[topologyNdx].topology;
+ MovePtr<tcu::TestCaseGroup> topologyGroup (new tcu::TestCaseGroup(testCtx, topologies[topologyNdx].name, ""));
+
+ for (size_t perspectiveNdx = 0; perspectiveNdx < DE_LENGTH_OF_ARRAY(perspectives); ++perspectiveNdx)
+ {
+ const bool perspective = perspectives[perspectiveNdx].value;
+ const char* perspectiveName = perspectives[perspectiveNdx].name;
+
+ const TestParams testParams =
+ {
+ testType, // TestType testType;
+ topology, // VkPrimitiveTopology topology;
+ notused, // bool dynamicIndexing;
+ (size_t)-1, // size_t aggregate;
+ glu::TYPE_INVALID, // glu::DataType dataType;
+ WEIGHT_TEST_WIDTH, // uint32_t width;
+ WEIGHT_TEST_HEIGHT, // uint32_t height;
+ perspective, // bool perspective;
+ false, // bool provokingVertexLast;
+ rotation, // uint32_t rotation;
+ topologyInPipeline, // bool dynamicTopologyInPipeline
+ };
+
+ topologyGroup->addChild(new FragmentShadingBarycentricTestCase(testCtx, perspectiveName, "", testParams));
+ }
+
+ rotationGroup->addChild(topologyGroup.release());
+ }
+
+ topologyInPipelineGroup->addChild(rotationGroup.release());
+ }
+ }
+
+ testTypeGroup->addChild(topologyInPipelineGroup.release());
+ }
+
+ group->addChild(testTypeGroup.release());
+ }
+
+ return group.release();
+}
+
+} // FragmentShadingBarycentric
+} // vkt
--- /dev/null
+#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
#include "vktFragmentShadingRateTests.hpp"
#include "vktReconvergenceTests.hpp"
#include "vktMeshShaderTests.hpp"
+#include "vktFragmentShadingBarycentricTests.hpp"
#include <vector>
#include <sstream>
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)
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
--- /dev/null
+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
"StdVideoEncodeH264SliceHeaderFlags",
"StdVideoEncodeH264PictureInfoFlags",
"StdVideoEncodeH264RefMgmtFlags",
+ "StdVideoEncodeH264ReferenceInfoFlags",
"StdVideoH265HrdFlags",
"StdVideoH265VpsFlags",
"StdVideoH265SpsVuiFlags",
"StdVideoEncodeH265SliceHeaderFlags",
"StdVideoEncodeH265ReferenceModificationFlags",
"StdVideoEncodeH265ReferenceInfoFlags",
+ "StdVideoEncodeH265SliceSegmentHeaderFlags",
])
COMPOSITE_TYPES = set([t.name for t in api.compositeTypes if not t.isAlias])