From: Samuel Iglesias Gonsálvez Date: Thu, 25 Jul 2019 13:34:26 +0000 (+0200) Subject: Add tests for VK_EXT_subgroup_size_control X-Git-Tag: upstream/1.3.5~1573 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d00e989d81e541f6bb7e5e68ec2164346caa48d9;p=platform%2Fupstream%2FVK-GL-CTS.git Add tests for VK_EXT_subgroup_size_control For compute and graphics pipelines: * Check the required subgroup size set by the tests is honored by the driver (including for full subgroups and allow varying cases for computer shaders). * Check that enabling allow varying subgroup size reports a subgroup size that falls within the limits of the driver. * For compute pipeline, check that require full subgroups works as expected. On top of that, added requiredSubgroupSize case for subgroup's compute shader tests that check all possible required subgroup sizes announced by the driver. Also there is a test that checks subgroup size control limits sanity. Added tests: dEQP-VK.subgroups.size_control.* dEQP-VK.subgroups.*.compute*_requiredsubgroupsize Affected tests: dEQP-VK.subgroups.* Components: Vulkan VK-GL-CTS issue: 1864 Change-Id: Ia48deb9318420889754bd97545045f85b3c6fed7 --- diff --git a/AndroidGen.mk b/AndroidGen.mk index 11778c3..94b62d9 100644 --- a/AndroidGen.mk +++ b/AndroidGen.mk @@ -362,6 +362,7 @@ LOCAL_SRC_FILES := \ external/vulkancts/modules/vulkan/subgroups/vktSubgroupsQuadTests.cpp \ external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShapeTests.cpp \ external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShuffleTests.cpp \ + external/vulkancts/modules/vulkan/subgroups/vktSubgroupsSizeControlTests.cpp \ external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTests.cpp \ external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTestsUtils.cpp \ external/vulkancts/modules/vulkan/subgroups/vktSubgroupsVoteTests.cpp \ diff --git a/android/cts/master/vk-master.txt b/android/cts/master/vk-master.txt index b43f789..8b205a0 100644 --- a/android/cts/master/vk-master.txt +++ b/android/cts/master/vk-master.txt @@ -506029,9 +506029,13 @@ dEQP-VK.multiview.renderpass2.index.tesellation_shader.max_multi_view_view_count dEQP-VK.subgroups.builtin_var.graphics.subgroupsize dEQP-VK.subgroups.builtin_var.graphics.subgroupinvocationid dEQP-VK.subgroups.builtin_var.compute.subgroupsize_compute +dEQP-VK.subgroups.builtin_var.compute.subgroupsize_compute_requiredsubgroupsize dEQP-VK.subgroups.builtin_var.compute.subgroupinvocationid_compute +dEQP-VK.subgroups.builtin_var.compute.subgroupinvocationid_compute_requiredsubgroupsize dEQP-VK.subgroups.builtin_var.compute.numsubgroups +dEQP-VK.subgroups.builtin_var.compute.numsubgroups_requiredsubgroupsize dEQP-VK.subgroups.builtin_var.compute.subgroupid +dEQP-VK.subgroups.builtin_var.compute.subgroupid_requiredsubgroupsize dEQP-VK.subgroups.builtin_var.framebuffer.subgroupsize_vertex dEQP-VK.subgroups.builtin_var.framebuffer.subgroupsize_tess_eval dEQP-VK.subgroups.builtin_var.framebuffer.subgroupsize_tess_control @@ -506046,10 +506050,15 @@ dEQP-VK.subgroups.builtin_mask_var.graphics.subgroupgtmask dEQP-VK.subgroups.builtin_mask_var.graphics.subgrouplemask dEQP-VK.subgroups.builtin_mask_var.graphics.subgroupltmask dEQP-VK.subgroups.builtin_mask_var.compute.subgroupeqmask +dEQP-VK.subgroups.builtin_mask_var.compute.subgroupeqmask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.compute.subgroupgemask +dEQP-VK.subgroups.builtin_mask_var.compute.subgroupgemask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.compute.subgroupgtmask +dEQP-VK.subgroups.builtin_mask_var.compute.subgroupgtmask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.compute.subgrouplemask +dEQP-VK.subgroups.builtin_mask_var.compute.subgrouplemask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.compute.subgroupltmask +dEQP-VK.subgroups.builtin_mask_var.compute.subgroupltmask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.framebuffer.subgroupeqmask_vertex dEQP-VK.subgroups.builtin_mask_var.framebuffer.subgroupeqmask_tess_eval dEQP-VK.subgroups.builtin_mask_var.framebuffer.subgroupeqmask_tess_control @@ -506076,11 +506085,17 @@ dEQP-VK.subgroups.basic.graphics.subgroupmemorybarrier dEQP-VK.subgroups.basic.graphics.subgroupmemorybarrierbuffer dEQP-VK.subgroups.basic.graphics.subgroupmemorybarrierimage dEQP-VK.subgroups.basic.compute.subgroupelect +dEQP-VK.subgroups.basic.compute.subgroupelect_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupbarrier +dEQP-VK.subgroups.basic.compute.subgroupbarrier_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupmemorybarrier +dEQP-VK.subgroups.basic.compute.subgroupmemorybarrier_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupmemorybarrierbuffer +dEQP-VK.subgroups.basic.compute.subgroupmemorybarrierbuffer_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupmemorybarriershared +dEQP-VK.subgroups.basic.compute.subgroupmemorybarriershared_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupmemorybarrierimage +dEQP-VK.subgroups.basic.compute.subgroupmemorybarrierimage_requiredsubgroupsize dEQP-VK.subgroups.basic.framebuffer.subgroupelect_vertex dEQP-VK.subgroups.basic.framebuffer.subgroupelect_tess_eval dEQP-VK.subgroups.basic.framebuffer.subgroupelect_tess_control @@ -506156,55 +506171,105 @@ dEQP-VK.subgroups.vote.graphics.subgroupallequal_bvec2 dEQP-VK.subgroups.vote.graphics.subgroupallequal_bvec3 dEQP-VK.subgroups.vote.graphics.subgroupallequal_bvec4 dEQP-VK.subgroups.vote.compute.subgroupallequal_int8_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_int8_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uint8_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_int16_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_int16_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uint16_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_int +dEQP-VK.subgroups.vote.compute.subgroupallequal_int_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupall_uint +dEQP-VK.subgroups.vote.compute.subgroupall_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupany_uint +dEQP-VK.subgroups.vote.compute.subgroupany_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uint +dEQP-VK.subgroups.vote.compute.subgroupallequal_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_int64_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_int64_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uint64_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_float16_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_float16_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_float +dEQP-VK.subgroups.vote.compute.subgroupallequal_float_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_double +dEQP-VK.subgroups.vote.compute.subgroupallequal_double_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_bool +dEQP-VK.subgroups.vote.compute.subgroupallequal_bool_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec4_requiredsubgroupsize dEQP-VK.subgroups.vote.framebuffer.subgroupallequal_int8_t_vertex dEQP-VK.subgroups.vote.framebuffer.subgroupallequal_int8_t_tess_eval dEQP-VK.subgroups.vote.framebuffer.subgroupallequal_int8_t_tess_control @@ -506459,8 +506524,11 @@ dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.graphics.allinvocationsarb_uint dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.graphics.anyinvocationarb_uint dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.graphics.allinvocationsequalarb_bool dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.allinvocationsarb_uint +dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.allinvocationsarb_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.anyinvocationarb_uint +dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.anyinvocationarb_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.allinvocationsequalarb_bool +dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.allinvocationsequalarb_bool_requiredsubgroupsize dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.framebuffer.allinvocationsarb_uint_vertex dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.framebuffer.allinvocationsarb_uint_tess_eval dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.framebuffer.allinvocationsarb_uint_tess_control @@ -506478,12 +506546,14 @@ dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.frag_helper.anyinvocationarb_uin dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.frag_helper.allinvocationsequalarb_bool_fragment dEQP-VK.subgroups.ballot.graphics.graphic dEQP-VK.subgroups.ballot.compute.compute +dEQP-VK.subgroups.ballot.compute.compute_requiredsubgroupsize dEQP-VK.subgroups.ballot.framebuffer.tess_eval dEQP-VK.subgroups.ballot.framebuffer.tess_control dEQP-VK.subgroups.ballot.framebuffer.geometry dEQP-VK.subgroups.ballot.framebuffer.vertex dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.graphics.graphic dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.compute.compute +dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.compute.compute_requiredsubgroupsize dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.framebuffer.tess_eval dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.framebuffer.tess_control dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.framebuffer.geometry @@ -506633,149 +506703,293 @@ dEQP-VK.subgroups.ballot_broadcast.graphics.subgroupbroadcast_bvec4 dEQP-VK.subgroups.ballot_broadcast.graphics.subgroupbroadcast_nonconst_bvec4 dEQP-VK.subgroups.ballot_broadcast.graphics.subgroupbroadcastfirst_bvec4 dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_float16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_float16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_float16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_float16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_float16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_float16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_float +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_float +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_float +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_double +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_double_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_double +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_double_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_double +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_double_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bool +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bool_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bool +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bool_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bool +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bool_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.framebuffer.subgroupbroadcast_int8_tvertex dEQP-VK.subgroups.ballot_broadcast.framebuffer.subgroupbroadcast_int8_ttess_eval dEQP-VK.subgroups.ballot_broadcast.framebuffer.subgroupbroadcast_int8_ttess_control @@ -507362,14 +507576,23 @@ dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.graphics.subgroupb dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.graphics.subgroupbroadcast_nonconst_float dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.graphics.subgroupbroadcastfirst_float dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_int +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_int +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_int +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_uint +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_uint +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_uint +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_float +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_float +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_float +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.framebuffer.subgroupbroadcast_intvertex dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.framebuffer.subgroupbroadcast_inttess_eval dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.framebuffer.subgroupbroadcast_inttess_control @@ -507414,12 +507637,19 @@ dEQP-VK.subgroups.ballot_other.graphics.subgroupballotexclusivebitcount dEQP-VK.subgroups.ballot_other.graphics.subgroupballotfindlsb dEQP-VK.subgroups.ballot_other.graphics.subgroupballotfindmsb dEQP-VK.subgroups.ballot_other.compute.subgroupinverseballot +dEQP-VK.subgroups.ballot_other.compute.subgroupinverseballot_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotbitextract +dEQP-VK.subgroups.ballot_other.compute.subgroupballotbitextract_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotbitcount +dEQP-VK.subgroups.ballot_other.compute.subgroupballotbitcount_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotinclusivebitcount +dEQP-VK.subgroups.ballot_other.compute.subgroupballotinclusivebitcount_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotexclusivebitcount +dEQP-VK.subgroups.ballot_other.compute.subgroupballotexclusivebitcount_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotfindlsb +dEQP-VK.subgroups.ballot_other.compute.subgroupballotfindlsb_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotfindmsb +dEQP-VK.subgroups.ballot_other.compute.subgroupballotfindmsb_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.framebuffer.subgroupinverseballot_vertex dEQP-VK.subgroups.ballot_other.framebuffer.subgroupinverseballot_tess_eval dEQP-VK.subgroups.ballot_other.framebuffer.subgroupinverseballot_tess_control @@ -508301,857 +508531,1709 @@ dEQP-VK.subgroups.arithmetic.graphics.subgroupexclusiveand_bvec4 dEQP-VK.subgroups.arithmetic.graphics.subgroupexclusiveor_bvec4 dEQP-VK.subgroups.arithmetic.graphics.subgroupexclusivexor_bvec4 dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_int +dEQP-VK.subgroups.arithmetic.compute.subgroupand_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_float +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_float +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_float +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_float +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_float +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_float +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_float +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_float +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_float +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_float +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_float +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_float +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_double +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_double +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_double +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_double +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_double +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_double +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_double +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_double +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_double +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_double +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_double +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_double +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupand_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.framebuffer.subgroupadd_int8_t_vertex dEQP-VK.subgroups.arithmetic.framebuffer.subgroupadd_int8_t_tess_eval dEQP-VK.subgroups.arithmetic.framebuffer.subgroupadd_int8_t_tess_control @@ -512845,289 +513927,573 @@ dEQP-VK.subgroups.clustered.graphics.subgroupclusteredand_bvec4 dEQP-VK.subgroups.clustered.graphics.subgroupclusteredor_bvec4 dEQP-VK.subgroups.clustered.graphics.subgroupclusteredxor_bvec4 dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_float16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_float16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_float16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_float16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_float +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_float_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_float +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_float_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_float +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_float_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_float +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_float_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_double +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_double_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_double +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_double_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_double +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_double_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_double +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_double_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bool +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bool_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bool +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bool_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bool +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bool_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.framebuffer.subgroupclusteredadd_int8_t_vertex dEQP-VK.subgroups.clustered.framebuffer.subgroupclusteredadd_int8_t_tess_eval dEQP-VK.subgroups.clustered.framebuffer.subgroupclusteredadd_int8_t_tess_control @@ -515117,857 +516483,1709 @@ dEQP-VK.subgroups.partitioned.graphics.subgroupexclusiveand_bvec4 dEQP-VK.subgroups.partitioned.graphics.subgroupexclusiveor_bvec4 dEQP-VK.subgroups.partitioned.graphics.subgroupexclusivexor_bvec4 dEQP-VK.subgroups.partitioned.compute.subgroupadd_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_int +dEQP-VK.subgroups.partitioned.compute.subgroupadd_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_int +dEQP-VK.subgroups.partitioned.compute.subgroupmul_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_int +dEQP-VK.subgroups.partitioned.compute.subgroupmin_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_int +dEQP-VK.subgroups.partitioned.compute.subgroupmax_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_int +dEQP-VK.subgroups.partitioned.compute.subgroupand_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_int +dEQP-VK.subgroups.partitioned.compute.subgroupor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_int +dEQP-VK.subgroups.partitioned.compute.subgroupxor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uint +dEQP-VK.subgroups.partitioned.compute.subgroupand_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_float +dEQP-VK.subgroups.partitioned.compute.subgroupadd_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_float +dEQP-VK.subgroups.partitioned.compute.subgroupmul_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_float +dEQP-VK.subgroups.partitioned.compute.subgroupmin_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_float +dEQP-VK.subgroups.partitioned.compute.subgroupmax_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_float +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_float +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_float +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_float +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_float +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_float +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_float +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_float +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_double +dEQP-VK.subgroups.partitioned.compute.subgroupadd_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_double +dEQP-VK.subgroups.partitioned.compute.subgroupmul_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_double +dEQP-VK.subgroups.partitioned.compute.subgroupmin_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_double +dEQP-VK.subgroups.partitioned.compute.subgroupmax_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_double +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_double +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_double +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_double +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_double +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_double +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_double +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_double +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_bool +dEQP-VK.subgroups.partitioned.compute.subgroupand_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupxor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bool +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bool +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.framebuffer.subgroupadd_int8_t_vertex dEQP-VK.subgroups.partitioned.framebuffer.subgroupadd_int8_t_tess_eval dEQP-VK.subgroups.partitioned.framebuffer.subgroupadd_int8_t_tess_control @@ -519569,197 +521787,389 @@ dEQP-VK.subgroups.shuffle.graphics.subgroupshufflexor_bvec4 dEQP-VK.subgroups.shuffle.graphics.subgroupshuffleup_bvec4 dEQP-VK.subgroups.shuffle.graphics.subgroupshuffledown_bvec4 dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_float16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_float16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_float16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_float16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_float16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_float16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_float16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_float16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_float +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_float_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_float +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_float_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_float +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_float_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_float +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_float_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_double +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_double_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_double +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_double_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_double +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_double_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_double +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_double_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bool +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bool_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bool +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bool_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bool +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bool_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bool +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bool_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.framebuffer.subgroupshuffle_int8_t_vertex dEQP-VK.subgroups.shuffle.framebuffer.subgroupshuffle_int8_t_tess_eval dEQP-VK.subgroups.shuffle.framebuffer.subgroupshuffle_int8_t_tess_control @@ -520769,245 +523179,485 @@ dEQP-VK.subgroups.quad.graphics.subgroupquadswaphorizontal_bvec4 dEQP-VK.subgroups.quad.graphics.subgroupquadswapvertical_bvec4 dEQP-VK.subgroups.quad.graphics.subgroupquadswapdiagonal_bvec4 dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_float +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_float +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_float +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_float +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_float +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_double +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_double +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_double +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_double +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_double +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bool +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bool +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bool +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bool +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bool +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.framebuffer.subgroupquadbroadcast_int8_t_vertex dEQP-VK.subgroups.quad.framebuffer.subgroupquadbroadcast_int8_t_tess_eval dEQP-VK.subgroups.quad.framebuffer.subgroupquadbroadcast_int8_t_tess_control @@ -521971,7 +524621,9 @@ dEQP-VK.subgroups.quad.framebuffer.subgroupquadswapdiagonal_bvec4_geometry dEQP-VK.subgroups.shape.graphics.clustered dEQP-VK.subgroups.shape.graphics.quad dEQP-VK.subgroups.shape.compute.clustered +dEQP-VK.subgroups.shape.compute.clustered_requiredsubgroupsize dEQP-VK.subgroups.shape.compute.quad +dEQP-VK.subgroups.shape.compute.quad_requiredsubgroupsize dEQP-VK.subgroups.shape.framebuffer.clustered_vertex dEQP-VK.subgroups.shape.framebuffer.clustered_tess_eval dEQP-VK.subgroups.shape.framebuffer.clustered_tess_control @@ -521986,10 +524638,15 @@ dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.graphics.gl_subgroupgtm dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.graphics.gl_subgrouplemaskarb dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.graphics.gl_subgroupltmaskarb dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupeqmaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupeqmaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupgemaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupgemaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupgtmaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupgtmaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgrouplemaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgrouplemaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupltmaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupltmaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupeqmaskarb_vertex dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupeqmaskarb_tess_eval dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupeqmaskarb_tess_control @@ -522010,6 +524667,32 @@ dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroup dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupltmaskarb_tess_eval dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupltmaskarb_tess_control dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupltmaskarb_geometry +dEQP-VK.subgroups.size_control.generic.subgroup_size_properties +dEQP-VK.subgroups.size_control.graphics.allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.graphics.required_subgroup_size_max +dEQP-VK.subgroups.size_control.graphics.required_subgroup_size_min +dEQP-VK.subgroups.size_control.compute.allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.compute.require_full_subgroups +dEQP-VK.subgroups.size_control.compute.require_full_subgroups_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.compute.required_subgroup_size_max +dEQP-VK.subgroups.size_control.compute.required_subgroup_size_min +dEQP-VK.subgroups.size_control.compute.required_subgroup_size_max_require_full_subgroups +dEQP-VK.subgroups.size_control.compute.required_subgroup_size_min_require_full_subgroups +dEQP-VK.subgroups.size_control.framebuffer.vertex_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.tess_eval_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.tess_control_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.geometry_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.fragment_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.vertex_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.vertex_required_subgroup_size_min +dEQP-VK.subgroups.size_control.framebuffer.tess_eval_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.tess_eval_required_subgroup_size_min +dEQP-VK.subgroups.size_control.framebuffer.tess_control_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.tess_control_required_subgroup_size_min +dEQP-VK.subgroups.size_control.framebuffer.geometry_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.geometry_required_subgroup_size_min +dEQP-VK.subgroups.size_control.framebuffer.fragment_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.fragment_required_subgroup_size_min dEQP-VK.ycbcr.format.g8b8g8r8_422_unorm.vertex_optimal dEQP-VK.ycbcr.format.g8b8g8r8_422_unorm.vertex_optimal_array dEQP-VK.ycbcr.format.g8b8g8r8_422_unorm.vertex_linear diff --git a/external/vulkancts/modules/vulkan/subgroups/CMakeLists.txt b/external/vulkancts/modules/vulkan/subgroups/CMakeLists.txt index 4c4dd5a..eb1e225 100644 --- a/external/vulkancts/modules/vulkan/subgroups/CMakeLists.txt +++ b/external/vulkancts/modules/vulkan/subgroups/CMakeLists.txt @@ -33,6 +33,8 @@ set(DEQP_VK_SUBGROUPS_SRCS vktSubgroupsTestsUtils.hpp vktSubgroupsBallotMasksTests.cpp vktSubgroupsBallotMasksTests.hpp + vktSubgroupsSizeControlTests.cpp + vktSubgroupsSizeControlTests.hpp ) set(DEQP_VK_SUBGROUPS_LIBS diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsArithmeticTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsArithmeticTests.cpp index 207474d..833c71f 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsArithmeticTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsArithmeticTests.cpp @@ -62,16 +62,18 @@ enum OpType OPTYPE_LAST }; -static bool checkVertexPipelineStages(std::vector datas, +static bool checkVertexPipelineStages(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); return vkt::subgroups::check(datas, width, 0x3); } -static bool checkCompute(std::vector datas, +static bool checkCompute(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); return vkt::subgroups::checkCompute(datas, numWorkgroups, localSize, 0x3); } @@ -462,6 +464,7 @@ struct CaseDefinition VkShaderStageFlags shaderStage; VkFormat format; de::SharedPtr geometryPointSizeSupported; + deBool requiredSubgroupSize; }; std::string getExtHeader(CaseDefinition caseDef) @@ -616,6 +619,27 @@ void supportedCheck (Context& context, CaseDefinition caseDef) if (!subgroups::isFormatSupportedForDevice(context, caseDef.format)) TCU_THROW(NotSupportedError, "Device does not support the specified format in subgroup operations"); + if (caseDef.requiredSubgroupSize) + { + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroup_size_control extension"); + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } + *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context); } @@ -645,13 +669,13 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) inputData.initializeType = subgroups::SSBOData::InitializeNonZero; if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) - return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages); + return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) - return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages); + return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); else if (VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); else TCU_THROW(InternalError, "Unhandled shader stage"); } @@ -691,7 +715,35 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData.numElements = subgroups::maxSupportedSubgroupSize(); inputData.initializeType = subgroups::SSBOData::InitializeNonZero; - return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkCompute); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkCompute); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkCompute, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else { @@ -726,7 +778,8 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData.binding = 4u; inputData.stages = stages; - return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, stages); + return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, + 1, DE_NULL, checkVertexPipelineStages, stages); } } } @@ -822,15 +875,20 @@ tcu::TestCaseGroup* createSubgroupsArithmeticTests(tcu::TestContext& testCtx) std::string op = getOpTypeName(opTypeIndex); { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, de::SharedPtr(new bool)}; + CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(computeGroup.get(), de::toLower(op) + "_" + subgroups::getFormatNameForGLSL(format), "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroup.get(), + de::toLower(op) + "_" + + subgroups::getFormatNameForGLSL(format) + "_requiredsubgroupsize", + "", supportedCheck, initPrograms, test, caseDef); } { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(graphicGroup.get(), de::toLower(op) + "_" + subgroups::getFormatNameForGLSL(format), @@ -839,7 +897,7 @@ tcu::TestCaseGroup* createSubgroupsArithmeticTests(tcu::TestContext& testCtx) for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) { - const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(framebufferGroup.get(), de::toLower(op) + "_" + subgroups::getFormatNameForGLSL(format) + "_" + getShaderStageName(caseDef.shaderStage), "", supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef); diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotBroadcastTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotBroadcastTests.cpp index 96c92c2..bc518a6 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotBroadcastTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotBroadcastTests.cpp @@ -44,16 +44,18 @@ enum OpType OPTYPE_LAST }; -static bool checkVertexPipelineStages(std::vector datas, +static bool checkVertexPipelineStages(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); return vkt::subgroups::check(datas, width, 3); } -static bool checkCompute(std::vector datas, +static bool checkCompute(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); return vkt::subgroups::checkCompute(datas, numWorkgroups, localSize, 3); } @@ -81,6 +83,7 @@ struct CaseDefinition VkFormat format; de::SharedPtr geometryPointSizeSupported; deBool extShaderSubGroupBallotTests; + deBool requiredSubgroupSize; }; std::string getExtHeader(CaseDefinition caseDef) @@ -262,7 +265,30 @@ void supportedCheck (Context& context, CaseDefinition caseDef) if ((caseDef.opType == OPTYPE_BROADCAST_NONCONST) && !subgroups::isSubgroupBroadcastDynamicIdSupported(context)) TCU_THROW(NotSupportedError, "Device does not support SubgroupBroadcastDynamicId"); + if (caseDef.requiredSubgroupSize) + { + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroup_size_control extension"); + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } + *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context); + + } tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) @@ -289,13 +315,13 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) inputData.initializeType = subgroups::SSBOData::InitializeNonZero; if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) - return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages); + return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) - return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages); + return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); else if (VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); else TCU_THROW(InternalError, "Unhandled shader stage"); } @@ -318,7 +344,35 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData.numElements = caseDef.extShaderSubGroupBallotTests ? 64u : subgroups::maxSupportedSubgroupSize(); inputData.initializeType = subgroups::SSBOData::InitializeNonZero; - return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkCompute); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkCompute); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkCompute, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else { @@ -353,7 +407,7 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData.binding = 4u; inputData.stages = stages; - return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, stages); + return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, stages); } } } @@ -400,16 +454,22 @@ tcu::TestCaseGroup* createSubgroupsBallotBroadcastTests(tcu::TestContext& testCt const std::string name = getOpTypeCaseName(opTypeIndex) + "_" + subgroups::getFormatNameForGLSL(format); { - CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, de::SharedPtr(new bool), DE_FALSE}; + CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, de::SharedPtr(new bool), DE_FALSE, DE_FALSE}; addFunctionCaseWithPrograms(computeGroup.get(), name, "", supportedCheck, initPrograms, test, caseDef); caseDef.extShaderSubGroupBallotTests = DE_TRUE; if (formatTypeIsSupportedARB) addFunctionCaseWithPrograms(computeGroupARB.get(), name, "", supportedCheck, initPrograms, test, caseDef); + caseDef.extShaderSubGroupBallotTests = DE_FALSE; + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroup.get(), name + "_requiredsubgroupsize", "", supportedCheck, initPrograms, test, caseDef); + caseDef.extShaderSubGroupBallotTests = DE_TRUE; + if (formatTypeIsSupportedARB) + addFunctionCaseWithPrograms(computeGroupARB.get(), name + "_requiredsubgroupsize", "", supportedCheck, initPrograms, test, caseDef); } { - CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format, de::SharedPtr(new bool), DE_FALSE}; + CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format, de::SharedPtr(new bool), DE_FALSE, DE_FALSE}; addFunctionCaseWithPrograms(graphicGroup.get(), name, "", supportedCheck, initPrograms, test, caseDef); caseDef.extShaderSubGroupBallotTests = DE_TRUE; if (formatTypeIsSupportedARB) @@ -419,7 +479,7 @@ tcu::TestCaseGroup* createSubgroupsBallotBroadcastTests(tcu::TestContext& testCt for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) { - CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, de::SharedPtr(new bool), DE_FALSE}; + CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, de::SharedPtr(new bool), DE_FALSE, DE_FALSE}; addFunctionCaseWithPrograms(framebufferGroup.get(), name + getShaderStageName(caseDef.shaderStage), "", supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef); caseDef.extShaderSubGroupBallotTests = DE_TRUE; diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotMasksTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotMasksTests.cpp index 9894e76..fa6b9d4 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotMasksTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotMasksTests.cpp @@ -46,16 +46,18 @@ enum MaskType MASKTYPE_LAST }; -static bool checkVertexPipelineStages(std::vector datas, +static bool checkVertexPipelineStages(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); return vkt::subgroups::check(datas, width, 0xf); } -static bool checkCompute(std::vector datas, +static bool checkCompute(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); return vkt::subgroups::checkCompute(datas, numWorkgroups, localSize, 0xf); } @@ -85,6 +87,7 @@ struct CaseDefinition int maskType; VkShaderStageFlags shaderStage; de::SharedPtr geometryPointSizeSupported; + deBool requiredSubgroupSize; }; std::string getBodySource(CaseDefinition caseDef) @@ -398,6 +401,27 @@ void supportedCheck (Context& context, CaseDefinition caseDef) if (!subgroups::isInt64SupportedForDevice(context)) TCU_THROW(NotSupportedError, "Int64 is not supported"); + if (caseDef.requiredSubgroupSize) + { + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroup_size_control extension"); + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } + *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context); } @@ -420,11 +444,11 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) } if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) - return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages); + return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) - return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages); + return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages); else if ((VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) & caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages); else TCU_THROW(InternalError, "Unhandled shader stage"); } @@ -440,7 +464,35 @@ tcu::TestStatus test (Context& context, const CaseDefinition caseDef) subgroups::getShaderStageName(caseDef.shaderStage) + " is required to support subgroup operations!"); } - return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkCompute); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkCompute); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0u, DE_NULL, checkCompute, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else { @@ -467,7 +519,7 @@ tcu::TestStatus test (Context& context, const CaseDefinition caseDef) if ((VkShaderStageFlagBits)0u == stages) TCU_THROW(NotSupportedError, "Subgroup operations are not supported for any graphic shader"); - return subgroups::allStages(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages, stages); + return subgroups::allStages(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages, stages); } return tcu::TestStatus::pass("OK"); } @@ -498,18 +550,20 @@ tcu::TestCaseGroup* createSubgroupsBallotMasksTests(tcu::TestContext& testCtx) const string mask = de::toLower(getMaskTypeName(maskTypeIndex)); { - const CaseDefinition caseDef = {maskTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool)}; + CaseDefinition caseDef = {maskTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(computeGroup.get(), mask, "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroup.get(), mask + "_requiredsubgroupsize", "", supportedCheck, initPrograms, test, caseDef); } { - const CaseDefinition caseDef = {maskTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {maskTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(graphicGroup.get(), mask, "", supportedCheck, initPrograms, test, caseDef); } for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) { - const CaseDefinition caseDef = {maskTypeIndex, stages[stageIndex], de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {maskTypeIndex, stages[stageIndex], de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(framebufferGroup.get(), mask + "_" + getShaderStageName(caseDef.shaderStage), "", supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef); } } diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotOtherTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotOtherTests.cpp index 9aaf27d..de322b8 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotOtherTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotOtherTests.cpp @@ -48,16 +48,18 @@ enum OpType OPTYPE_LAST }; -static bool checkVertexPipelineStages(std::vector datas, +static bool checkVertexPipelineStages(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); return vkt::subgroups::check(datas, width, 0xf); } -static bool checkCompute(std::vector datas, +static bool checkCompute(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); return vkt::subgroups::checkCompute(datas, numWorkgroups, localSize, 0xf); } @@ -90,6 +92,7 @@ struct CaseDefinition int opType; VkShaderStageFlags shaderStage; de::SharedPtr geometryPointSizeSupported; + deBool requiredSubgroupSize; }; std::string getBodySource(CaseDefinition caseDef) @@ -482,6 +485,27 @@ void supportedCheck (Context& context, CaseDefinition caseDef) TCU_THROW(NotSupportedError, "Device does not support subgroup ballot operations"); } + if (caseDef.requiredSubgroupSize) + { + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroup_size_control extension"); + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } + *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context); } @@ -504,11 +528,11 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) } if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) - return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages); + return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) - return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages); + return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages); else if ((VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) & caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages); else TCU_THROW(InternalError, "Unhandled shader stage"); } @@ -524,7 +548,35 @@ tcu::TestStatus test (Context& context, const CaseDefinition caseDef) subgroups::getShaderStageName(caseDef.shaderStage) + " is required to support subgroup operations!"); } - return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkCompute); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkCompute); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0u, DE_NULL, checkCompute, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else { @@ -551,7 +603,7 @@ tcu::TestStatus test (Context& context, const CaseDefinition caseDef) if ((VkShaderStageFlagBits)0u == stages) TCU_THROW(NotSupportedError, "Subgroup operations are not supported for any graphic shader"); - return subgroups::allStages(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages, stages); + return subgroups::allStages(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages, stages); } return tcu::TestStatus::pass("OK"); } @@ -582,18 +634,20 @@ tcu::TestCaseGroup* createSubgroupsBallotOtherTests(tcu::TestContext& testCtx) { const string op = de::toLower(getOpTypeName(opTypeIndex)); { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool)}; + CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(computeGroup.get(), op, "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroup.get(), op + "_requiredsubgroupSize", "", supportedCheck, initPrograms, test, caseDef); } { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(graphicGroup.get(), op, "", supportedCheck, initPrograms, test, caseDef); } for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) { - const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(framebufferGroup.get(), op + "_" + getShaderStageName(caseDef.shaderStage), "", supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef); } } diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotTests.cpp index 9f6c0e1..11ccf89 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotTests.cpp @@ -36,16 +36,18 @@ using namespace vkt; namespace { -static bool checkVertexPipelineStages(std::vector datas, +static bool checkVertexPipelineStages(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); return vkt::subgroups::check(datas, width, 0x7); } -static bool checkCompute(std::vector datas, +static bool checkCompute(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); return vkt::subgroups::checkCompute(datas, numWorkgroups, localSize, 0x7); } @@ -54,8 +56,10 @@ struct CaseDefinition VkShaderStageFlags shaderStage; de::SharedPtr geometryPointSizeSupported; deBool extShaderSubGroupBallotTests; + deBool requiredSubgroupSize; }; + void initFrameBufferPrograms(SourceCollections& programCollection, CaseDefinition caseDef) { const vk::SpirVAsmBuildOptions buildOptionsSpr (programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_3); @@ -913,6 +917,27 @@ void supportedCheck (Context& context, CaseDefinition caseDef) TCU_THROW(NotSupportedError, "Device does not support int64 data types"); } + if (caseDef.requiredSubgroupSize) + { + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroup_size_control extension"); + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } + *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context); } @@ -941,13 +966,13 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) inputData[0].initializeType = subgroups::SSBOData::InitializeNonZero; if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) - return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 1, checkVertexPipelineStages); + return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 1, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) - return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 1, checkVertexPipelineStages); + return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 1, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 1, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 1, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); else if (VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 1, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 1, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); else TCU_THROW(InternalError, "Unhandled shader stage"); } @@ -969,7 +994,35 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData[0].numElements = subgroups::maxSupportedSubgroupSize(); inputData[0].initializeType = subgroups::SSBOData::InitializeNonZero; - return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, inputData, 1, checkCompute); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, inputData, 1, DE_NULL, checkCompute); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, inputData, 1, DE_NULL, checkCompute, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else { @@ -1004,7 +1057,7 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData.binding = 4u; inputData.stages = stages; - return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, stages); + return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, stages); } } } @@ -1037,16 +1090,22 @@ tcu::TestCaseGroup* createSubgroupsBallotTests(tcu::TestContext& testCtx) VK_SHADER_STAGE_VERTEX_BIT }; + { - CaseDefinition caseDef = {VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool), DE_FALSE}; + CaseDefinition caseDef = {VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool), DE_FALSE, DE_FALSE}; addFunctionCaseWithPrograms(computeGroup.get(), getShaderStageName(caseDef.shaderStage), "", supportedCheck, initPrograms, test, caseDef); caseDef.extShaderSubGroupBallotTests = DE_TRUE; addFunctionCaseWithPrograms(computeGroupEXT.get(), getShaderStageName(caseDef.shaderStage), "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + caseDef.extShaderSubGroupBallotTests = DE_FALSE; + addFunctionCaseWithPrograms(computeGroup.get(), getShaderStageName(caseDef.shaderStage) + "_requiredsubgroupsize", "", supportedCheck, initPrograms, test, caseDef); + caseDef.extShaderSubGroupBallotTests = DE_TRUE; + addFunctionCaseWithPrograms(computeGroupEXT.get(), getShaderStageName(caseDef.shaderStage) + "_requiredsubgroupsize", "", supportedCheck, initPrograms, test, caseDef); } { - CaseDefinition caseDef = {VK_SHADER_STAGE_ALL_GRAPHICS, de::SharedPtr(new bool), DE_FALSE}; + CaseDefinition caseDef = {VK_SHADER_STAGE_ALL_GRAPHICS, de::SharedPtr(new bool), DE_FALSE, DE_FALSE}; addFunctionCaseWithPrograms(graphicGroup.get(), "graphic", "", supportedCheck, initPrograms, test, caseDef); caseDef.extShaderSubGroupBallotTests = DE_TRUE; addFunctionCaseWithPrograms(graphicGroupEXT.get(), "graphic", "", supportedCheck, initPrograms, test, caseDef); @@ -1054,7 +1113,7 @@ tcu::TestCaseGroup* createSubgroupsBallotTests(tcu::TestContext& testCtx) for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) { - CaseDefinition caseDef = {stages[stageIndex],de::SharedPtr(new bool), DE_FALSE}; + CaseDefinition caseDef = {stages[stageIndex],de::SharedPtr(new bool), DE_TRUE, DE_FALSE}; addFunctionCaseWithPrograms(framebufferGroup.get(), getShaderStageName(caseDef.shaderStage), "", supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef); caseDef.extShaderSubGroupBallotTests = DE_TRUE; diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBasicTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBasicTests.cpp index 8388d5a..e008dc5 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBasicTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBasicTests.cpp @@ -71,21 +71,24 @@ static bool _checkFragmentSubgroupBarriersNoSSBO(std::vector datas, return true; } -static bool checkFragmentSubgroupBarriersNoSSBO(std::vector datas, +static bool checkFragmentSubgroupBarriersNoSSBO(const void *internalData, std::vector datas, deUint32 width, deUint32 height, deUint32) { + DE_UNREF(internalData); return _checkFragmentSubgroupBarriersNoSSBO(datas, width, height, false); } -static bool checkFragmentSubgroupBarriersWithImageNoSSBO(std::vector datas, +static bool checkFragmentSubgroupBarriersWithImageNoSSBO(const void* internalData, std::vector datas, deUint32 width, deUint32 height, deUint32) { + DE_UNREF(internalData); return _checkFragmentSubgroupBarriersNoSSBO(datas, width, height, true); } -static bool checkVertexPipelineStagesSubgroupElectNoSSBO(std::vector datas, +static bool checkVertexPipelineStagesSubgroupElectNoSSBO(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); const float* const resultData = reinterpret_cast(datas[0]); float poisonValuesFound = 0.0f; float numSubgroupsUsed = 0.0f; @@ -110,9 +113,10 @@ static bool checkVertexPipelineStagesSubgroupElectNoSSBO(std::vector datas, +static bool checkVertexPipelineStagesSubgroupElect(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); const deUint32* const resultData = reinterpret_cast(datas[0]); deUint32 poisonValuesFound = 0; @@ -141,9 +145,10 @@ static bool checkVertexPipelineStagesSubgroupElect(std::vector data return numSubgroupsUsed == poisonValuesFound; } -static bool checkVertexPipelineStagesSubgroupBarriers(std::vector datas, +static bool checkVertexPipelineStagesSubgroupBarriers(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); const deUint32* const resultData = reinterpret_cast(datas[0]); // We used this SSBO to generate our unique value! @@ -185,15 +190,17 @@ static bool _checkVertexPipelineStagesSubgroupBarriersNoSSBO(std::vector datas, +static bool checkVertexPipelineStagesSubgroupBarriersNoSSBO(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); return _checkVertexPipelineStagesSubgroupBarriersNoSSBO(datas, width, false); } -static bool checkVertexPipelineStagesSubgroupBarriersWithImageNoSSBO(std::vector datas, +static bool checkVertexPipelineStagesSubgroupBarriersWithImageNoSSBO(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); return _checkVertexPipelineStagesSubgroupBarriersNoSSBO(datas, width, true); } @@ -217,29 +224,33 @@ static bool _checkTessellationEvaluationSubgroupBarriersNoSSBO(std::vector datas, +static bool checkTessellationEvaluationSubgroupBarriersWithImageNoSSBO(const void* internalData, std::vector datas, deUint32 width, deUint32 height) { + DE_UNREF(internalData); return _checkTessellationEvaluationSubgroupBarriersNoSSBO(datas, width, height, true); } -static bool checkTessellationEvaluationSubgroupBarriersNoSSBO(std::vector datas, +static bool checkTessellationEvaluationSubgroupBarriersNoSSBO(const void* internalData, std::vector datas, deUint32 width, deUint32 height) { + DE_UNREF(internalData); return _checkTessellationEvaluationSubgroupBarriersNoSSBO(datas, width, height, false); } -static bool checkComputeSubgroupElect(std::vector datas, +static bool checkComputeSubgroupElect(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); return vkt::subgroups::checkCompute(datas, numWorkgroups, localSize, 1); } -static bool checkComputeSubgroupBarriers(std::vector datas, +static bool checkComputeSubgroupBarriers(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); // We used this SSBO to generate our unique value! const deUint32 ref = *reinterpret_cast(datas[2]); return vkt::subgroups::checkCompute(datas, numWorkgroups, localSize, ref); @@ -283,6 +294,7 @@ struct CaseDefinition int opType; VkShaderStageFlags shaderStage; de::SharedPtr geometryPointSizeSupported; + deBool requiredSubgroupSize; }; void initFrameBufferPrograms(SourceCollections& programCollection, CaseDefinition caseDef) @@ -1837,6 +1849,27 @@ void supportedCheck (Context& context, CaseDefinition caseDef) if (!subgroups::isSubgroupSupported(context)) TCU_THROW(NotSupportedError, "Subgroup operations are not supported"); + if (caseDef.requiredSubgroupSize) + { + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroup_size_control extension"); + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } + *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context); } @@ -1900,9 +1933,9 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) { if (OPTYPE_ELECT == caseDef.opType) - return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32G32_SFLOAT, DE_NULL, 0u, checkVertexPipelineStagesSubgroupElectNoSSBO); + return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32G32_SFLOAT, DE_NULL, 0u, DE_NULL, checkVertexPipelineStagesSubgroupElectNoSSBO); else - return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32G32B32A32_SFLOAT, &inputDatas[0], inputDatasCount, + return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32G32B32A32_SFLOAT, &inputDatas[0], inputDatasCount, DE_NULL, (OPTYPE_SUBGROUP_MEMORY_BARRIER_IMAGE == caseDef.opType) ? checkVertexPipelineStagesSubgroupBarriersWithImageNoSSBO : checkVertexPipelineStagesSubgroupBarriersNoSSBO @@ -1910,7 +1943,7 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) } else if (VK_SHADER_STAGE_FRAGMENT_BIT == caseDef.shaderStage) { - return subgroups::makeFragmentFrameBufferTest(context, VK_FORMAT_R32G32B32A32_SFLOAT, &inputDatas[0], inputDatasCount, + return subgroups::makeFragmentFrameBufferTest(context, VK_FORMAT_R32G32B32A32_SFLOAT, &inputDatas[0], inputDatasCount, DE_NULL, (OPTYPE_SUBGROUP_MEMORY_BARRIER_IMAGE == caseDef.opType) ? checkFragmentSubgroupBarriersWithImageNoSSBO : checkFragmentSubgroupBarriersNoSSBO @@ -1919,9 +1952,9 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) { if (OPTYPE_ELECT == caseDef.opType) - return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32G32_SFLOAT, DE_NULL, 0u, checkVertexPipelineStagesSubgroupElectNoSSBO); + return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32G32_SFLOAT, DE_NULL, 0u, DE_NULL, checkVertexPipelineStagesSubgroupElectNoSSBO); else - return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32G32B32A32_SFLOAT, &inputDatas[0], inputDatasCount, + return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32G32B32A32_SFLOAT, &inputDatas[0], inputDatasCount, DE_NULL, (OPTYPE_SUBGROUP_MEMORY_BARRIER_IMAGE == caseDef.opType) ? checkVertexPipelineStagesSubgroupBarriersWithImageNoSSBO : checkVertexPipelineStagesSubgroupBarriersNoSSBO @@ -1929,9 +1962,9 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) } if (OPTYPE_ELECT == caseDef.opType) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32G32_SFLOAT, DE_NULL, 0u, checkVertexPipelineStagesSubgroupElectNoSSBO, caseDef.shaderStage); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32G32_SFLOAT, DE_NULL, 0u, DE_NULL, checkVertexPipelineStagesSubgroupElectNoSSBO, caseDef.shaderStage); - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32G32B32A32_SFLOAT, &inputDatas[0], inputDatasCount, + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32G32B32A32_SFLOAT, &inputDatas[0], inputDatasCount, DE_NULL, (VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT == caseDef.shaderStage) ? ((OPTYPE_SUBGROUP_MEMORY_BARRIER_IMAGE == caseDef.opType) ? checkVertexPipelineStagesSubgroupBarriersWithImageNoSSBO : @@ -1971,7 +2004,35 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) if (OPTYPE_ELECT == caseDef.opType) { - return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkComputeSubgroupElect); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkComputeSubgroupElect); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0u, DE_NULL, checkComputeSubgroupElect, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else { @@ -1993,7 +2054,35 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputDatas[2].initializeType = subgroups::SSBOData::InitializeNone; inputDatas[2].isImage = true; - return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, inputDatas, inputDatasCount, checkComputeSubgroupBarriers); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, inputDatas, inputDatasCount, DE_NULL, checkComputeSubgroupBarriers); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, inputDatas, inputDatasCount, DE_NULL, checkComputeSubgroupBarriers, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } } else @@ -2066,7 +2155,7 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData[4].binding = 8u; inputData[4].stages = VK_SHADER_STAGE_FRAGMENT_BIT; - return subgroups::allStages(context, VK_FORMAT_R32_UINT, inputData, inputCount, checkVertexPipelineStagesSubgroupElect, stages); + return subgroups::allStages(context, VK_FORMAT_R32_UINT, inputData, inputCount, DE_NULL, checkVertexPipelineStagesSubgroupElect, stages); } else { @@ -2115,7 +2204,7 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputDatas[index + 3].stages = stagesBits[ndx]; } - return subgroups::allStages(context, VK_FORMAT_R32_UINT, inputDatas, inputDatasCount, checkVertexPipelineStagesSubgroupBarriers, stages); + return subgroups::allStages(context, VK_FORMAT_R32_UINT, inputDatas, inputDatasCount, DE_NULL, checkVertexPipelineStagesSubgroupBarriers, stages); } } } @@ -2149,9 +2238,12 @@ tcu::TestCaseGroup* createSubgroupsBasicTests(tcu::TestContext& testCtx) const std::string op = de::toLower(getOpTypeName(opTypeIndex)); { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool)}; + CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(computeGroup.get(), op, "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroup.get(), op + "_requiredsubgroupsize", "", + supportedCheck, initPrograms, test, caseDef); } if (OPTYPE_SUBGROUP_MEMORY_BARRIER_SHARED == opTypeIndex) @@ -2161,7 +2253,7 @@ tcu::TestCaseGroup* createSubgroupsBasicTests(tcu::TestContext& testCtx) } { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(graphicGroup.get(), op, "", supportedCheck, initPrograms, test, caseDef); @@ -2172,10 +2264,10 @@ tcu::TestCaseGroup* createSubgroupsBasicTests(tcu::TestContext& testCtx) if (OPTYPE_ELECT == opTypeIndex && stageIndex == 0) continue; // This is not tested. I don't know why. - const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], de::SharedPtr(new bool)}; + const CaseDefinition caseDefFrag = {opTypeIndex, stages[stageIndex], de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(framebufferGroup.get(), - op + "_" + getShaderStageName(caseDef.shaderStage), "", - supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef); + op + "_" + getShaderStageName(caseDefFrag.shaderStage), "", + supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDefFrag); } } diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBuiltinMaskVarTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBuiltinMaskVarTests.cpp index 8fe6bf6..10e3bf5 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBuiltinMaskVarTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBuiltinMaskVarTests.cpp @@ -38,16 +38,18 @@ namespace vkt namespace subgroups { -static bool checkVertexPipelineStages(std::vector datas, +static bool checkVertexPipelineStages(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); return check(datas, width, 1); } -static bool checkComputeStage(std::vector datas, +static bool checkComputeStage(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); return checkCompute(datas, numWorkgroups, localSize, 1); } @@ -58,6 +60,7 @@ struct CaseDefinition std::string varName; VkShaderStageFlags shaderStage; de::SharedPtr geometryPointSizeSupported; + deBool requiredSubgroupSize; }; } @@ -1353,6 +1356,27 @@ void supportedCheck (Context& context, CaseDefinition caseDef) if (!subgroups::isSubgroupSupported(context)) TCU_THROW(NotSupportedError, "Subgroup operations are not supported"); + if (caseDef.requiredSubgroupSize) + { + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroup_size_control extension"); + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } + *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context); } @@ -1379,11 +1403,11 @@ tcu::TestStatus noSSBOtest(Context& context, const CaseDefinition caseDef) } if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) - return makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages); + return makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages); else if ((VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT | VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) & caseDef.shaderStage ) - return makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages); + return makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages); - return makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages); + return makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages); } @@ -1402,7 +1426,36 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) "Shader stage " + getShaderStageName(caseDef.shaderStage) + " is required to support subgroup operations!"); } - return makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkComputeStage); + + if (caseDef.requiredSubgroupSize == DE_FALSE) + return makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkComputeStage); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkComputeStage, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else { @@ -1429,7 +1482,7 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) if ((VkShaderStageFlagBits)0u == stages) TCU_THROW(NotSupportedError, "Subgroup operations are not supported for any graphic shader"); - return subgroups::allStages(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages, stages); + return subgroups::allStages(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages, stages); } } @@ -1466,22 +1519,26 @@ de::MovePtr graphicGroup(new tcu::TestCaseGroup( const std::string varLower = de::toLower(var); { - const CaseDefinition caseDef = {"gl_" + var, VK_SHADER_STAGE_ALL_GRAPHICS, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {"gl_" + var, VK_SHADER_STAGE_ALL_GRAPHICS, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(graphicGroup.get(), varLower, "", supportedCheck, initPrograms, test, caseDef); } { - const CaseDefinition caseDef = {"gl_" + var, VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool)}; + CaseDefinition caseDef = {"gl_" + var, VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(computeGroup.get(), varLower, "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroup.get(), + varLower + "_requiredsubgroupsize", "", + supportedCheck, initPrograms, test, caseDef); } for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) { - const CaseDefinition caseDef = {"gl_" + var, stages[stageIndex], de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {"gl_" + var, stages[stageIndex], de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(framebufferGroup.get(), varLower + "_" + getShaderStageName(caseDef.shaderStage), "", diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBuiltinVarTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBuiltinVarTests.cpp index c8e6921..8e20219 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBuiltinVarTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBuiltinVarTests.cpp @@ -38,9 +38,10 @@ namespace vkt namespace subgroups { -bool checkVertexPipelineStagesSubgroupSize(std::vector datas, +bool checkVertexPipelineStagesSubgroupSize(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize) { + DE_UNREF(internalData); const deUint32* data = reinterpret_cast(datas[0]); for (deUint32 x = 0; x < width; ++x) @@ -54,9 +55,10 @@ bool checkVertexPipelineStagesSubgroupSize(std::vector datas, return true; } -bool checkVertexPipelineStagesSubgroupInvocationID(std::vector datas, +bool checkVertexPipelineStagesSubgroupInvocationID(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize) { + DE_UNREF(internalData); const deUint32* data = reinterpret_cast(datas[0]); vector subgroupInvocationHits(subgroupSize, 0); @@ -84,10 +86,11 @@ bool checkVertexPipelineStagesSubgroupInvocationID(std::vector data return true; } -static bool checkComputeSubgroupSize(std::vector datas, +static bool checkComputeSubgroupSize(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32 subgroupSize) { + DE_UNREF(internalData); const deUint32* data = reinterpret_cast(datas[0]); for (deUint32 nX = 0; nX < numWorkgroups[0]; ++nX) @@ -134,10 +137,11 @@ static bool checkComputeSubgroupSize(std::vector datas, return true; } -static bool checkComputeSubgroupInvocationID(std::vector datas, +static bool checkComputeSubgroupInvocationID(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32 subgroupSize) { + DE_UNREF(internalData); const deUint32* data = reinterpret_cast(datas[0]); for (deUint32 nX = 0; nX < numWorkgroups[0]; ++nX) @@ -201,11 +205,13 @@ static bool checkComputeSubgroupInvocationID(std::vector datas, return true; } -static bool checkComputeNumSubgroups (std::vector datas, +static bool checkComputeNumSubgroups (const void* internalData, + std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); const deUint32* data = reinterpret_cast(datas[0]); for (deUint32 nX = 0; nX < numWorkgroups[0]; ++nX) @@ -257,11 +263,13 @@ static bool checkComputeNumSubgroups (std::vector datas, return true; } -static bool checkComputeSubgroupID (std::vector datas, +static bool checkComputeSubgroupID (const void* internalData, + std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); const deUint32* data = reinterpret_cast(datas[0]); for (deUint32 nX = 0; nX < numWorkgroups[0]; ++nX) @@ -318,6 +326,7 @@ struct CaseDefinition std::string varName; VkShaderStageFlags shaderStage; de::SharedPtr geometryPointSizeSupported; + deBool requiredSubgroupSize; }; } @@ -1531,6 +1540,27 @@ void supportedCheck (Context& context, CaseDefinition caseDef) if (!subgroups::isSubgroupSupported(context)) TCU_THROW(NotSupportedError, "Subgroup operations are not supported"); + if (caseDef.requiredSubgroupSize) + { + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroup_size_control extension"); + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } + *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context); } @@ -1556,12 +1586,12 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) if ("gl_SubgroupSize" == caseDef.varName) { return makeVertexFrameBufferTest( - context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, checkVertexPipelineStagesSubgroupSize); + context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStagesSubgroupSize); } else if ("gl_SubgroupInvocationID" == caseDef.varName) { return makeVertexFrameBufferTest( - context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, checkVertexPipelineStagesSubgroupInvocationID); + context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStagesSubgroupInvocationID); } else { @@ -1575,12 +1605,12 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) if ("gl_SubgroupSize" == caseDef.varName) { return makeTessellationEvaluationFrameBufferTest( - context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, checkVertexPipelineStagesSubgroupSize); + context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStagesSubgroupSize); } else if ("gl_SubgroupInvocationID" == caseDef.varName) { return makeTessellationEvaluationFrameBufferTest( - context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, checkVertexPipelineStagesSubgroupInvocationID); + context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStagesSubgroupInvocationID); } else { @@ -1594,12 +1624,12 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) if ("gl_SubgroupSize" == caseDef.varName) { return makeGeometryFrameBufferTest( - context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, checkVertexPipelineStagesSubgroupSize); + context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStagesSubgroupSize); } else if ("gl_SubgroupInvocationID" == caseDef.varName) { return makeGeometryFrameBufferTest( - context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, checkVertexPipelineStagesSubgroupInvocationID); + context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStagesSubgroupInvocationID); } else { @@ -1628,19 +1658,131 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) if ("gl_SubgroupSize" == caseDef.varName) { - return makeComputeTest(context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, checkComputeSubgroupSize); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return makeComputeTest(context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, DE_NULL, checkComputeSubgroupSize); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkComputeSubgroupSize, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else if ("gl_SubgroupInvocationID" == caseDef.varName) { - return makeComputeTest(context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, checkComputeSubgroupInvocationID); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return makeComputeTest(context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, DE_NULL, checkComputeSubgroupInvocationID); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkComputeSubgroupInvocationID, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else if ("gl_NumSubgroups" == caseDef.varName) { - return makeComputeTest(context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, checkComputeNumSubgroups); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return makeComputeTest(context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, DE_NULL, checkComputeNumSubgroups); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkComputeNumSubgroups, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else if ("gl_SubgroupID" == caseDef.varName) { - return makeComputeTest(context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, checkComputeSubgroupID); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return makeComputeTest(context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, DE_NULL, checkComputeSubgroupID); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkComputeSubgroupID, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else { @@ -1676,11 +1818,11 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) if ("gl_SubgroupSize" == caseDef.varName) { - return subgroups::allStages(context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, checkVertexPipelineStagesSubgroupSize, stages); + return subgroups::allStages(context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStagesSubgroupSize, stages); } else if ("gl_SubgroupInvocationID" == caseDef.varName) { - return subgroups::allStages(context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, checkVertexPipelineStagesSubgroupInvocationID, stages); + return subgroups::allStages(context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStagesSubgroupInvocationID, stages); } else { @@ -1726,7 +1868,7 @@ tcu::TestCaseGroup* createSubgroupsBuiltinVarTests(tcu::TestContext& testCtx) const std::string varLower = de::toLower(var); { - const CaseDefinition caseDef = { "gl_" + var, VK_SHADER_STAGE_ALL_GRAPHICS, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = { "gl_" + var, VK_SHADER_STAGE_ALL_GRAPHICS, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(graphicGroup.get(), varLower, "", @@ -1734,15 +1876,19 @@ tcu::TestCaseGroup* createSubgroupsBuiltinVarTests(tcu::TestContext& testCtx) } { - const CaseDefinition caseDef = {"gl_" + var, VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool)}; + CaseDefinition caseDef = {"gl_" + var, VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(computeGroup.get(), varLower + "_" + getShaderStageName(caseDef.shaderStage), "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroup.get(), + varLower + "_" + getShaderStageName(caseDef.shaderStage) + "_requiredsubgroupsize", "", + supportedCheck, initPrograms, test, caseDef); } for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) { - const CaseDefinition caseDef = {"gl_" + var, stages[stageIndex], de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {"gl_" + var, stages[stageIndex], de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(framebufferGroup.get(), varLower + "_" + getShaderStageName(caseDef.shaderStage), "", supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef); @@ -1753,10 +1899,13 @@ tcu::TestCaseGroup* createSubgroupsBuiltinVarTests(tcu::TestContext& testCtx) { const std::string var = compute_only_vars[a]; - const CaseDefinition caseDef = {"gl_" + var, VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool)}; + CaseDefinition caseDef = {"gl_" + var, VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(computeGroup.get(), de::toLower(var), "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroup.get(), de::toLower(var) + "_requiredsubgroupsize", "", + supportedCheck, initPrograms, test, caseDef); } de::MovePtr group(new tcu::TestCaseGroup( diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsClusteredTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsClusteredTests.cpp index efd30d1..b7d4f9d 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsClusteredTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsClusteredTests.cpp @@ -48,16 +48,18 @@ enum OpType OPTYPE_CLUSTERED_LAST }; -static bool checkVertexPipelineStages(std::vector datas, +static bool checkVertexPipelineStages(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); return vkt::subgroups::check(datas, width, 1); } -static bool checkCompute(std::vector datas, +static bool checkCompute(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); return vkt::subgroups::checkCompute(datas, numWorkgroups, localSize, 1); } @@ -373,6 +375,7 @@ struct CaseDefinition VkShaderStageFlags shaderStage; VkFormat format; de::SharedPtr geometryPointSizeSupported; + deBool requiredSubgroupSize; }; std::string getExtHeader(CaseDefinition caseDef) @@ -450,6 +453,27 @@ void supportedCheck (Context& context, CaseDefinition caseDef) if (!subgroups::isFormatSupportedForDevice(context, caseDef.format)) TCU_THROW(NotSupportedError, "Device does not support the specified format in subgroup operations"); + if (caseDef.requiredSubgroupSize) + { + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroup_size_control extension"); + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } + *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context); } @@ -477,13 +501,13 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) inputData.initializeType = subgroups::SSBOData::InitializeNonZero; if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) - return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages); + return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) - return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages); + return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); else if (VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); else TCU_THROW(InternalError, "Unhandled shader stage"); } @@ -506,7 +530,35 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData.numElements = subgroups::maxSupportedSubgroupSize(); inputData.initializeType = subgroups::SSBOData::InitializeNonZero; - return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkCompute); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkCompute); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkCompute, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else { @@ -541,7 +593,7 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData.binding = 4u; inputData.stages = stages; - return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, stages); + return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, stages); } } } @@ -633,19 +685,21 @@ tcu::TestCaseGroup* createSubgroupsClusteredTests(tcu::TestContext& testCtx) +"_" + subgroups::getFormatNameForGLSL(format); { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, de::SharedPtr(new bool)}; + CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(computeGroup.get(), name, "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroup.get(), name + "_requiredsubgroupsize", "", supportedCheck, initPrograms, test, caseDef); } { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(graphicGroup.get(), name, "", supportedCheck, initPrograms, test, caseDef); } for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) { - const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(framebufferGroup.get(), name +"_" + getShaderStageName(caseDef.shaderStage), "", supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef); } diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsPartitionedTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsPartitionedTests.cpp index b76c091..3c73bae 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsPartitionedTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsPartitionedTests.cpp @@ -63,9 +63,10 @@ enum OpType OPTYPE_LAST }; -static bool checkVertexPipelineStages(std::vector datas, +static bool checkVertexPipelineStages(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); const deUint32* data = reinterpret_cast(datas[0]); for (deUint32 x = 0; x < width; ++x) @@ -81,10 +82,11 @@ static bool checkVertexPipelineStages(std::vector datas, return true; } -static bool checkCompute(std::vector datas, +static bool checkCompute(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); const deUint32* data = reinterpret_cast(datas[0]); @@ -460,6 +462,7 @@ struct CaseDefinition VkShaderStageFlags shaderStage; VkFormat format; de::SharedPtr geometryPointSizeSupported; + deBool requiredSubgroupSize; }; string getTestString(const CaseDefinition &caseDef) @@ -885,6 +888,27 @@ void supportedCheck (Context& context, CaseDefinition caseDef) if (!subgroups::isFormatSupportedForDevice(context, caseDef.format)) TCU_THROW(NotSupportedError, "Device does not support the specified format in subgroup operations"); + if (caseDef.requiredSubgroupSize) + { + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroup_size_control extension"); + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } + *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context); } @@ -914,13 +938,13 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) inputData.initializeType = subgroups::SSBOData::InitializeNonZero; if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) - return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages); + return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) - return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages); + return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); else if (VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); else TCU_THROW(InternalError, "Unhandled shader stage"); } @@ -960,7 +984,35 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData.numElements = subgroups::maxSupportedSubgroupSize(); inputData.initializeType = subgroups::SSBOData::InitializeNonZero; - return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkCompute); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkCompute); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkCompute, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else { @@ -996,7 +1048,7 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData.stages = stages; return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, - 1, checkVertexPipelineStages, stages); + 1, DE_NULL, checkVertexPipelineStages, stages); } } } @@ -1092,15 +1144,20 @@ tcu::TestCaseGroup* createSubgroupsPartitionedTests(tcu::TestContext& testCtx) std::string op = getOpTypeName(opTypeIndex); { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, de::SharedPtr(new bool)}; + CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(computeGroup.get(), de::toLower(op) + "_" + subgroups::getFormatNameForGLSL(format), "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroup.get(), + de::toLower(op) + "_" + + subgroups::getFormatNameForGLSL(format) + "_requiredsubgroupsize", + "", supportedCheck, initPrograms, test, caseDef); } { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(graphicGroup.get(), de::toLower(op) + "_" + subgroups::getFormatNameForGLSL(format), @@ -1109,7 +1166,7 @@ tcu::TestCaseGroup* createSubgroupsPartitionedTests(tcu::TestContext& testCtx) for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) { - const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(framebufferGroup.get(), de::toLower(op) + "_" + subgroups::getFormatNameForGLSL(format) + "_" + getShaderStageName(caseDef.shaderStage), "", supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef); @@ -1129,4 +1186,3 @@ tcu::TestCaseGroup* createSubgroupsPartitionedTests(tcu::TestContext& testCtx) } // subgroups } // vkt - diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsQuadTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsQuadTests.cpp index 080a783..31b3780 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsQuadTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsQuadTests.cpp @@ -46,16 +46,18 @@ enum OpType OPTYPE_LAST }; -static bool checkVertexPipelineStages(std::vector datas, +static bool checkVertexPipelineStages(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); return vkt::subgroups::check(datas, width, 1); } -static bool checkCompute(std::vector datas, +static bool checkCompute(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); return vkt::subgroups::checkCompute(datas, numWorkgroups, localSize, 1); } @@ -104,6 +106,7 @@ struct CaseDefinition VkShaderStageFlags shaderStage; VkFormat format; de::SharedPtr geometryPointSizeSupported; + deBool requiredSubgroupSize; }; std::string getExtHeader(VkFormat format) @@ -215,6 +218,27 @@ void supportedCheck (Context& context, CaseDefinition caseDef) if ((caseDef.opType == OPTYPE_QUAD_BROADCAST_NONCONST) && !subgroups::isSubgroupBroadcastDynamicIdSupported(context)) TCU_THROW(NotSupportedError, "Device does not support SubgroupBroadcastDynamicId"); + if (caseDef.requiredSubgroupSize) + { + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroup_size_control extension"); + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } + *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context); } @@ -242,13 +266,13 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) inputData.initializeType = subgroups::SSBOData::InitializeNonZero; if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) - return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages); + return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) - return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages); + return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); else if (VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); else TCU_THROW(InternalError, "Unhandled shader stage"); } @@ -271,7 +295,35 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData.numElements = subgroups::maxSupportedSubgroupSize(); inputData.initializeType = subgroups::SSBOData::InitializeNonZero; - return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkCompute); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkCompute); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkCompute, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else { @@ -306,7 +358,7 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData.binding = 4u; inputData.stages = stages; - return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, stages); + return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, stages); } } } @@ -346,8 +398,10 @@ tcu::TestCaseGroup* createSubgroupsQuadTests(tcu::TestContext& testCtx) name << "_" << subgroups::getFormatNameForGLSL(format); { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, de::SharedPtr(new bool)}; + CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(computeGroup.get(), name.str(), "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroup.get(), name.str() + "_requiredsubgroupsize", "", supportedCheck, initPrograms, test, caseDef); } { @@ -356,13 +410,14 @@ tcu::TestCaseGroup* createSubgroupsQuadTests(tcu::TestContext& testCtx) opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format, - de::SharedPtr(new bool) + de::SharedPtr(new bool), + DE_FALSE }; addFunctionCaseWithPrograms(graphicGroup.get(), name.str(), "", supportedCheck, initPrograms, test, caseDef); } for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) { - const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(framebufferGroup.get(), name.str()+"_"+ getShaderStageName(caseDef.shaderStage), "", supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef); } diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShapeTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShapeTests.cpp index 537aa8c..14d264c 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShapeTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShapeTests.cpp @@ -36,16 +36,18 @@ using namespace vkt; namespace { -static bool checkVertexPipelineStages(std::vector datas, +static bool checkVertexPipelineStages(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); return vkt::subgroups::check(datas, width, 1); } -static bool checkCompute(std::vector datas, +static bool checkCompute(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); return vkt::subgroups::checkCompute(datas, numWorkgroups, localSize, 1); } @@ -75,6 +77,7 @@ struct CaseDefinition int opType; VkShaderStageFlags shaderStage; de::SharedPtr geometryPointSizeSupported; + deBool requiredSubgroupSize; }; void initFrameBufferPrograms (SourceCollections& programCollection, CaseDefinition caseDef) @@ -462,6 +465,27 @@ void supportedCheck (Context& context, CaseDefinition caseDef) } } + if (caseDef.requiredSubgroupSize) + { + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroup_size_control extension"); + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } + *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context); } @@ -485,13 +509,13 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) } if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) - return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages); + return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) - return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages); + return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); else if (VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); else TCU_THROW(InternalError, "Unhandled shader stage"); } @@ -516,7 +540,36 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) subgroups::getShaderStageName(caseDef.shaderStage) + " is required to support subgroup operations!"); } - return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkCompute); + + if (caseDef.requiredSubgroupSize == DE_FALSE) + return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkCompute); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkCompute, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else { @@ -543,7 +596,7 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) if ((VkShaderStageFlagBits)0u == stages) TCU_THROW(NotSupportedError, "Subgroup operations are not supported for any graphic shader"); - return subgroups::allStages(context, VK_FORMAT_R32_UINT, DE_NULL, 0, checkVertexPipelineStages, stages); + return subgroups::allStages(context, VK_FORMAT_R32_UINT, DE_NULL, 0, DE_NULL, checkVertexPipelineStages, stages); } } } @@ -574,8 +627,10 @@ tcu::TestCaseGroup* createSubgroupsShapeTests(tcu::TestContext& testCtx) const std::string op = de::toLower(getOpTypeName(opTypeIndex)); { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool)}; + CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(computeGroup.get(), op, "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroup.get(), op + "_requiredsubgroupsize", "", supportedCheck, initPrograms, test, caseDef); } { @@ -583,7 +638,8 @@ tcu::TestCaseGroup* createSubgroupsShapeTests(tcu::TestContext& testCtx) { opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, - de::SharedPtr(new bool) + de::SharedPtr(new bool), + DE_FALSE }; addFunctionCaseWithPrograms(graphicGroup.get(), op, "", @@ -592,7 +648,7 @@ tcu::TestCaseGroup* createSubgroupsShapeTests(tcu::TestContext& testCtx) for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) { - const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(framebufferGroup.get(),op + "_" + getShaderStageName(caseDef.shaderStage), "", supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef); } diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShuffleTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShuffleTests.cpp index 052744d..321268a 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShuffleTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShuffleTests.cpp @@ -45,16 +45,18 @@ enum OpType OPTYPE_LAST }; -static bool checkVertexPipelineStages(std::vector datas, +static bool checkVertexPipelineStages(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); return vkt::subgroups::check(datas, width, 1); } -static bool checkCompute(std::vector datas, +static bool checkCompute(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); return vkt::subgroups::checkCompute(datas, numWorkgroups, localSize, 1); } @@ -82,6 +84,7 @@ struct CaseDefinition VkShaderStageFlags shaderStage; VkFormat format; de::SharedPtr geometryPointSizeSupported; + deBool requiredSubgroupSize; }; const std::string to_string(int x) { @@ -458,6 +461,27 @@ void supportedCheck (Context& context, CaseDefinition caseDef) if (!subgroups::isFormatSupportedForDevice(context, caseDef.format)) TCU_THROW(NotSupportedError, "Device does not support the specified format in subgroup operations"); + if (caseDef.requiredSubgroupSize) + { + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroup_size_control extension"); + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } + *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context); } @@ -492,13 +516,13 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) inputData[1].initializeType = subgroups::SSBOData::InitializeNonZero; if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) - return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 2, checkVertexPipelineStages); + return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 2, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) - return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 2, checkVertexPipelineStages); + return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 2, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 2, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 2, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); else if (VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 2, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, inputData, 2, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); else TCU_THROW(InternalError, "Unhandled shader stage"); } @@ -526,7 +550,35 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData[1].numElements = inputData[0].numElements; inputData[1].initializeType = subgroups::SSBOData::InitializeNonZero; - return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, inputData, 2, checkCompute); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, inputData, 2, DE_NULL, checkCompute); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, inputData, 2, DE_NULL, checkCompute, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + + return tcu::TestStatus::pass("OK"); } else @@ -569,7 +621,7 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData[1].binding = 5u; inputData[1].stages = stages; - return subgroups::allStages(context, VK_FORMAT_R32_UINT, inputData, 2, checkVertexPipelineStages, stages); + return subgroups::allStages(context, VK_FORMAT_R32_UINT, inputData, 2, DE_NULL, checkVertexPipelineStages, stages); } } } @@ -615,19 +667,22 @@ tcu::TestCaseGroup* createSubgroupsShuffleTests(tcu::TestContext& testCtx) opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format, - de::SharedPtr(new bool) + de::SharedPtr(new bool), + DE_FALSE }; addFunctionCaseWithPrograms(graphicGroup.get(), name, "", supportedCheck, initPrograms, test, caseDef); } { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, de::SharedPtr(new bool)}; + CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(computeGroup.get(), name, "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroup.get(), name + "_requiredsubgroupsize", "", supportedCheck, initPrograms, test, caseDef); } for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) { - const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, de::SharedPtr(new bool), DE_FALSE}; addFunctionCaseWithPrograms(framebufferGroup.get(), name + "_" + getShaderStageName(caseDef.shaderStage), "", supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef); } diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsSizeControlTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsSizeControlTests.cpp new file mode 100755 index 0000000..71433dc --- /dev/null +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsSizeControlTests.cpp @@ -0,0 +1,1082 @@ +/*------------------------------------------------------------------------ + * Vulkan Conformance Tests + * ------------------------ + * + * Copyright (c) 2019 The Khronos Group Inc. + * Copyright (c) 2019 Valve Corporation. + * + * 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 VK_EXT_subgroup_size_control Tests + */ /*--------------------------------------------------------------------*/ + +#include "vktSubgroupsSizeControlTests.hpp" +#include "vktSubgroupsTestsUtils.hpp" +#include "vktTestCaseUtil.hpp" +#include "tcuTestLog.hpp" + +#include +#include + +using namespace tcu; +using namespace std; +using namespace vk; +using namespace vkt; + +namespace +{ + +enum RequiredSubgroupSizeMode +{ + REQUIRED_SUBGROUP_SIZE_NONE = 0, + REQUIRED_SUBGROUP_SIZE_MIN = 1, + REQUIRED_SUBGROUP_SIZE_MAX = 2, +}; + +struct CaseDefinition +{ + deUint32 pipelineShaderStageCreateFlags; + VkShaderStageFlags shaderStage; + deBool requiresBallot; + deUint32 requiredSubgroupSizeMode; +}; + +struct internalDataStruct +{ + const Context* context; + struct CaseDefinition caseDef; + deUint32 requiredSubgroupSize; +}; + +// Find greatest common divisor for a and b +deUint32 gcd (deUint32 a, deUint32 b) +{ + if ((0 != a) && (0 == b)) + { + return a; + } + else + { + deUint32 greater = std::max(a, b); + deUint32 lesser = std::min(a, b); + + return gcd(lesser, greater % lesser); + } +} + +void getLocalSizes (VkPhysicalDeviceProperties physicalDeviceProperties, deUint32 numWorkGroupInvocations, + deUint32& localSizeX, deUint32& localSizeY, deUint32& localSizeZ) +{ + DE_ASSERT(numWorkGroupInvocations <= physicalDeviceProperties.limits.maxComputeWorkGroupInvocations); + localSizeX = gcd(numWorkGroupInvocations, physicalDeviceProperties.limits.maxComputeWorkGroupSize[0]); + localSizeY = gcd(deMax32(numWorkGroupInvocations / localSizeX, 1u), physicalDeviceProperties.limits.maxComputeWorkGroupSize[1]); + localSizeZ = deMax32(numWorkGroupInvocations / (localSizeX * localSizeY), 1u); +} + +deUint32 getRequiredSubgroupSizeFromMode (Context &context, const CaseDefinition caseDef, + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties) +{ + switch (caseDef.requiredSubgroupSizeMode) + { + case REQUIRED_SUBGROUP_SIZE_MAX: return subgroupSizeControlProperties.maxSubgroupSize; + case REQUIRED_SUBGROUP_SIZE_MIN: return subgroupSizeControlProperties.minSubgroupSize; + case REQUIRED_SUBGROUP_SIZE_NONE: return vkt::subgroups::getSubgroupSize(context); + default: TCU_THROW(NotSupportedError, "Unsupported Subgroup size"); + } +} + +static bool checkVertexPipelineStages (const void* internalData, std::vector datas, + deUint32 width, deUint32) +{ + const struct internalDataStruct *checkInternalData = reinterpret_cast(internalData); + const Context *context = checkInternalData->context; + tcu::TestLog& log = context->getTestContext().getLog(); + + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context->getInstanceInterface().getPhysicalDeviceProperties2(context->getPhysicalDevice(), &properties); + const deUint32* data = reinterpret_cast(datas[0]); + + for (deUint32 i = 0; i < width; i++) + { + if (data[i] > subgroupSizeControlProperties.maxSubgroupSize || + data[i] < subgroupSizeControlProperties.minSubgroupSize) + { + log << tcu::TestLog::Message << "gl_SubgroupSize (" << data[i] << ") value is outside limits (" << subgroupSizeControlProperties.minSubgroupSize << ", " << subgroupSizeControlProperties.maxSubgroupSize << ")" << tcu::TestLog::EndMessage; + return DE_FALSE; + } + + if (checkInternalData->caseDef.requiredSubgroupSizeMode != REQUIRED_SUBGROUP_SIZE_NONE && data[i] != checkInternalData->requiredSubgroupSize) + { + log << tcu::TestLog::Message << "gl_SubgroupSize (" << data[i] << ") is not equal to the required subgroup size value (" << checkInternalData->requiredSubgroupSize << ")" << tcu::TestLog::EndMessage; + return DE_FALSE; + } + } + + return DE_TRUE; +} + +static bool checkFragmentPipelineStages (const void* internalData, std::vector datas, + deUint32 width, deUint32 height, deUint32) +{ + const struct internalDataStruct *checkInternalData = reinterpret_cast(internalData); + const Context *context = checkInternalData->context; + tcu::TestLog& log = context->getTestContext().getLog(); + + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + context->getInstanceInterface().getPhysicalDeviceProperties2(context->getPhysicalDevice(), &properties); + + const deUint32* data = reinterpret_cast(datas[0]); + + for (deUint32 x = 0u; x < width; ++x) + { + for (deUint32 y = 0u; y < height; ++y) + { + const deUint32 ndx = (x * height + y); + + if (data[ndx] > subgroupSizeControlProperties.maxSubgroupSize || + data[ndx] < subgroupSizeControlProperties.minSubgroupSize) + { + log << tcu::TestLog::Message << "gl_SubgroupSize (" << data[ndx] << ") value is outside limits (" << subgroupSizeControlProperties.minSubgroupSize << ", " << subgroupSizeControlProperties.maxSubgroupSize << ")" << tcu::TestLog::EndMessage; + return DE_FALSE; + } + + if (checkInternalData->caseDef.requiredSubgroupSizeMode != REQUIRED_SUBGROUP_SIZE_NONE && + data[ndx] != checkInternalData->requiredSubgroupSize) + { + log << tcu::TestLog::Message << "gl_SubgroupSize (" << data[ndx] << ") is not equal to the required subgroup size value (" << checkInternalData->requiredSubgroupSize << ")" << tcu::TestLog::EndMessage; + return DE_FALSE; + } + } + } + return true; +} + +static bool checkCompute (const void* internalData, std::vector datas, + const deUint32 numWorkgroups[3], const deUint32 localSize[3], + deUint32) +{ + const struct internalDataStruct *checkInternalData = reinterpret_cast(internalData); + const Context *context = checkInternalData->context; + tcu::TestLog& log = context->getTestContext().getLog(); + + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + context->getInstanceInterface().getPhysicalDeviceProperties2(context->getPhysicalDevice(), &properties); + + const deUint32 globalSizeX = numWorkgroups[0] * localSize[0]; + const deUint32 globalSizeY = numWorkgroups[1] * localSize[1]; + const deUint32 globalSizeZ = numWorkgroups[2] * localSize[2]; + const deUint32 width = globalSizeX * globalSizeY * globalSizeZ; + const deUint32* data = reinterpret_cast(datas[0]); + + for (deUint32 i = 0; i < width; i++) + { + if (data[i] > subgroupSizeControlProperties.maxSubgroupSize || + data[i] < subgroupSizeControlProperties.minSubgroupSize) + { + log << tcu::TestLog::Message << "[" << localSize[0] << ", " << localSize[1] << ", " << localSize[2] << "] " + << "gl_SubgroupSize (" << data[i] << ") value is outside limits (" << subgroupSizeControlProperties.minSubgroupSize << ", " << subgroupSizeControlProperties.maxSubgroupSize << ")" << tcu::TestLog::EndMessage; + return DE_FALSE; + } + + if (checkInternalData->caseDef.requiredSubgroupSizeMode != REQUIRED_SUBGROUP_SIZE_NONE && + data[i] != checkInternalData->requiredSubgroupSize) + { + log << tcu::TestLog::Message << "[" << localSize[0] << ", " << localSize[1] << ", " << localSize[2] << "] " + << "gl_SubgroupSize (" << data[i] << ") is not equal to the required subgroup size value (" << checkInternalData->requiredSubgroupSize << ")" << tcu::TestLog::EndMessage; + return DE_FALSE; + } + } + + return DE_TRUE; +} + +static bool checkComputeRequireFull (const void* internalData, std::vector datas, + const deUint32 numWorkgroups[3], const deUint32 localSize[3], + deUint32) +{ + const struct internalDataStruct *checkInternalData = reinterpret_cast(internalData); + const Context *context = checkInternalData->context; + tcu::TestLog& log = context->getTestContext().getLog(); + + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + + VkPhysicalDeviceSubgroupProperties subgroupProperties; + subgroupProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES; + subgroupProperties.pNext = &subgroupSizeControlProperties; + + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupProperties; + + context->getInstanceInterface().getPhysicalDeviceProperties2(context->getPhysicalDevice(), &properties); + + const deUint32 globalSizeX = numWorkgroups[0] * localSize[0]; + const deUint32 globalSizeY = numWorkgroups[1] * localSize[1]; + const deUint32 globalSizeZ = numWorkgroups[2] * localSize[2]; + const deUint32 width = globalSizeX * globalSizeY * globalSizeZ; + const UVec4* data = reinterpret_cast(datas[0]); + + deUint32 numSubgroups = (localSize[0] * localSize[1] * localSize[2]) / checkInternalData->requiredSubgroupSize; + + for (deUint32 i = 0; i < width; i++) + { + if (data[i].x() > subgroupSizeControlProperties.maxSubgroupSize || + data[i].x() < subgroupSizeControlProperties.minSubgroupSize) + { + log << tcu::TestLog::Message << "[" << localSize[0] << ", " << localSize[1] << ", " << localSize[2] << "] " + << "gl_SubgroupSize value ( " << data[i].x() << ") is outside limits [" << subgroupSizeControlProperties.minSubgroupSize << ", " << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + return DE_FALSE; + } + + if (data[i].x() != data[i].y()) + { + log << tcu::TestLog::Message << "[" << localSize[0] << ", " << localSize[1] << ", " << localSize[2] << "] " + << "gl_SubgroupSize ( " << data[i].x() << ") does not match the active number of subgroup invocations (" << data[i].y() << ")" << tcu::TestLog::EndMessage; + return DE_FALSE; + } + + if (checkInternalData->caseDef.pipelineShaderStageCreateFlags == VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT && + data[i].x() != checkInternalData->requiredSubgroupSize) + { + log << tcu::TestLog::Message << "[" << localSize[0] << ", " << localSize[1] << ", " << localSize[2] << "] " + << "expected subgroupSize (" << checkInternalData->requiredSubgroupSize << ") doesn't match gl_SubgroupSize ( " << data[i].x() << ")" << tcu::TestLog::EndMessage; + return DE_FALSE; + } + + if (checkInternalData->caseDef.pipelineShaderStageCreateFlags == VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT && data[i].z() != numSubgroups) + { + log << tcu::TestLog::Message << "[" << localSize[0] << ", " << localSize[1] << ", " << localSize[2] << "] " + << "expected number of subgroups dispatched (" << numSubgroups << ") doesn't match gl_NumSubgroups (" << data[i].z() << ")"; + return DE_FALSE; + } + } + + return DE_TRUE; +} + +void initFrameBufferPrograms (SourceCollections& programCollection, CaseDefinition caseDef) +{ + const vk::ShaderBuildOptions buildOptions (programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_3, 0u); + + if (VK_SHADER_STAGE_FRAGMENT_BIT != caseDef.shaderStage) + subgroups::setFragmentShaderFrameBuffer(programCollection); + + if (VK_SHADER_STAGE_VERTEX_BIT != caseDef.shaderStage && VK_SHADER_STAGE_FRAGMENT_BIT != caseDef.shaderStage) + subgroups::setVertexShaderFrameBuffer(programCollection); + + std::string bdyStr = "uint tempResult = gl_SubgroupSize;\n"; + + if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) + { + std::ostringstream vertex; + vertex << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450)<<"\n" + << "#extension GL_KHR_shader_subgroup_basic: enable\n" + << "layout(location = 0) in highp vec4 in_position;\n" + << "layout(location = 0) out float out_color;\n" + << "\n" + << "void main (void)\n" + << "{\n" + << bdyStr + << " out_color = float(tempResult);\n" + << " gl_Position = in_position;\n" + << " gl_PointSize = 1.0f;\n" + << "}\n"; + programCollection.glslSources.add("vert") + << glu::VertexSource(vertex.str()) << buildOptions; + } + else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) + { + std::ostringstream geometry; + + geometry << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450)<<"\n" + << "#extension GL_KHR_shader_subgroup_basic: enable\n" + << "layout(points) in;\n" + << "layout(points, max_vertices = 1) out;\n" + << "layout(location = 0) out float out_color;\n" + << "void main (void)\n" + << "{\n" + << bdyStr + << " out_color = float(tempResult);\n" + << " gl_Position = gl_in[0].gl_Position;\n" + << " gl_PointSize = 1.0f;" + << " EmitVertex();\n" + << " EndPrimitive();\n" + << "}\n"; + + programCollection.glslSources.add("geometry") + << glu::GeometrySource(geometry.str()) << buildOptions; + } + else if (VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT == caseDef.shaderStage) + { + std::ostringstream controlSource; + + controlSource << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450)<<"\n" + << "#extension GL_KHR_shader_subgroup_basic: enable\n" + << "layout(vertices = 2) out;\n" + << "layout(location = 0) out float out_color[];\n" + << "\n" + << "void main (void)\n" + << "{\n" + << " if (gl_InvocationID == 0)\n" + << " {\n" + << " gl_TessLevelOuter[0] = 1.0f;\n" + << " gl_TessLevelOuter[1] = 1.0f;\n" + << " }\n" + << bdyStr + << " out_color[gl_InvocationID ] = float(tempResult);\n" + << " gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;\n" + << "}\n"; + + programCollection.glslSources.add("tesc") + << glu::TessellationControlSource(controlSource.str()) << buildOptions; + subgroups::setTesEvalShaderFrameBuffer(programCollection); + } + else if (VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT == caseDef.shaderStage) + { + std::ostringstream evaluationSource; + evaluationSource << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450)<<"\n" + << "#extension GL_KHR_shader_subgroup_basic: enable\n" + << "layout(isolines, equal_spacing, ccw ) in;\n" + << "layout(location = 0) out float out_color;\n" + << "void main (void)\n" + << "{\n" + << bdyStr + << " out_color = float(tempResult);\n" + << " gl_Position = mix(gl_in[0].gl_Position, gl_in[1].gl_Position, gl_TessCoord.x);\n" + << "}\n"; + + subgroups::setTesCtrlShaderFrameBuffer(programCollection); + programCollection.glslSources.add("tese") + << glu::TessellationEvaluationSource(evaluationSource.str()) << buildOptions; + } + else if (VK_SHADER_STAGE_FRAGMENT_BIT == caseDef.shaderStage) + { + const string vertex = string(glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450)) + "\n" + "void main (void)\n" + "{\n" + " vec2 uv = vec2(float(gl_VertexIndex & 1), float((gl_VertexIndex >> 1) & 1));\n" + " gl_Position = vec4(uv * 4.0f -2.0f, 0.0f, 1.0f);\n" + " gl_PointSize = 1.0f;\n" + "}\n"; + programCollection.glslSources.add("vert") << glu::VertexSource(vertex) << buildOptions; + + std::ostringstream fragmentSource; + fragmentSource << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450)<<"\n" + << "precision highp int;\n" + << "#extension GL_KHR_shader_subgroup_basic: enable\n" + << "layout(location = 0) out uint out_color;\n" + << "void main()\n" + << "{\n" + << bdyStr + << " out_color = tempResult;\n" + << "}\n"; + programCollection.glslSources.add("fragment") + << glu::FragmentSource(fragmentSource.str()) << buildOptions; + } + else + { + DE_FATAL("Unsupported shader stage"); + } +} + +void initPrograms (SourceCollections& programCollection, CaseDefinition caseDef) +{ + std::string bdyStr = " uint tempResult = gl_SubgroupSize;\n"; + + if (VK_SHADER_STAGE_COMPUTE_BIT == caseDef.shaderStage) + { + std::ostringstream src; + + src << "#version 450\n" + << "#extension GL_KHR_shader_subgroup_basic: enable\n" + << "layout (local_size_x_id = 0, local_size_y_id = 1, " + "local_size_z_id = 2) in;\n" + << "layout(set = 0, binding = 0, std430) buffer Buffer1\n" + << "{\n" + << " uint result[];\n" + << "};\n" + << "\n" + << "void main (void)\n" + << "{\n" + << " uvec3 globalSize = gl_NumWorkGroups * gl_WorkGroupSize;\n" + << " highp uint offset = globalSize.x * ((globalSize.y * " + "gl_GlobalInvocationID.z) + gl_GlobalInvocationID.y) + " + "gl_GlobalInvocationID.x;\n" + << bdyStr + << " result[offset] = tempResult;\n" + << "}\n"; + + programCollection.glslSources.add("comp") + << glu::ComputeSource(src.str()) << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_3, 0u); + } + else + { + const string vertex = + "#version 450\n" + "#extension GL_KHR_shader_subgroup_basic: enable\n" + "layout(set = 0, binding = 0, std430) buffer Buffer1\n" + "{\n" + " uint result[];\n" + "};\n" + "\n" + "void main (void)\n" + "{\n" + + bdyStr + + " result[gl_VertexIndex] = tempResult;\n" + " float pixelSize = 2.0f/1024.0f;\n" + " float pixelPosition = pixelSize/2.0f - 1.0f;\n" + " gl_Position = vec4(float(gl_VertexIndex) * pixelSize + pixelPosition, 0.0f, 0.0f, 1.0f);\n" + " gl_PointSize = 1.0f;\n" + "}\n"; + + const string tesc = + "#version 450\n" + "#extension GL_KHR_shader_subgroup_basic: enable\n" + "layout(vertices=1) out;\n" + "layout(set = 0, binding = 1, std430) buffer Buffer1\n" + "{\n" + " uint result[];\n" + "};\n" + "\n" + "void main (void)\n" + "{\n" + + bdyStr + + " result[gl_PrimitiveID] = tempResult;\n" + " if (gl_InvocationID == 0)\n" + " {\n" + " gl_TessLevelOuter[0] = 1.0f;\n" + " gl_TessLevelOuter[1] = 1.0f;\n" + " }\n" + " gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;\n" + "}\n"; + + const string tese = + "#version 450\n" + "#extension GL_KHR_shader_subgroup_basic: enable\n" + "layout(isolines) in;\n" + "layout(set = 0, binding = 2, std430) buffer Buffer1\n" + "{\n" + " uint result[];\n" + "};\n" + "\n" + "void main (void)\n" + "{\n" + + bdyStr + + " result[gl_PrimitiveID * 2 + uint(gl_TessCoord.x + 0.5)] = tempResult;\n" + " float pixelSize = 2.0f/1024.0f;\n" + " gl_Position = gl_in[0].gl_Position + gl_TessCoord.x * pixelSize / 2.0f;\n" + "}\n"; + + const string geometry = + "#version 450\n" + "#extension GL_KHR_shader_subgroup_basic: enable\n" + "layout(${TOPOLOGY}) in;\n" + "layout(points, max_vertices = 1) out;\n" + "layout(set = 0, binding = 3, std430) buffer Buffer1\n" + "{\n" + " uint result[];\n" + "};\n" + "\n" + "void main (void)\n" + "{\n" + + bdyStr + + " result[gl_PrimitiveIDIn] = tempResult;\n" + " gl_Position = gl_in[0].gl_Position;\n" + " gl_PointSize = 1.0f;\n" + " EmitVertex();\n" + " EndPrimitive();\n" + "}\n"; + + const string fragment = + "#version 450\n" + "#extension GL_KHR_shader_subgroup_basic: enable\n" + "layout(location = 0) out uint result;\n" + "void main (void)\n" + "{\n" + + bdyStr + + " result = tempResult;\n" + "}\n"; + + subgroups::addNoSubgroupShader(programCollection); + + programCollection.glslSources.add("vert") + << glu::VertexSource(vertex) << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_3, 0u); + programCollection.glslSources.add("tesc") + << glu::TessellationControlSource(tesc) << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_3, 0u); + programCollection.glslSources.add("tese") + << glu::TessellationEvaluationSource(tese) << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_3, 0u); + subgroups::addGeometryShadersFromTemplate(geometry, vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_3, 0u), + programCollection.glslSources); + programCollection.glslSources.add("fragment") + << glu::FragmentSource(fragment)<< vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_3, 0u); + } +} + +void initProgramsRequireFull (SourceCollections& programCollection, CaseDefinition caseDef) +{ + if (VK_SHADER_STAGE_COMPUTE_BIT != caseDef.shaderStage) + DE_FATAL("Unsupported shader stage"); + + std::string bdyStr = " uint tempResult = gl_SubgroupSize;\n"; + + std::ostringstream src; + + src << "#version 450\n" + << "#extension GL_KHR_shader_subgroup_basic: enable\n" + << "#extension GL_KHR_shader_subgroup_ballot: enable\n" + << "layout (local_size_x_id = 0, local_size_y_id = 1, " + "local_size_z_id = 2) in;\n" + << "layout(set = 0, binding = 0, std430) buffer Buffer1\n" + << "{\n" + << " uvec4 result[];\n" + << "};\n" + << "\n" + << "void main (void)\n" + << "{\n" + << " uvec3 globalSize = gl_NumWorkGroups * gl_WorkGroupSize;\n" + << " highp uint offset = globalSize.x * ((globalSize.y * " + "gl_GlobalInvocationID.z) + gl_GlobalInvocationID.y) + " + "gl_GlobalInvocationID.x;\n" + << " result[offset].x = gl_SubgroupSize;" // save the subgroup size value + << " uint numActive = subgroupBallotBitCount(subgroupBallot(true));\n" + << " result[offset].y = numActive;\n" // save the number of active subgroup invocations + << " result[offset].z = gl_NumSubgroups;" // save the number of subgroups dispatched. + << "}\n"; + + programCollection.glslSources.add("comp") + << glu::ComputeSource(src.str()) << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_3, 0u); +} + +void supportedCheck (Context& context) +{ + if (!subgroups::isSubgroupSupported(context)) + TCU_THROW(NotSupportedError, "Subgroup operations are not supported"); + + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + { + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroups_size_control extension"); + } +} + +void supportedCheckFeatures (Context& context, CaseDefinition caseDef) +{ + supportedCheck(context); + + if (!subgroups::areSubgroupOperationsSupportedForStage(context, caseDef.shaderStage)) + { + TCU_THROW(NotSupportedError, "Shader stage is required to support subgroup operations!"); + } + + if (caseDef.shaderStage == VK_SHADER_STAGE_ALL_GRAPHICS) + { + VkPhysicalDeviceFeatures features; + context.getInstanceInterface().getPhysicalDeviceFeatures(context.getPhysicalDevice(), &features); + if (!features.tessellationShader || !features.geometryShader) + TCU_THROW(NotSupportedError, "Device does not support tessellation or geometry shaders"); + } + + if (caseDef.requiresBallot && !subgroups::isSubgroupFeatureSupportedForDevice(context, VK_SUBGROUP_FEATURE_BALLOT_BIT)) + { + TCU_THROW(NotSupportedError, "Device does not support subgroup ballot operations"); + } + + if (caseDef.requiredSubgroupSizeMode != REQUIRED_SUBGROUP_SIZE_NONE || + caseDef.pipelineShaderStageCreateFlags == VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT) + { + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (caseDef.requiredSubgroupSizeMode != REQUIRED_SUBGROUP_SIZE_NONE) + { + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + if ((subgroupSizeControlProperties.requiredSubgroupSizeStages & caseDef.shaderStage) != caseDef.shaderStage) + TCU_THROW(NotSupportedError, "Device does not support setting required subgroup size for the stages selected"); + } + } + + if (caseDef.pipelineShaderStageCreateFlags == VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT) + { + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } +} + +tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) +{ + struct internalDataStruct internalData = + { + &context, + caseDef, + 0u, + }; + + if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) + return subgroups::makeVertexFrameBufferTestRequiredSubgroupSize(context, VK_FORMAT_R32_UINT, DE_NULL, 0, &internalData, checkVertexPipelineStages, caseDef.pipelineShaderStageCreateFlags, 0u); + else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) + return subgroups::makeGeometryFrameBufferTestRequiredSubgroupSize(context, VK_FORMAT_R32_UINT, DE_NULL, 0, &internalData, checkVertexPipelineStages, caseDef.pipelineShaderStageCreateFlags, 0u); + else if ((VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) & caseDef.shaderStage) + return subgroups::makeTessellationEvaluationFrameBufferTestRequiredSubgroupSize(context, VK_FORMAT_R32_UINT, DE_NULL, 0, &internalData, checkVertexPipelineStages, caseDef.shaderStage, caseDef.pipelineShaderStageCreateFlags, 0u); + else if (VK_SHADER_STAGE_FRAGMENT_BIT == caseDef.shaderStage) + return subgroups::makeFragmentFrameBufferTestRequiredSubgroupSize(context, VK_FORMAT_R32_UINT, DE_NULL, 0, &internalData, checkFragmentPipelineStages, caseDef.pipelineShaderStageCreateFlags, 0u); + + else + TCU_THROW(InternalError, "Unhandled shader stage"); +} + +tcu::TestStatus test (Context& context, const CaseDefinition caseDef) +{ + if (VK_SHADER_STAGE_COMPUTE_BIT == caseDef.shaderStage) + { + const deUint32 numWorkgroups[3] = {1, 1, 1}; + deUint32 subgroupSize = vkt::subgroups::getSubgroupSize(context); + + VkPhysicalDeviceProperties physicalDeviceProperties; + context.getInstanceInterface().getPhysicalDeviceProperties(context.getPhysicalDevice(), &physicalDeviceProperties); + deUint32 localSizeX, localSizeY, localSizeZ; + // Calculate the local workgroup sizes to exercise the maximum supported by the driver + getLocalSizes(physicalDeviceProperties, physicalDeviceProperties.limits.maxComputeWorkGroupInvocations, localSizeX, localSizeY, localSizeZ); + + const deUint32 localSizesToTestCount = 16; + deUint32 localSizesToTest[localSizesToTestCount][3] = + { + {1, 1, 1}, + {32, 4, 1}, + {32, 1, 4}, + {1, 32, 4}, + {1, 4, 32}, + {4, 1, 32}, + {4, 32, 1}, + {subgroupSize, 1, 1}, + {1, subgroupSize, 1}, + {1, 1, subgroupSize}, + {3, 5, 7}, + {128, 1, 1}, + {1, 128, 1}, + {1, 1, 64}, + {localSizeX, localSizeY, localSizeZ}, + {1, 1, 1} // Isn't used, just here to make double buffering checks easier + }; + + struct internalDataStruct internalData = + { + &context, + caseDef, + subgroupSize, + }; + + return subgroups::makeComputeTestRequiredSubgroupSize(context, VK_FORMAT_R32_UINT, DE_NULL, 0, &internalData, checkCompute, + caseDef.pipelineShaderStageCreateFlags, numWorkgroups, DE_FALSE, subgroupSize, + localSizesToTest, localSizesToTestCount); + } + else + { + VkPhysicalDeviceSubgroupProperties subgroupProperties; + subgroupProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES; + subgroupProperties.pNext = DE_NULL; + + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + VkShaderStageFlagBits stages = (VkShaderStageFlagBits)(caseDef.shaderStage & subgroupProperties.supportedStages); + + if ( VK_SHADER_STAGE_FRAGMENT_BIT != stages && !subgroups::isVertexSSBOSupportedForDevice(context)) + { + if ( (stages & VK_SHADER_STAGE_FRAGMENT_BIT) == 0) + TCU_THROW(NotSupportedError, "Device does not support vertex stage SSBO writes"); + else + stages = VK_SHADER_STAGE_FRAGMENT_BIT; + } + + if ((VkShaderStageFlagBits)0u == stages) + TCU_THROW(NotSupportedError, "Subgroup operations are not supported for any graphic shader"); + + struct internalDataStruct internalData = + { + &context, + caseDef, + 0u, + }; + + return subgroups::allStagesRequiredSubgroupSize(context, VK_FORMAT_R32_UINT, DE_NULL, 0, &internalData, checkVertexPipelineStages, stages, + caseDef.pipelineShaderStageCreateFlags, caseDef.pipelineShaderStageCreateFlags, caseDef.pipelineShaderStageCreateFlags, + caseDef.pipelineShaderStageCreateFlags, caseDef.pipelineShaderStageCreateFlags, DE_NULL); + } + return tcu::TestStatus::pass("OK"); +} + +tcu::TestStatus testRequireFullSubgroups (Context& context, const CaseDefinition caseDef) +{ + DE_ASSERT(VK_SHADER_STAGE_COMPUTE_BIT == caseDef.shaderStage); + DE_ASSERT(caseDef.requiredSubgroupSizeMode == REQUIRED_SUBGROUP_SIZE_NONE); + + const deUint32 numWorkgroups[3] = {1, 1, 1}; + + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + VkPhysicalDeviceProperties physicalDeviceProperties; + context.getInstanceInterface().getPhysicalDeviceProperties(context.getPhysicalDevice(), &physicalDeviceProperties); + + deUint32 localSizeX, localSizeY, localSizeZ; + // Calculate the local workgroup sizes to exercise the maximum supported by the driver + getLocalSizes(physicalDeviceProperties, physicalDeviceProperties.limits.maxComputeWorkGroupInvocations, localSizeX, localSizeY, localSizeZ); + + const deUint32 subgroupSize = vkt::subgroups::getSubgroupSize(context); + + // For full subgroups and allow varying subgroup size, localsize X must be a multiple of maxSubgroupSize. + // We set local size X for this test to the maximum, regardless if allow varying subgroup size is enabled or not. + const deUint32 localSizesToTestCount = 7; + deUint32 localSizesToTest[localSizesToTestCount][3] = + { + {subgroupSizeControlProperties.maxSubgroupSize, 1, 1}, + {subgroupSizeControlProperties.maxSubgroupSize, 4, 1}, + {subgroupSizeControlProperties.maxSubgroupSize, 1, 4}, + {subgroupSizeControlProperties.maxSubgroupSize * 2, 1, 2}, + {subgroupSizeControlProperties.maxSubgroupSize * 4, 1, 1}, + {localSizeX, localSizeY, localSizeZ}, + {1, 1, 1} // Isn't used, just here to make double buffering checks easier + }; + + struct internalDataStruct internalData = + { + &context, + caseDef, + subgroupSize, + }; + + return subgroups::makeComputeTestRequiredSubgroupSize(context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, &internalData, checkComputeRequireFull, + caseDef.pipelineShaderStageCreateFlags, numWorkgroups, DE_FALSE, subgroupSize, + localSizesToTest, localSizesToTestCount); +} + +tcu::TestStatus testRequireSubgroupSize (Context& context, const CaseDefinition caseDef) +{ + if (VK_SHADER_STAGE_COMPUTE_BIT == caseDef.shaderStage) + { + const deUint32 numWorkgroups[3] = {1, 1, 1}; + + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + + VkPhysicalDeviceProperties2 properties2; + properties2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties2.pNext = &subgroupSizeControlProperties; + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties2); + + VkPhysicalDeviceProperties physicalDeviceProperties; + context.getInstanceInterface().getPhysicalDeviceProperties(context.getPhysicalDevice(), &physicalDeviceProperties); + + deUint32 requiredSubgroupSize = getRequiredSubgroupSizeFromMode(context, caseDef, subgroupSizeControlProperties); + + const deUint32 maxTotalLocalSize = deMin32(requiredSubgroupSize * subgroupSizeControlProperties.maxComputeWorkgroupSubgroups, physicalDeviceProperties.limits.maxComputeWorkGroupInvocations); + deUint32 localSizeX, localSizeY, localSizeZ; + getLocalSizes(physicalDeviceProperties, maxTotalLocalSize, localSizeX, localSizeY, localSizeZ); + + const deUint32 localSizesToTestCount = 5; + deUint32 localSizesToTest[localSizesToTestCount][3] = + { + {requiredSubgroupSize, 1, 1}, + {1, requiredSubgroupSize, 1}, + {1, 1, requiredSubgroupSize}, + {localSizeX, localSizeY, localSizeZ}, + {1, 1, 1} // Isn't used, just here to make double buffering checks easier + }; + + struct internalDataStruct internalData = + { + &context, + caseDef, + requiredSubgroupSize, + }; + + // Depending on the flag we need to run one verification function or another. + return subgroups::makeComputeTestRequiredSubgroupSize(context, VK_FORMAT_R32G32B32A32_UINT, DE_NULL, 0, &internalData, + caseDef.pipelineShaderStageCreateFlags == VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT ? checkComputeRequireFull : checkCompute, + caseDef.pipelineShaderStageCreateFlags, numWorkgroups, DE_TRUE, requiredSubgroupSize, + localSizesToTest, localSizesToTestCount); + } + else + { + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + + VkPhysicalDeviceSubgroupProperties subgroupProperties; + subgroupProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES; + subgroupProperties.pNext = &subgroupSizeControlProperties; + + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + VkShaderStageFlagBits stages = (VkShaderStageFlagBits)(caseDef.shaderStage & subgroupProperties.supportedStages); + + if ( VK_SHADER_STAGE_FRAGMENT_BIT != stages && !subgroups::isVertexSSBOSupportedForDevice(context)) + { + if ( (stages & VK_SHADER_STAGE_FRAGMENT_BIT) == 0) + TCU_THROW(NotSupportedError, "Device does not support vertex stage SSBO writes"); + else + stages = VK_SHADER_STAGE_FRAGMENT_BIT; + } + + if ((VkShaderStageFlagBits)0u == stages) + TCU_THROW(NotSupportedError, "Subgroup operations are not supported for any graphic shader"); + + deUint32 requiredSubgroupSize = getRequiredSubgroupSizeFromMode(context, caseDef, subgroupSizeControlProperties); + const deUint32 requiredSubgroupSizes[5] = { requiredSubgroupSize, requiredSubgroupSize, requiredSubgroupSize, requiredSubgroupSize, requiredSubgroupSize}; + struct internalDataStruct internalData = + { + &context, + caseDef, + requiredSubgroupSize, + }; + return subgroups::allStagesRequiredSubgroupSize(context, VK_FORMAT_R32_UINT, DE_NULL, 0, &internalData, checkVertexPipelineStages, stages, + caseDef.pipelineShaderStageCreateFlags, caseDef.pipelineShaderStageCreateFlags, caseDef.pipelineShaderStageCreateFlags, + caseDef.pipelineShaderStageCreateFlags, caseDef.pipelineShaderStageCreateFlags, requiredSubgroupSizes); + } + return tcu::TestStatus::pass("OK"); +} + +tcu::TestStatus noSSBOtestRequireSubgroupSize (Context& context, const CaseDefinition caseDef) +{ + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + + VkPhysicalDeviceSubgroupProperties subgroupProperties; + subgroupProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES; + subgroupProperties.pNext = &subgroupSizeControlProperties; + + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + VkShaderStageFlagBits stages = (VkShaderStageFlagBits)(caseDef.shaderStage & subgroupProperties.supportedStages); + if ((VkShaderStageFlagBits)0u == stages) + TCU_THROW(NotSupportedError, "Subgroup operations are not supported for any graphic shader"); + + deUint32 requiredSubgroupSize = getRequiredSubgroupSizeFromMode(context, caseDef, subgroupSizeControlProperties); + struct internalDataStruct internalData = + { + &context, + caseDef, + requiredSubgroupSize, + }; + + if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) + return subgroups::makeVertexFrameBufferTestRequiredSubgroupSize(context, VK_FORMAT_R32_UINT, DE_NULL, 0, &internalData, checkVertexPipelineStages, caseDef.pipelineShaderStageCreateFlags, requiredSubgroupSize); + else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) + return subgroups::makeGeometryFrameBufferTestRequiredSubgroupSize(context, VK_FORMAT_R32_UINT, DE_NULL, 0, &internalData, checkVertexPipelineStages, caseDef.pipelineShaderStageCreateFlags, requiredSubgroupSize); + else if ((VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) & caseDef.shaderStage) + return subgroups::makeTessellationEvaluationFrameBufferTestRequiredSubgroupSize(context, VK_FORMAT_R32_UINT, DE_NULL, 0, &internalData, checkVertexPipelineStages, caseDef.shaderStage, caseDef.pipelineShaderStageCreateFlags, requiredSubgroupSize); + else if (VK_SHADER_STAGE_FRAGMENT_BIT & caseDef.shaderStage) + return subgroups::makeFragmentFrameBufferTestRequiredSubgroupSize(context, VK_FORMAT_R32_UINT, DE_NULL, 0, &internalData, checkFragmentPipelineStages, caseDef.pipelineShaderStageCreateFlags, requiredSubgroupSize); + else + TCU_THROW(InternalError, "Unhandled shader stage"); +} + +tcu::TestStatus testSanitySubgroupSizeProperties (Context& context) +{ + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + + VkPhysicalDeviceSubgroupProperties subgroupProperties; + subgroupProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES; + subgroupProperties.pNext = &subgroupSizeControlProperties; + + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + if (subgroupProperties.subgroupSize > subgroupSizeControlProperties.maxSubgroupSize || + subgroupProperties.subgroupSize < subgroupSizeControlProperties.minSubgroupSize) + { + std::ostringstream error; + error << "subgroupSize (" << subgroupProperties.subgroupSize << ") is not between maxSubgroupSize ("; + error << subgroupSizeControlProperties.maxSubgroupSize << ") and minSubgroupSize ("; + error << subgroupSizeControlProperties.minSubgroupSize << ")"; + return tcu::TestStatus::fail(error.str().c_str()); + } + + return tcu::TestStatus::pass("OK"); +} +} + +namespace vkt +{ +namespace subgroups +{ +tcu::TestCaseGroup* createSubgroupsSizeControlTests (tcu::TestContext& testCtx) +{ + const VkShaderStageFlags stages[] = + { + VK_SHADER_STAGE_VERTEX_BIT, + VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, + VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, + VK_SHADER_STAGE_GEOMETRY_BIT, + VK_SHADER_STAGE_FRAGMENT_BIT, + }; + + de::MovePtr group(new tcu::TestCaseGroup( + testCtx, "size_control", "VK_EXT_subgroup_size_control tests")); + + de::MovePtr framebufferGroup(new tcu::TestCaseGroup( + testCtx, "framebuffer", "Subgroup size control category tests: framebuffer")); + + de::MovePtr computeGroup(new tcu::TestCaseGroup( + testCtx, "compute", "Subgroup size control category tests: compute")); + + de::MovePtr graphicsGroup(new tcu::TestCaseGroup( + testCtx, "graphics", "Subgroup size control category tests: graphics")); + + de::MovePtr genericGroup(new tcu::TestCaseGroup( + testCtx, "generic", "Subgroup size control category tests: generic")); + + // Test sanity of the subgroup size properties. + { + addFunctionCase(genericGroup.get(), "subgroup_size_properties", "", supportedCheck, testSanitySubgroupSizeProperties); + } + + // Allow varying subgroup case. + { + const CaseDefinition caseDefCompute = {VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT, VK_SHADER_STAGE_COMPUTE_BIT, DE_FALSE, REQUIRED_SUBGROUP_SIZE_NONE}; + addFunctionCaseWithPrograms(computeGroup.get(), "allow_varying_subgroup_size", "", supportedCheckFeatures, initPrograms, test, caseDefCompute); + const CaseDefinition caseDefAllGraphics = {VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT, VK_SHADER_STAGE_ALL_GRAPHICS, DE_FALSE, REQUIRED_SUBGROUP_SIZE_NONE}; + addFunctionCaseWithPrograms(graphicsGroup.get(), "allow_varying_subgroup_size", "", supportedCheckFeatures, initPrograms, test, caseDefAllGraphics); + + for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) + { + const CaseDefinition caseDefStage = {VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT, stages[stageIndex], DE_FALSE, REQUIRED_SUBGROUP_SIZE_NONE}; + addFunctionCaseWithPrograms(framebufferGroup.get(), getShaderStageName(caseDefStage.shaderStage) + "_allow_varying_subgroup_size", "", supportedCheckFeatures, initFrameBufferPrograms, noSSBOtest, caseDefStage); + } + } + + // Require full subgroups case (only compute shaders). + { + const CaseDefinition caseDef = {VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT, VK_SHADER_STAGE_COMPUTE_BIT, DE_TRUE, REQUIRED_SUBGROUP_SIZE_NONE}; + addFunctionCaseWithPrograms(computeGroup.get(), "require_full_subgroups", "", supportedCheckFeatures, initProgramsRequireFull, testRequireFullSubgroups, caseDef); + } + + // Require full subgroups together with allow varying subgroup (only compute shaders). + { + deUint32 flags = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT | VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT; + const CaseDefinition caseDef = {flags, VK_SHADER_STAGE_COMPUTE_BIT, DE_TRUE, REQUIRED_SUBGROUP_SIZE_NONE}; + addFunctionCaseWithPrograms(computeGroup.get(), "require_full_subgroups_allow_varying_subgroup_size", "", supportedCheckFeatures, initProgramsRequireFull, testRequireFullSubgroups, caseDef); + } + + // Tests to check setting a required subgroup size value. + { + const CaseDefinition caseDefAllGraphicsMax = {0u, VK_SHADER_STAGE_ALL_GRAPHICS, DE_FALSE, REQUIRED_SUBGROUP_SIZE_MAX}; + addFunctionCaseWithPrograms(graphicsGroup.get(), "required_subgroup_size_max", "", supportedCheckFeatures, initPrograms, testRequireSubgroupSize, caseDefAllGraphicsMax); + const CaseDefinition caseDefComputeMax = {0u, VK_SHADER_STAGE_COMPUTE_BIT, DE_FALSE, REQUIRED_SUBGROUP_SIZE_MAX}; + addFunctionCaseWithPrograms(computeGroup.get(), "required_subgroup_size_max", "", supportedCheckFeatures, initPrograms, testRequireSubgroupSize, caseDefComputeMax); + + const CaseDefinition caseDefAllGraphicsMin = {0u, VK_SHADER_STAGE_ALL_GRAPHICS, DE_FALSE, REQUIRED_SUBGROUP_SIZE_MIN}; + addFunctionCaseWithPrograms(graphicsGroup.get(), "required_subgroup_size_min", "", supportedCheckFeatures, initPrograms, testRequireSubgroupSize, caseDefAllGraphicsMin); + const CaseDefinition caseDefComputeMin = {0u, VK_SHADER_STAGE_COMPUTE_BIT, DE_FALSE, REQUIRED_SUBGROUP_SIZE_MIN}; + addFunctionCaseWithPrograms(computeGroup.get(), "required_subgroup_size_min", "", supportedCheckFeatures, initPrograms, testRequireSubgroupSize, caseDefComputeMin); + for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) + { + const CaseDefinition caseDefStageMax = {0u, stages[stageIndex], DE_FALSE, REQUIRED_SUBGROUP_SIZE_MAX}; + addFunctionCaseWithPrograms(framebufferGroup.get(), getShaderStageName(caseDefStageMax.shaderStage) + "_required_subgroup_size_max", "", supportedCheckFeatures, initFrameBufferPrograms, noSSBOtestRequireSubgroupSize, caseDefStageMax); + const CaseDefinition caseDefStageMin = {0u, stages[stageIndex], DE_FALSE, REQUIRED_SUBGROUP_SIZE_MIN}; + addFunctionCaseWithPrograms(framebufferGroup.get(), getShaderStageName(caseDefStageMin.shaderStage) + "_required_subgroup_size_min", "", supportedCheckFeatures, initFrameBufferPrograms, noSSBOtestRequireSubgroupSize, caseDefStageMin); + } + } + + // Tests to check setting a required subgroup size value, together with require full subgroups (only compute shaders). + { + deUint32 flags = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT; + const CaseDefinition caseDefMax = {flags, VK_SHADER_STAGE_COMPUTE_BIT, DE_TRUE, REQUIRED_SUBGROUP_SIZE_MAX}; + addFunctionCaseWithPrograms(computeGroup.get(), "required_subgroup_size_max_require_full_subgroups", "", supportedCheckFeatures, initProgramsRequireFull, testRequireSubgroupSize, caseDefMax); + const CaseDefinition caseDefMin = {flags, VK_SHADER_STAGE_COMPUTE_BIT, DE_TRUE, REQUIRED_SUBGROUP_SIZE_MIN}; + addFunctionCaseWithPrograms(computeGroup.get(), "required_subgroup_size_min_require_full_subgroups", "", supportedCheckFeatures, initProgramsRequireFull, testRequireSubgroupSize, caseDefMin); + } + + group->addChild(genericGroup.release()); + group->addChild(graphicsGroup.release()); + group->addChild(computeGroup.release()); + group->addChild(framebufferGroup.release()); + + return group.release(); +} + +} // subgroups +} // vkt diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsSizeControlTests.hpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsSizeControlTests.hpp new file mode 100644 index 0000000..01dd5be --- /dev/null +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsSizeControlTests.hpp @@ -0,0 +1,40 @@ +#ifndef _VKTSUBGROUPSSIZECONTROLTESTS_HPP +#define _VKTSUBGROUPSSIZECONTROLTESTS_HPP +/*------------------------------------------------------------------------ + * Vulkan Conformance Tests + * ------------------------ + * + * Copyright (c) 2019 The Khronos Group Inc. + * Copyright (c) 2019 Valve Corporation. + * + * 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 VK_EXT_subgroup_size_control Tests + */ /*--------------------------------------------------------------------*/ + +#include "tcuDefs.hpp" +#include "vktTestCase.hpp" + +namespace vkt +{ +namespace subgroups +{ + +tcu::TestCaseGroup* createSubgroupsSizeControlTests(tcu::TestContext& testCtx); + +} // subgroups +} // vkt + +#endif // _VKTSUBGROUPSSIZECONTROLTESTS_HPP diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTests.cpp index 3b7c5d9..d327005 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTests.cpp @@ -37,6 +37,7 @@ #include "vktSubgroupsQuadTests.hpp" #include "vktSubgroupsShapeTests.hpp" #include "vktSubgroupsBallotMasksTests.hpp" +#include "vktSubgroupsSizeControlTests.hpp" #include "vktTestGroupUtil.hpp" namespace vkt @@ -65,6 +66,7 @@ void createChildren(tcu::TestCaseGroup* subgroupsTests) subgroupsTests->addChild(createSubgroupsQuadTests(testCtx)); subgroupsTests->addChild(createSubgroupsShapeTests(testCtx)); subgroupsTests->addChild(createSubgroupsBallotMasksTests(testCtx)); + subgroupsTests->addChild(createSubgroupsSizeControlTests(testCtx)); } } // anonymous diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTestsUtils.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTestsUtils.cpp index 8e31326..604e781 100644 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTestsUtils.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTestsUtils.cpp @@ -191,6 +191,303 @@ Move makeRenderPass(Context& context, VkFormat format) &renderPassCreateInfo); } +Move makeGraphicsPipeline(const DeviceInterface& vk, + const VkDevice device, + const VkPipelineLayout pipelineLayout, + const VkShaderModule vertexShaderModule, + const VkShaderModule tessellationControlShaderModule, + const VkShaderModule tessellationEvalShaderModule, + const VkShaderModule geometryShaderModule, + const VkShaderModule fragmentShaderModule, + const VkRenderPass renderPass, + const std::vector& viewports, + const std::vector& scissors, + const VkPrimitiveTopology topology, + const deUint32 subpass, + const deUint32 patchControlPoints, + const VkPipelineVertexInputStateCreateInfo* vertexInputStateCreateInfo, + const VkPipelineRasterizationStateCreateInfo* rasterizationStateCreateInfo, + const VkPipelineMultisampleStateCreateInfo* multisampleStateCreateInfo, + const VkPipelineDepthStencilStateCreateInfo* depthStencilStateCreateInfo, + const VkPipelineColorBlendStateCreateInfo* colorBlendStateCreateInfo, + const VkPipelineDynamicStateCreateInfo* dynamicStateCreateInfo, + const deUint32 vertexShaderStageCreateFlags, + const deUint32 tessellationControlShaderStageCreateFlags, + const deUint32 tessellationEvalShaderStageCreateFlags, + const deUint32 geometryShaderStageCreateFlags, + const deUint32 fragmentShaderStageCreateFlags, + const deUint32 requiredSubgroupSize[5]) +{ + const VkBool32 disableRasterization = (fragmentShaderModule == DE_NULL); + const bool hasTessellation = (tessellationControlShaderModule != DE_NULL || tessellationEvalShaderModule != DE_NULL); + + VkPipelineShaderStageCreateInfo stageCreateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, // VkStructureType sType + DE_NULL, // const void* pNext + 0u, // VkPipelineShaderStageCreateFlags flags + VK_SHADER_STAGE_VERTEX_BIT, // VkShaderStageFlagBits stage + DE_NULL, // VkShaderModule module + "main", // const char* pName + DE_NULL // const VkSpecializationInfo* pSpecializationInfo + }; + + std::vector pipelineShaderStageParams; + + const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT requiredSubgroupSizeCreateInfo[5] = + { + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT, + DE_NULL, + requiredSubgroupSize != DE_NULL ? requiredSubgroupSize[0] : 0u, + }, + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT, + DE_NULL, + requiredSubgroupSize != DE_NULL ? requiredSubgroupSize[1] : 0u, + }, + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT, + DE_NULL, + requiredSubgroupSize != DE_NULL ? requiredSubgroupSize[2] : 0u, + }, + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT, + DE_NULL, + requiredSubgroupSize != DE_NULL ? requiredSubgroupSize[3] : 0u, + }, + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT, + DE_NULL, + requiredSubgroupSize != DE_NULL ? requiredSubgroupSize[4] : 0u, + }, + }; + { + stageCreateInfo.pNext = (requiredSubgroupSizeCreateInfo[0].requiredSubgroupSize != 0u) ? &requiredSubgroupSizeCreateInfo[0] : DE_NULL; + stageCreateInfo.flags = vertexShaderStageCreateFlags; + stageCreateInfo.stage = VK_SHADER_STAGE_VERTEX_BIT; + stageCreateInfo.module = vertexShaderModule; + pipelineShaderStageParams.push_back(stageCreateInfo); + } + + if (tessellationControlShaderModule != DE_NULL) + { + stageCreateInfo.pNext = (requiredSubgroupSizeCreateInfo[1].requiredSubgroupSize != 0u) ? &requiredSubgroupSizeCreateInfo[1] : DE_NULL; + stageCreateInfo.flags = tessellationControlShaderStageCreateFlags; + stageCreateInfo.stage = VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT; + stageCreateInfo.module = tessellationControlShaderModule; + pipelineShaderStageParams.push_back(stageCreateInfo); + } + + if (tessellationEvalShaderModule != DE_NULL) + { + stageCreateInfo.pNext = (requiredSubgroupSize != DE_NULL && requiredSubgroupSizeCreateInfo[2].requiredSubgroupSize != 0u) ? &requiredSubgroupSizeCreateInfo[2] : DE_NULL; + stageCreateInfo.flags = tessellationEvalShaderStageCreateFlags; + stageCreateInfo.stage = VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT; + stageCreateInfo.module = tessellationEvalShaderModule; + pipelineShaderStageParams.push_back(stageCreateInfo); + } + + if (geometryShaderModule != DE_NULL) + { + stageCreateInfo.pNext = (requiredSubgroupSizeCreateInfo[3].requiredSubgroupSize != 0u) ? &requiredSubgroupSizeCreateInfo[3] : DE_NULL; + stageCreateInfo.flags = geometryShaderStageCreateFlags; + stageCreateInfo.stage = VK_SHADER_STAGE_GEOMETRY_BIT; + stageCreateInfo.module = geometryShaderModule; + pipelineShaderStageParams.push_back(stageCreateInfo); + } + + if (fragmentShaderModule != DE_NULL) + { + stageCreateInfo.pNext = (requiredSubgroupSizeCreateInfo[4].requiredSubgroupSize != 0u) ? &requiredSubgroupSizeCreateInfo[4] : DE_NULL; + stageCreateInfo.flags = fragmentShaderStageCreateFlags; + stageCreateInfo.stage = VK_SHADER_STAGE_FRAGMENT_BIT; + stageCreateInfo.module = fragmentShaderModule; + pipelineShaderStageParams.push_back(stageCreateInfo); + } + + const VkVertexInputBindingDescription vertexInputBindingDescription = + { + 0u, // deUint32 binding + sizeof(tcu::Vec4), // deUint32 stride + VK_VERTEX_INPUT_RATE_VERTEX, // VkVertexInputRate inputRate + }; + + const VkVertexInputAttributeDescription vertexInputAttributeDescription = + { + 0u, // deUint32 location + 0u, // deUint32 binding + VK_FORMAT_R32G32B32A32_SFLOAT, // VkFormat format + 0u // deUint32 offset + }; + + const VkPipelineVertexInputStateCreateInfo vertexInputStateCreateInfoDefault = + { + VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO, // VkStructureType sType + DE_NULL, // const void* pNext + (VkPipelineVertexInputStateCreateFlags)0, // VkPipelineVertexInputStateCreateFlags flags + 1u, // deUint32 vertexBindingDescriptionCount + &vertexInputBindingDescription, // const VkVertexInputBindingDescription* pVertexBindingDescriptions + 1u, // deUint32 vertexAttributeDescriptionCount + &vertexInputAttributeDescription // const VkVertexInputAttributeDescription* pVertexAttributeDescriptions + }; + + const VkPipelineInputAssemblyStateCreateInfo inputAssemblyStateCreateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO, // VkStructureType sType + DE_NULL, // const void* pNext + 0u, // VkPipelineInputAssemblyStateCreateFlags flags + topology, // VkPrimitiveTopology topology + VK_FALSE // VkBool32 primitiveRestartEnable + }; + + const VkPipelineTessellationStateCreateInfo tessStateCreateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO, // VkStructureType sType + DE_NULL, // const void* pNext + 0u, // VkPipelineTessellationStateCreateFlags flags + patchControlPoints // deUint32 patchControlPoints + }; + + const VkPipelineViewportStateCreateInfo viewportStateCreateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO, // VkStructureType sType + DE_NULL, // const void* pNext + (VkPipelineViewportStateCreateFlags)0, // VkPipelineViewportStateCreateFlags flags + viewports.empty() ? 1u : (deUint32)viewports.size(), // deUint32 viewportCount + viewports.empty() ? DE_NULL : &viewports[0], // const VkViewport* pViewports + viewports.empty() ? 1u : (deUint32)scissors.size(), // deUint32 scissorCount + scissors.empty() ? DE_NULL : &scissors[0] // const VkRect2D* pScissors + }; + + const VkPipelineRasterizationStateCreateInfo rasterizationStateCreateInfoDefault = + { + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO, // VkStructureType sType + DE_NULL, // const void* pNext + 0u, // VkPipelineRasterizationStateCreateFlags flags + VK_FALSE, // VkBool32 depthClampEnable + disableRasterization, // 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 VkPipelineMultisampleStateCreateInfo multisampleStateCreateInfoDefault = + { + VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO, // VkStructureType sType + DE_NULL, // const void* pNext + 0u, // VkPipelineMultisampleStateCreateFlags flags + VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits rasterizationSamples + VK_FALSE, // VkBool32 sampleShadingEnable + 1.0f, // float minSampleShading + DE_NULL, // const VkSampleMask* pSampleMask + VK_FALSE, // VkBool32 alphaToCoverageEnable + VK_FALSE // VkBool32 alphaToOneEnable + }; + + const VkStencilOpState stencilOpState = + { + VK_STENCIL_OP_KEEP, // VkStencilOp failOp + VK_STENCIL_OP_KEEP, // VkStencilOp passOp + VK_STENCIL_OP_KEEP, // VkStencilOp depthFailOp + VK_COMPARE_OP_NEVER, // VkCompareOp compareOp + 0, // deUint32 compareMask + 0, // deUint32 writeMask + 0 // deUint32 reference + }; + + const VkPipelineDepthStencilStateCreateInfo depthStencilStateCreateInfoDefault = + { + VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO, // VkStructureType sType + DE_NULL, // const void* pNext + 0u, // VkPipelineDepthStencilStateCreateFlags flags + VK_FALSE, // VkBool32 depthTestEnable + VK_FALSE, // VkBool32 depthWriteEnable + VK_COMPARE_OP_LESS_OR_EQUAL, // VkCompareOp depthCompareOp + VK_FALSE, // VkBool32 depthBoundsTestEnable + VK_FALSE, // VkBool32 stencilTestEnable + stencilOpState, // VkStencilOpState front + stencilOpState, // VkStencilOpState back + 0.0f, // float minDepthBounds + 1.0f, // float maxDepthBounds + }; + + const VkPipelineColorBlendAttachmentState colorBlendAttachmentState = + { + VK_FALSE, // VkBool32 blendEnable + VK_BLEND_FACTOR_ZERO, // VkBlendFactor srcColorBlendFactor + VK_BLEND_FACTOR_ZERO, // VkBlendFactor dstColorBlendFactor + VK_BLEND_OP_ADD, // VkBlendOp colorBlendOp + VK_BLEND_FACTOR_ZERO, // VkBlendFactor srcAlphaBlendFactor + VK_BLEND_FACTOR_ZERO, // VkBlendFactor dstAlphaBlendFactor + VK_BLEND_OP_ADD, // VkBlendOp alphaBlendOp + VK_COLOR_COMPONENT_R_BIT // VkColorComponentFlags colorWriteMask + | VK_COLOR_COMPONENT_G_BIT + | VK_COLOR_COMPONENT_B_BIT + | VK_COLOR_COMPONENT_A_BIT + }; + + const VkPipelineColorBlendStateCreateInfo colorBlendStateCreateInfoDefault = + { + VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO, // VkStructureType sType + DE_NULL, // const void* pNext + 0u, // VkPipelineColorBlendStateCreateFlags flags + VK_FALSE, // VkBool32 logicOpEnable + VK_LOGIC_OP_CLEAR, // VkLogicOp logicOp + 1u, // deUint32 attachmentCount + &colorBlendAttachmentState, // const VkPipelineColorBlendAttachmentState* pAttachments + { 0.0f, 0.0f, 0.0f, 0.0f } // float blendConstants[4] + }; + + std::vector dynamicStates; + + if (viewports.empty()) + dynamicStates.push_back(VK_DYNAMIC_STATE_VIEWPORT); + if (scissors.empty()) + dynamicStates.push_back(VK_DYNAMIC_STATE_SCISSOR); + + const VkPipelineDynamicStateCreateInfo dynamicStateCreateInfoDefault = + { + VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO, // VkStructureType sType + DE_NULL, // const void* pNext + 0u, // VkPipelineDynamicStateCreateFlags flags + (deUint32)dynamicStates.size(), // deUint32 dynamicStateCount + dynamicStates.empty() ? DE_NULL : &dynamicStates[0] // const VkDynamicState* pDynamicStates + }; + + const VkPipelineDynamicStateCreateInfo* dynamicStateCreateInfoDefaultPtr = dynamicStates.empty() ? DE_NULL : &dynamicStateCreateInfoDefault; + + const VkGraphicsPipelineCreateInfo pipelineCreateInfo = + { + VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, // VkStructureType sType + DE_NULL, // const void* pNext + 0u, // VkPipelineCreateFlags flags + (deUint32)pipelineShaderStageParams.size(), // deUint32 stageCount + &pipelineShaderStageParams[0], // const VkPipelineShaderStageCreateInfo* pStages + vertexInputStateCreateInfo ? vertexInputStateCreateInfo : &vertexInputStateCreateInfoDefault, // const VkPipelineVertexInputStateCreateInfo* pVertexInputState + &inputAssemblyStateCreateInfo, // const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState + hasTessellation ? &tessStateCreateInfo : DE_NULL, // const VkPipelineTessellationStateCreateInfo* pTessellationState + &viewportStateCreateInfo, // const VkPipelineViewportStateCreateInfo* pViewportState + rasterizationStateCreateInfo ? rasterizationStateCreateInfo : &rasterizationStateCreateInfoDefault, // const VkPipelineRasterizationStateCreateInfo* pRasterizationState + multisampleStateCreateInfo ? multisampleStateCreateInfo: &multisampleStateCreateInfoDefault, // const VkPipelineMultisampleStateCreateInfo* pMultisampleState + depthStencilStateCreateInfo ? depthStencilStateCreateInfo : &depthStencilStateCreateInfoDefault, // const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState + colorBlendStateCreateInfo ? colorBlendStateCreateInfo : &colorBlendStateCreateInfoDefault, // const VkPipelineColorBlendStateCreateInfo* pColorBlendState + dynamicStateCreateInfo ? dynamicStateCreateInfo : dynamicStateCreateInfoDefaultPtr, // const VkPipelineDynamicStateCreateInfo* pDynamicState + pipelineLayout, // VkPipelineLayout layout + renderPass, // VkRenderPass renderPass + subpass, // deUint32 subpass + DE_NULL, // VkPipeline basePipelineHandle + 0 // deInt32 basePipelineIndex; + }; + + return createGraphicsPipeline(vk, device, DE_NULL, &pipelineCreateInfo); +} + Move makeGraphicsPipeline(Context& context, const VkPipelineLayout pipelineLayout, const VkShaderStageFlags stages, @@ -204,7 +501,13 @@ Move makeGraphicsPipeline(Context& context, const VkVertexInputBindingDescription* vertexInputBindingDescription = DE_NULL, const VkVertexInputAttributeDescription* vertexInputAttributeDescriptions = DE_NULL, const bool frameBufferTests = false, - const vk::VkFormat attachmentFormat = VK_FORMAT_R32G32B32A32_SFLOAT) + const vk::VkFormat attachmentFormat = VK_FORMAT_R32G32B32A32_SFLOAT, + const deUint32 vertexShaderStageCreateFlags = 0u, + const deUint32 tessellationControlShaderStageCreateFlags = 0u, + const deUint32 tessellationEvalShaderStageCreateFlags = 0u, + const deUint32 geometryShaderStageCreateFlags = 0u, + const deUint32 fragmentShaderStageCreateFlags = 0u, + const deUint32 requiredSubgroupSize[5] = DE_NULL) { std::vector noViewports; std::vector noScissors; @@ -243,73 +546,32 @@ Move makeGraphicsPipeline(Context& context, const deUint32 patchControlPoints = (VK_SHADER_STAGE_FRAGMENT_BIT & stages && frameBufferTests) ? 2u : 1u; - return vk::makeGraphicsPipeline(context.getDeviceInterface(), // const DeviceInterface& vk - context.getDevice(), // const VkDevice device - pipelineLayout, // const VkPipelineLayout pipelineLayout - vertexShaderModule, // const VkShaderModule vertexShaderModule - tessellationControlModule, // const VkShaderModule tessellationControlShaderModule - tessellationEvaluationModule, // const VkShaderModule tessellationEvalShaderModule - geometryShaderModule, // const VkShaderModule geometryShaderModule - fragmentShaderModule, // const VkShaderModule fragmentShaderModule - renderPass, // const VkRenderPass renderPass - noViewports, // const std::vector& viewports - noScissors, // const std::vector& scissors - topology, // const VkPrimitiveTopology topology - 0u, // const deUint32 subpass - patchControlPoints, // const deUint32 patchControlPoints - &vertexInputStateCreateInfo, // const VkPipelineVertexInputStateCreateInfo* vertexInputStateCreateInfo - DE_NULL, // const VkPipelineRasterizationStateCreateInfo* rasterizationStateCreateInfo - DE_NULL, // const VkPipelineMultisampleStateCreateInfo* multisampleStateCreateInfo - DE_NULL, // const VkPipelineDepthStencilStateCreateInfo* depthStencilStateCreateInfo - &colorBlendStateCreateInfo); // const VkPipelineColorBlendStateCreateInfo* colorBlendStateCreateInfo -} - -Move makeComputePipeline(Context& context, - const VkPipelineLayout pipelineLayout, const VkShaderModule shaderModule, - const deUint32 pipelineCreateFlags, VkPipeline basePipelineHandle, - deUint32 localSizeX, deUint32 localSizeY, deUint32 localSizeZ) -{ - const deUint32 localSize[3] = {localSizeX, localSizeY, localSizeZ}; - - const vk::VkSpecializationMapEntry entries[3] = - { - {0, sizeof(deUint32) * 0, sizeof(deUint32)}, - {1, sizeof(deUint32) * 1, sizeof(deUint32)}, - {2, static_cast(sizeof(deUint32) * 2), sizeof(deUint32)}, - }; - - const vk::VkSpecializationInfo info = - { - /* mapEntryCount = */ 3, - /* pMapEntries = */ entries, - /* dataSize = */ sizeof(localSize), - /* pData = */ localSize - }; - - const vk::VkPipelineShaderStageCreateInfo pipelineShaderStageParams = - { - VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, // VkStructureType sType; - DE_NULL, // const void* pNext; - 0u, // VkPipelineShaderStageCreateFlags flags; - VK_SHADER_STAGE_COMPUTE_BIT, // VkShaderStageFlagBits stage; - shaderModule, // VkShaderModule module; - "main", // const char* pName; - &info, // const VkSpecializationInfo* pSpecializationInfo; - }; - - const vk::VkComputePipelineCreateInfo pipelineCreateInfo = - { - VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO, // VkStructureType sType; - DE_NULL, // const void* pNext; - pipelineCreateFlags, // VkPipelineCreateFlags flags; - pipelineShaderStageParams, // VkPipelineShaderStageCreateInfo stage; - pipelineLayout, // VkPipelineLayout layout; - basePipelineHandle, // VkPipeline basePipelineHandle; - -1, // deInt32 basePipelineIndex; - }; - - return createComputePipeline(context.getDeviceInterface(), - context.getDevice(), DE_NULL, &pipelineCreateInfo); + return makeGraphicsPipeline(context.getDeviceInterface(), // const DeviceInterface& vk + context.getDevice(), // const VkDevice device + pipelineLayout, // const VkPipelineLayout pipelineLayout + vertexShaderModule, // const VkShaderModule vertexShaderModule + tessellationControlModule, // const VkShaderModule tessellationControlShaderModule + tessellationEvaluationModule, // const VkShaderModule tessellationEvalShaderModule + geometryShaderModule, // const VkShaderModule geometryShaderModule + fragmentShaderModule, // const VkShaderModule fragmentShaderModule + renderPass, // const VkRenderPass renderPass + noViewports, // const std::vector& viewports + noScissors, // const std::vector& scissors + topology, // const VkPrimitiveTopology topology + 0u, // const deUint32 subpass + patchControlPoints, // const deUint32 patchControlPoints + &vertexInputStateCreateInfo, // const VkPipelineVertexInputStateCreateInfo* vertexInputStateCreateInfo + DE_NULL, // const VkPipelineRasterizationStateCreateInfo* rasterizationStateCreateInfo + DE_NULL, // const VkPipelineMultisampleStateCreateInfo* multisampleStateCreateInfo + DE_NULL, // const VkPipelineDepthStencilStateCreateInfo* depthStencilStateCreateInfo + &colorBlendStateCreateInfo, // const VkPipelineColorBlendStateCreateInfo* colorBlendStateCreateInfo + DE_NULL, // const VkPipelineDynamicStateCreateInfo* + vertexShaderStageCreateFlags, // const deUint32 vertexShaderStageCreateFlags, + tessellationControlShaderStageCreateFlags, // const deUint32 tessellationControlShaderStageCreateFlags + tessellationEvalShaderStageCreateFlags, // const deUint32 tessellationEvalShaderStageCreateFlags + geometryShaderStageCreateFlags, // const deUint32 geometryShaderStageCreateFlags + fragmentShaderStageCreateFlags, // const deUint32 fragmentShaderStageCreateFlags + requiredSubgroupSize); // const deUint32 requiredSubgroupSize[5] } Move makeCommandBuffer( @@ -2183,12 +2445,21 @@ deUint32 getResultBinding (const VkShaderStageFlagBits shaderStage) return -1; } -tcu::TestStatus vkt::subgroups::makeTessellationEvaluationFrameBufferTest ( +tcu::TestStatus vkt::subgroups::makeTessellationEvaluationFrameBufferTest( Context& context, VkFormat format, SSBOData* extraData, - deUint32 extraDataCount, - bool (*checkResult)(std::vector datas, deUint32 width, deUint32 subgroupSize), + deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize), const VkShaderStageFlags shaderStage) { + return makeTessellationEvaluationFrameBufferTestRequiredSubgroupSize(context, format, extraData, extraDataCount, internalData, checkResult, shaderStage, 0u, 0u); +} + +tcu::TestStatus vkt::subgroups::makeTessellationEvaluationFrameBufferTestRequiredSubgroupSize( + Context& context, VkFormat format, SSBOData* extraData, + deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize), + const VkShaderStageFlags shaderStage, const deUint32 tessShaderStageCreateFlags, const deUint32 requiredSubgroupSize) +{ const DeviceInterface& vk = context.getDeviceInterface(); const VkDevice device = context.getDevice(); const deUint32 maxWidth = getMaxWidth(); @@ -2246,11 +2517,20 @@ tcu::TestStatus vkt::subgroups::makeTessellationEvaluationFrameBufferTest ( const Unique pipelineLayout (makePipelineLayout(vk, device, *descriptorSetLayout)); + const deUint32 requiredSubgroupSizes[5] = {0u, + ((shaderStage & VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) ? requiredSubgroupSize : 0u), + ((shaderStage & VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) ? requiredSubgroupSize : 0u), + 0u, + 0u}; + const Unique pipeline (makeGraphicsPipeline(context, *pipelineLayout, - VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT | - VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, - *vertexShaderModule, *fragmentShaderModule, DE_NULL, *teCtrlShaderModule, *teEvalShaderModule, - *renderPass, VK_PRIMITIVE_TOPOLOGY_PATCH_LIST, &vertexInputBinding, &vertexInputAttribute, true, format)); + VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT | + VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, + *vertexShaderModule, *fragmentShaderModule, DE_NULL, *teCtrlShaderModule, *teEvalShaderModule, + *renderPass, VK_PRIMITIVE_TOPOLOGY_PATCH_LIST, &vertexInputBinding, &vertexInputAttribute, true, format, + 0u, ((shaderStage & VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) ? tessShaderStageCreateFlags : 0u), + ((shaderStage & VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) ? tessShaderStageCreateFlags : 0u), + 0u, 0u, requiredSubgroupSize != 0u ? requiredSubgroupSizes : DE_NULL)); for (deUint32 ndx = 0u; ndx < extraDataCount; ndx++) poolBuilder.addType(inputBuffers[ndx]->getType()); @@ -2361,7 +2641,7 @@ tcu::TestStatus vkt::subgroups::makeTessellationEvaluationFrameBufferTest ( std::vector datas; datas.push_back(allocResult.getHostPtr()); - if (!checkResult(datas, width/2u, subgroupSize)) + if (!checkResult(internalData, datas, width/2u, subgroupSize)) failedIterations++; } } @@ -2408,8 +2688,18 @@ bool vkt::subgroups::checkCompute(std::vector datas, tcu::TestStatus vkt::subgroups::makeGeometryFrameBufferTest( Context& context, VkFormat format, SSBOData* extraData, - deUint32 extraDataCount, - bool (*checkResult)(std::vector datas, deUint32 width, deUint32 subgroupSize)) + deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize)) +{ + return makeGeometryFrameBufferTestRequiredSubgroupSize(context, format, extraData, extraDataCount, internalData, checkResult, + 0u, 0u); +} + +tcu::TestStatus vkt::subgroups::makeGeometryFrameBufferTestRequiredSubgroupSize( + Context& context, VkFormat format, SSBOData* extraData, + deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize), + const deUint32 geometryShaderStageCreateFlags, const deUint32 requiredSubgroupSize) { const DeviceInterface& vk = context.getDeviceInterface(); const VkDevice device = context.getDevice(); @@ -2462,10 +2752,14 @@ tcu::TestStatus vkt::subgroups::makeGeometryFrameBufferTest( const Unique pipelineLayout (makePipelineLayout(vk, device, *descriptorSetLayout)); + const deUint32 requiredSubgroupSizes[5] = {0u, 0u, 0u, requiredSubgroupSize, 0u}; + const Unique pipeline (makeGraphicsPipeline(context, *pipelineLayout, - VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_GEOMETRY_BIT, - *vertexShaderModule, *fragmentShaderModule, *geometryShaderModule, DE_NULL, DE_NULL, - *renderPass, VK_PRIMITIVE_TOPOLOGY_POINT_LIST, &vertexInputBinding, &vertexInputAttribute, true, format)); + VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_GEOMETRY_BIT, + *vertexShaderModule, *fragmentShaderModule, *geometryShaderModule, DE_NULL, DE_NULL, + *renderPass, VK_PRIMITIVE_TOPOLOGY_POINT_LIST, &vertexInputBinding, &vertexInputAttribute, true, format, + 0u, 0u, 0u, geometryShaderStageCreateFlags, 0u, + requiredSubgroupSize != 0u ? requiredSubgroupSizes : DE_NULL)); for (deUint32 ndx = 0u; ndx < extraDataCount; ndx++) poolBuilder.addType(inputBuffers[ndx]->getType()); @@ -2582,7 +2876,7 @@ tcu::TestStatus vkt::subgroups::makeGeometryFrameBufferTest( std::vector datas; datas.push_back(allocResult.getHostPtr()); - if (!checkResult(datas, width, subgroupSize)) + if (!checkResult(internalData, datas, width, subgroupSize)) failedIterations++; } } @@ -2601,12 +2895,27 @@ tcu::TestStatus vkt::subgroups::makeGeometryFrameBufferTest( return tcu::TestStatus::pass("OK"); } - tcu::TestStatus vkt::subgroups::allStages( + Context& context, VkFormat format, SSBOData* extraData, + deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize), + const vk::VkShaderStageFlags shaderStage) +{ + return vkt::subgroups::allStagesRequiredSubgroupSize(context, format, extraData, extraDataCount, internalData, checkResult, shaderStage, + 0u, 0u, 0u, 0u, 0u, DE_NULL); +} + +tcu::TestStatus vkt::subgroups::allStagesRequiredSubgroupSize( Context& context, VkFormat format, SSBOData* extraDatas, - deUint32 extraDatasCount, - bool (*checkResult)(std::vector datas, deUint32 width, deUint32 subgroupSize), - const VkShaderStageFlags shaderStageTested) + deUint32 extraDatasCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize), + const VkShaderStageFlags shaderStageTested, + const deUint32 vertexShaderStageCreateFlags, + const deUint32 tessellationControlShaderStageCreateFlags, + const deUint32 tessellationEvalShaderStageCreateFlags, + const deUint32 geometryShaderStageCreateFlags, + const deUint32 fragmentShaderStageCreateFlags, + const deUint32 requiredSubgroupSize[5]) { const DeviceInterface& vk = context.getDeviceInterface(); const VkDevice device = context.getDevice(); @@ -2717,10 +3026,13 @@ tcu::TestStatus vkt::subgroups::allStages( const Unique renderPass(makeRenderPass(context, format)); const Unique pipeline(makeGraphicsPipeline(context, *pipelineLayout, - shaderStageRequired, - *vertexShaderModule, *fragmentShaderModule, *geometryShaderModule, *teCtrlShaderModule, *teEvalShaderModule, - *renderPass, - (shaderStageRequired & VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) ? VK_PRIMITIVE_TOPOLOGY_PATCH_LIST : VK_PRIMITIVE_TOPOLOGY_POINT_LIST)); + shaderStageRequired, + *vertexShaderModule, *fragmentShaderModule, *geometryShaderModule, *teCtrlShaderModule, *teEvalShaderModule, + *renderPass, + (shaderStageRequired & VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) ? VK_PRIMITIVE_TOPOLOGY_PATCH_LIST : VK_PRIMITIVE_TOPOLOGY_POINT_LIST, + DE_NULL, DE_NULL, false, VK_FORMAT_R32G32B32A32_SFLOAT, + vertexShaderStageCreateFlags, tessellationControlShaderStageCreateFlags, tessellationEvalShaderStageCreateFlags, + geometryShaderStageCreateFlags, fragmentShaderStageCreateFlags, requiredSubgroupSize)); Move descriptorPool; Move descriptorSet; @@ -2861,7 +3173,7 @@ tcu::TestStatus vkt::subgroups::allStages( } } - if (!checkResult(datas, (stagesVector[ndx] == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) ? width * 2 : width , subgroupSize)) + if (!checkResult(internalData, datas, (stagesVector[ndx] == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) ? width * 2 : width , subgroupSize)) failedIterations++; } if (shaderStageTested & VK_SHADER_STAGE_FRAGMENT_BIT) @@ -2885,7 +3197,7 @@ tcu::TestStatus vkt::subgroups::allStages( } } - if (!checkResult(datas, width, subgroupSize)) + if (!checkResult(internalData, datas, width, subgroupSize)) failedIterations++; } @@ -2908,8 +3220,17 @@ tcu::TestStatus vkt::subgroups::allStages( } tcu::TestStatus vkt::subgroups::makeVertexFrameBufferTest(Context& context, vk::VkFormat format, - SSBOData* extraData, deUint32 extraDataCount, - bool (*checkResult)(std::vector datas, deUint32 width, deUint32 subgroupSize)) + SSBOData* extraData, deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize)) +{ + return makeVertexFrameBufferTestRequiredSubgroupSize(context, format, extraData, extraDataCount, internalData, checkResult, + 0u, 0u); +} + +tcu::TestStatus vkt::subgroups::makeVertexFrameBufferTestRequiredSubgroupSize(Context& context, vk::VkFormat format, + SSBOData* extraData, deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize), + const deUint32 vertexShaderStageCreateFlags, const deUint32 requiredSubgroupSize) { const DeviceInterface& vk = context.getDeviceInterface(); const VkDevice device = context.getDevice(); @@ -2959,12 +3280,15 @@ tcu::TestStatus vkt::subgroups::makeVertexFrameBufferTest(Context& context, vk:: const Unique pipelineLayout (makePipelineLayout(vk, device, *descriptorSetLayout)); + const deUint32 requiredSubgroupSizes[5] = {requiredSubgroupSize, 0u, 0u, 0u, 0u}; const Unique pipeline (makeGraphicsPipeline(context, *pipelineLayout, - VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT, - *vertexShaderModule, *fragmentShaderModule, - DE_NULL, DE_NULL, DE_NULL, - *renderPass, VK_PRIMITIVE_TOPOLOGY_POINT_LIST, - &vertexInputBinding, &vertexInputAttribute, true, format)); + VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT, + *vertexShaderModule, *fragmentShaderModule, + DE_NULL, DE_NULL, DE_NULL, + *renderPass, VK_PRIMITIVE_TOPOLOGY_POINT_LIST, + &vertexInputBinding, &vertexInputAttribute, true, format, + vertexShaderStageCreateFlags, 0u, 0u, 0u, 0u, + requiredSubgroupSize != 0u ? requiredSubgroupSizes : DE_NULL)); DescriptorPoolBuilder poolBuilder; DescriptorSetUpdateBuilder updateBuilder; @@ -3094,7 +3418,7 @@ tcu::TestStatus vkt::subgroups::makeVertexFrameBufferTest(Context& context, vk:: std::vector datas; datas.push_back(allocResult.getHostPtr()); - if (!checkResult(datas, width, subgroupSize)) + if (!checkResult(internalData, datas, width, subgroupSize)) failedIterations++; } } @@ -3113,12 +3437,23 @@ tcu::TestStatus vkt::subgroups::makeVertexFrameBufferTest(Context& context, vk:: return tcu::TestStatus::pass("OK"); } - -tcu::TestStatus vkt::subgroups::makeFragmentFrameBufferTest (Context& context, VkFormat format, SSBOData* extraDatas, - deUint32 extraDatasCount, - bool (*checkResult)(std::vector datas, deUint32 width, +tcu::TestStatus vkt::subgroups::makeFragmentFrameBufferTest( + Context& context, VkFormat format, SSBOData* extraDatas, + deUint32 extraDatasCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 height, deUint32 subgroupSize)) { + return makeFragmentFrameBufferTestRequiredSubgroupSize(context, format, extraDatas, extraDatasCount, internalData, checkResult, + 0u, 0u); +} + +tcu::TestStatus vkt::subgroups::makeFragmentFrameBufferTestRequiredSubgroupSize( + Context& context, VkFormat format, SSBOData* extraDatas, + deUint32 extraDatasCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, + deUint32 height, deUint32 subgroupSize), + const deUint32 fragmentShaderStageCreateFlags, const deUint32 requiredSubgroupSize) +{ const DeviceInterface& vk = context.getDeviceInterface(); const VkDevice device = context.getDevice(); const VkQueue queue = context.getUniversalQueue(); @@ -3163,10 +3498,13 @@ tcu::TestStatus vkt::subgroups::makeFragmentFrameBufferTest (Context& context, V makePipelineLayout(vk, device, *descriptorSetLayout)); const Unique renderPass(makeRenderPass(context, format)); + + const deUint32 requiredSubgroupSizes[5] = {0u, 0u, 0u, 0u, requiredSubgroupSize}; const Unique pipeline(makeGraphicsPipeline(context, *pipelineLayout, - VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT, - *vertexShaderModule, *fragmentShaderModule, DE_NULL, DE_NULL, DE_NULL, *renderPass, VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP, - DE_NULL, DE_NULL, true)); + VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT, + *vertexShaderModule, *fragmentShaderModule, DE_NULL, DE_NULL, DE_NULL, *renderPass, VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP, + DE_NULL, DE_NULL, true, VK_FORMAT_R32G32B32A32_SFLOAT, + 0u, 0u, 0u, 0u, fragmentShaderStageCreateFlags, requiredSubgroupSize != 0u ? requiredSubgroupSizes : DE_NULL)); DescriptorPoolBuilder poolBuilder; @@ -3295,7 +3633,7 @@ tcu::TestStatus vkt::subgroups::makeFragmentFrameBufferTest (Context& context, V datas.push_back(resultAlloc.getHostPtr()); } - if (!checkResult(datas, width, height, subgroupSize)) + if (!checkResult(internalData, datas, width, height, subgroupSize)) { failedIterations++; } @@ -3318,11 +3656,68 @@ tcu::TestStatus vkt::subgroups::makeFragmentFrameBufferTest (Context& context, V return tcu::TestStatus::pass("OK"); } -tcu::TestStatus vkt::subgroups::makeComputeTest( - Context& context, VkFormat format, SSBOData* inputs, deUint32 inputsCount, - bool (*checkResult)(std::vector datas, +Move makeComputePipeline(Context& context, + const VkPipelineLayout pipelineLayout, const VkShaderModule shaderModule, + const deUint32 pipelineShaderStageFlags, const deUint32 pipelineCreateFlags, VkPipeline basePipelineHandle, + deUint32 localSizeX, deUint32 localSizeY, deUint32 localSizeZ, deUint32 requiredSubgroupSize) +{ + const deUint32 localSize[3] = {localSizeX, localSizeY, localSizeZ}; + + const vk::VkSpecializationMapEntry entries[3] = + { + {0, sizeof(deUint32) * 0, sizeof(deUint32)}, + {1, sizeof(deUint32) * 1, sizeof(deUint32)}, + {2, static_cast(sizeof(deUint32) * 2), sizeof(deUint32)}, + }; + + const vk::VkSpecializationInfo info = + { + /* mapEntryCount = */ 3, + /* pMapEntries = */ entries, + /* dataSize = */ sizeof(localSize), + /* pData = */ localSize + }; + + const vk::VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT subgroupSizeCreateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT, // VkStructureType sType; + DE_NULL, // void* pNext; + requiredSubgroupSize // uint32_t requiredSubgroupSize; + }; + + const vk::VkPipelineShaderStageCreateInfo pipelineShaderStageParams = + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, // VkStructureType sType; + (requiredSubgroupSize != 0u ? &subgroupSizeCreateInfo : DE_NULL), // const void* pNext; + pipelineShaderStageFlags, // VkPipelineShaderStageCreateFlags flags; + VK_SHADER_STAGE_COMPUTE_BIT, // VkShaderStageFlagBits stage; + shaderModule, // VkShaderModule module; + "main", // const char* pName; + &info, // const VkSpecializationInfo* pSpecializationInfo; + }; + + const vk::VkComputePipelineCreateInfo pipelineCreateInfo = + { + VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + pipelineCreateFlags, // VkPipelineCreateFlags flags; + pipelineShaderStageParams, // VkPipelineShaderStageCreateInfo stage; + pipelineLayout, // VkPipelineLayout layout; + basePipelineHandle, // VkPipeline basePipelineHandle; + 0, // deInt32 basePipelineIndex; + }; + + return createComputePipeline(context.getDeviceInterface(), + context.getDevice(), DE_NULL, &pipelineCreateInfo); +} + +tcu::TestStatus vkt::subgroups::makeComputeTestRequiredSubgroupSize( + Context& context, VkFormat format, SSBOData* inputs, deUint32 inputsCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], - deUint32 subgroupSize)) + deUint32 subgroupSize), + const deUint32 pipelineShaderStageCreateFlags, const deUint32 numWorkgroups[3], + const deBool isRequiredSubgroupSize, const deUint32 subgroupSize, const deUint32 localSizesToTest[][3], const deUint32 localSizesToTestCount) { const DeviceInterface& vk = context.getDeviceInterface(); const VkDevice device = context.getDevice(); @@ -3330,9 +3725,25 @@ tcu::TestStatus vkt::subgroups::makeComputeTest( const deUint32 queueFamilyIndex = context.getUniversalQueueFamilyIndex(); VkDeviceSize elementSize = getFormatSizeInBytes(format); - const VkDeviceSize resultBufferSize = maxSupportedSubgroupSize() * - maxSupportedSubgroupSize() * - maxSupportedSubgroupSize(); + VkDeviceSize maxSubgroupSize = maxSupportedSubgroupSize(); + + if (isRequiredSubgroupSize) + { + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + + VkPhysicalDeviceProperties2 properties2; + properties2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties2.pNext = &subgroupSizeControlProperties; + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties2); + maxSubgroupSize = deMax32(subgroupSizeControlProperties.maxSubgroupSize, static_cast(maxSubgroupSize)); + } + + const VkDeviceSize resultBufferSize = maxSubgroupSize * + maxSubgroupSize * + maxSubgroupSize; + const VkDeviceSize resultBufferSizeInBytes = resultBufferSize * elementSize; Buffer resultBuffer( @@ -3435,31 +3846,15 @@ tcu::TestStatus vkt::subgroups::makeComputeTest( unsigned totalIterations = 0; unsigned failedIterations = 0; - const deUint32 subgroupSize = getSubgroupSize(context); - const Unique cmdBuffer( makeCommandBuffer(context, *cmdPool)); - const deUint32 numWorkgroups[3] = {4, 2, 2}; - - const deUint32 localSizesToTestCount = 8; - deUint32 localSizesToTest[localSizesToTestCount][3] = - { - {1, 1, 1}, - {subgroupSize, 1, 1}, - {1, subgroupSize, 1}, - {1, 1, subgroupSize}, - {32, 4, 1}, - {1, 4, 32}, - {3, 5, 7}, - {1, 1, 1} // Isn't used, just here to make double buffering checks easier - }; - - Move pipelines[localSizesToTestCount - 1]; + Move *pipelines = new Move[localSizesToTestCount - 1]; pipelines[0] = makeComputePipeline(context, *pipelineLayout, *shaderModule, - VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT, (VkPipeline) DE_NULL, - localSizesToTest[0][0], localSizesToTest[0][1], localSizesToTest[0][2]); + pipelineShaderStageCreateFlags, VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT, (VkPipeline) DE_NULL, + localSizesToTest[0][0], localSizesToTest[0][1], localSizesToTest[0][2], + isRequiredSubgroupSize ? subgroupSize : 0u); for (deUint32 index = 1; index < (localSizesToTestCount - 1); index++) { @@ -3469,8 +3864,9 @@ tcu::TestStatus vkt::subgroups::makeComputeTest( pipelines[index] = makeComputePipeline(context, *pipelineLayout, *shaderModule, - VK_PIPELINE_CREATE_DERIVATIVE_BIT, *pipelines[0], - nextX, nextY, nextZ); + pipelineShaderStageCreateFlags, VK_PIPELINE_CREATE_DERIVATIVE_BIT, *pipelines[0], + nextX, nextY, nextZ, + isRequiredSubgroupSize ? subgroupSize : 0u); } for (deUint32 index = 0; index < (localSizesToTestCount - 1); index++) @@ -3515,7 +3911,7 @@ tcu::TestStatus vkt::subgroups::makeComputeTest( } } - if (!checkResult(datas, numWorkgroups, localSizesToTest[index], subgroupSize)) + if (!checkResult(internalData, datas, numWorkgroups, localSizesToTest[index], subgroupSize)) { failedIterations++; } @@ -3523,6 +3919,8 @@ tcu::TestStatus vkt::subgroups::makeComputeTest( vk.resetCommandBuffer(*cmdBuffer, 0); } + delete[] pipelines; + if (0 < failedIterations) { unsigned valuesPassed = (failedIterations > totalIterations) ? 0u : (totalIterations - failedIterations); @@ -3536,3 +3934,33 @@ tcu::TestStatus vkt::subgroups::makeComputeTest( return tcu::TestStatus::pass("OK"); } + +tcu::TestStatus vkt::subgroups::makeComputeTest( + Context& context, VkFormat format, SSBOData* inputs, deUint32 inputsCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, + const deUint32 numWorkgroups[3], const deUint32 localSize[3], + deUint32 subgroupSize), + deUint32 requiredSubgroupSize, const deUint32 pipelineShaderStageCreateFlags) +{ + const deUint32 numWorkgroups[3] = {4, 2, 2}; + deUint32 subgroupSize = requiredSubgroupSize; + + if(requiredSubgroupSize == 0) + subgroupSize = vkt::subgroups::getSubgroupSize(context); + + const deUint32 localSizesToTestCount = 8; + deUint32 localSizesToTest[localSizesToTestCount][3] = + { + {1, 1, 1}, + {subgroupSize, 1, 1}, + {1, subgroupSize, 1}, + {1, 1, subgroupSize}, + {32, 4, 1}, + {1, 4, 32}, + {3, 5, 7}, + {1, 1, 1} // Isn't used, just here to make double buffering checks easier + }; + + return makeComputeTestRequiredSubgroupSize(context, format, inputs, inputsCount, internalData, checkResult, pipelineShaderStageCreateFlags, + numWorkgroups, requiredSubgroupSize != 0u, subgroupSize, localSizesToTest, localSizesToTestCount); +} diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTestsUtils.hpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTestsUtils.hpp index 80e48e1..5c77148 100644 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTestsUtils.hpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTestsUtils.hpp @@ -173,34 +173,78 @@ bool checkCompute(std::vector datas, deUint32 ref); tcu::TestStatus makeTessellationEvaluationFrameBufferTest(Context& context, vk::VkFormat format, - SSBOData* extraData, deUint32 extraDataCount, - bool (*checkResult)(std::vector datas, deUint32 width, deUint32 subgroupSize), + SSBOData* extraData, deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize), const vk::VkShaderStageFlags shaderStage = vk::VK_SHADER_STAGE_ALL_GRAPHICS); tcu::TestStatus makeGeometryFrameBufferTest(Context& context, vk::VkFormat format, SSBOData* extraData, - deUint32 extraDataCount, - bool (*checkResult)(std::vector datas, deUint32 width, deUint32 subgroupSize)); + deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize)); tcu::TestStatus allStages(Context& context, vk::VkFormat format, - SSBOData* extraData, deUint32 extraDataCount, - bool (*checkResult)(std::vector datas, deUint32 width, deUint32 subgroupSize), + SSBOData* extraData, deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize), const vk::VkShaderStageFlags shaderStage); tcu::TestStatus makeVertexFrameBufferTest(Context& context, vk::VkFormat format, - SSBOData* extraData, deUint32 extraDataCount, - bool (*checkResult)(std::vector datas, deUint32 width, deUint32 subgroupSize)); + SSBOData* extraData, deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize)); tcu::TestStatus makeFragmentFrameBufferTest(Context& context, vk::VkFormat format, - SSBOData* extraData, deUint32 extraDataCount, - bool (*checkResult)(std::vector datas, deUint32 width, - deUint32 height, deUint32 subgroupSize)); + SSBOData* extraData, deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, + deUint32 height, deUint32 subgroupSize)); tcu::TestStatus makeComputeTest( Context& context, vk::VkFormat format, SSBOData* inputs, - deUint32 inputsCount, - bool (*checkResult)(std::vector datas, + deUint32 inputsCount,const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], - deUint32 subgroupSize)); + deUint32 subgroupSize), + deUint32 requiredSubgroupSize = 0u, const deUint32 pipelineShaderStageCreateFlags = 0u); + +/* Functions needed for VK_EXT_subgroup_size_control tests */ +tcu::TestStatus makeTessellationEvaluationFrameBufferTestRequiredSubgroupSize(Context& context, vk::VkFormat format, + SSBOData* extraData, deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize), + const vk::VkShaderStageFlags shaderStage = vk::VK_SHADER_STAGE_ALL_GRAPHICS, + const deUint32 tessShaderStageCreateFlags = 0u, const deUint32 requiredSubgroupSize = 0u); + +tcu::TestStatus makeGeometryFrameBufferTestRequiredSubgroupSize(Context& context, vk::VkFormat format, SSBOData* extraData, + deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize), + const deUint32 geometryShaderStageCreateFlags = 0u, const deUint32 requiredSubgroupSize = 0u); + +tcu::TestStatus allStagesRequiredSubgroupSize(Context& context, vk::VkFormat format, + SSBOData* extraData, deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize), + const vk::VkShaderStageFlags shaderStage, + const deUint32 vertexShaderStageCreateFlags, + const deUint32 tessellationControlShaderStageCreateFlags, + const deUint32 tessellationEvalShaderStageCreateFlags, + const deUint32 geometryShaderStageCreateFlags, + const deUint32 fragmentShaderStageCreateFlags, + const deUint32 requiredSubgroupSize[5]); + +tcu::TestStatus makeVertexFrameBufferTestRequiredSubgroupSize(Context& context, vk::VkFormat format, + SSBOData* extraData, deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, deUint32 subgroupSize), + const deUint32 vertexShaderStageCreateFlags = 0u, + const deUint32 requiredSubgroupSize = 0u); + +tcu::TestStatus makeFragmentFrameBufferTestRequiredSubgroupSize(Context& context, vk::VkFormat format, + SSBOData* extraData, deUint32 extraDataCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, deUint32 width, + deUint32 height, deUint32 subgroupSize), + const deUint32 fragmentShaderStageCreateFlags = 0u, const deUint32 requiredSubgroupSize = 0u); + +tcu::TestStatus makeComputeTestRequiredSubgroupSize( + Context& context, vk::VkFormat format, SSBOData* inputs, deUint32 inputsCount, const void* internalData, + bool (*checkResult)(const void* internalData, std::vector datas, + const deUint32 numWorkgroups[3], const deUint32 localSize[3], + deUint32 subgroupSize), + const deUint32 pipelineShaderStageCreateFlags, const deUint32 numWorkgroups[3], + const deBool isRequiredSubgroupSize, const deUint32 subgroupSize, const deUint32 localSizesToTest[][3], const deUint32 localSizesToTestCount); } // subgroups } // vkt diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsVoteTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsVoteTests.cpp index d4308b3..8479a40 100755 --- a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsVoteTests.cpp +++ b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsVoteTests.cpp @@ -48,15 +48,17 @@ enum OpType OPTYPE_LAST }; -static bool checkVertexPipelineStages(std::vector datas, +static bool checkVertexPipelineStages(const void* internalData, std::vector datas, deUint32 width, deUint32) { + DE_UNREF(internalData); return vkt::subgroups::check(datas, width, 0x1F); } -static bool checkFragmentPipelineStages(std::vector datas, +static bool checkFragmentPipelineStages(const void* internalData, std::vector datas, deUint32 width, deUint32 height, deUint32) { + DE_UNREF(internalData); const deUint32* data = reinterpret_cast(datas[0]); for (deUint32 x = 0u; x < width; ++x) @@ -81,10 +83,11 @@ static bool checkFragmentPipelineStages(std::vector datas, return true; } -static bool checkCompute(std::vector datas, +static bool checkCompute(const void* internalData, std::vector datas, const deUint32 numWorkgroups[3], const deUint32 localSize[3], deUint32) { + DE_UNREF(internalData); return vkt::subgroups::checkCompute(datas, numWorkgroups, localSize, 0x1F); } @@ -116,6 +119,7 @@ struct CaseDefinition VkShaderStageFlags shaderStage; VkFormat format; de::SharedPtr geometryPointSizeSupported; + deBool requiredSubgroupSize; }; bool fmtIsBoolean(VkFormat format) @@ -617,6 +621,27 @@ void supportedCheck (Context& context, CaseDefinition caseDef) context.requireDeviceFunctionality("VK_EXT_shader_subgroup_vote"); } + if (caseDef.requiredSubgroupSize) + { + if (!context.requireDeviceFunctionality("VK_EXT_subgroup_size_control")) + TCU_THROW(NotSupportedError, "Device does not support VK_EXT_subgroup_size_control extension"); + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControlFeatures; + subgroupSizeControlFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; + subgroupSizeControlFeatures.pNext = DE_NULL; + + VkPhysicalDeviceFeatures2 features; + features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + features.pNext = &subgroupSizeControlFeatures; + + context.getInstanceInterface().getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &features); + + if (subgroupSizeControlFeatures.subgroupSizeControl == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support varying subgroup sizes nor required subgroup size"); + + if (subgroupSizeControlFeatures.computeFullSubgroups == DE_FALSE) + TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders"); + } + *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context); } @@ -651,15 +676,15 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) inputData.initializeType = (OPTYPE_ALLEQUAL == caseDef.opType || OPTYPE_ALLEQUAL_ARB == caseDef.opType) ? subgroups::SSBOData::InitializeZero : subgroups::SSBOData::InitializeNonZero; if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage) - return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages); + return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage) - return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages); + return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages); else if (VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT); else if (VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT == caseDef.shaderStage) - return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); + return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT); else if (VK_SHADER_STAGE_FRAGMENT_BIT == caseDef.shaderStage) - return subgroups::makeFragmentFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkFragmentPipelineStages); + return subgroups::makeFragmentFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkFragmentPipelineStages); else TCU_THROW(InternalError, "Unhandled shader stage"); } @@ -682,8 +707,35 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData.numElements = subgroups::maxSupportedSubgroupSize(); inputData.initializeType = (OPTYPE_ALLEQUAL == caseDef.opType || OPTYPE_ALLEQUAL_ARB == caseDef.opType) ? subgroups::SSBOData::InitializeZero : subgroups::SSBOData::InitializeNonZero; - return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, - 1, checkCompute); + if (caseDef.requiredSubgroupSize == DE_FALSE) + return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, + 1, DE_NULL, checkCompute); + + tcu::TestLog& log = context.getTestContext().getLog(); + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT subgroupSizeControlProperties; + subgroupSizeControlProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; + subgroupSizeControlProperties.pNext = DE_NULL; + VkPhysicalDeviceProperties2 properties; + properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + properties.pNext = &subgroupSizeControlProperties; + + context.getInstanceInterface().getPhysicalDeviceProperties2(context.getPhysicalDevice(), &properties); + + log << tcu::TestLog::Message << "Testing required subgroup size range [" << subgroupSizeControlProperties.minSubgroupSize << ", " + << subgroupSizeControlProperties.maxSubgroupSize << "]" << tcu::TestLog::EndMessage; + + // According to the spec, requiredSubgroupSize must be a power-of-two integer. + for (deUint32 size = subgroupSizeControlProperties.minSubgroupSize; size <= subgroupSizeControlProperties.maxSubgroupSize; size *= 2) + { + tcu::TestStatus result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkCompute, + size, VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT); + if (result.getCode() != QP_TEST_RESULT_PASS) + { + log << tcu::TestLog::Message << "subgroupSize " << size << " failed" << tcu::TestLog::EndMessage; + return result; + } + } + return tcu::TestStatus::pass("OK"); } else { @@ -718,7 +770,7 @@ tcu::TestStatus test(Context& context, const CaseDefinition caseDef) inputData.binding = 4u; inputData.stages = stages; - return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, stages); + return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, stages); } } } @@ -790,23 +842,31 @@ tcu::TestCaseGroup* createSubgroupsVoteTests(tcu::TestContext& testCtx) const std::string op = de::toLower(getOpTypeName(opTypeIndex)); { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, de::SharedPtr(new bool)}; + CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, de::SharedPtr(new bool), DE_FALSE}; if (opTypeIndex < OPTYPE_LAST_NON_ARB) { addFunctionCaseWithPrograms(computeGroup.get(), op + "_" + subgroups::getFormatNameForGLSL(format), "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroup.get(), + op + "_" + subgroups::getFormatNameForGLSL(format) + "_requiredsubgroupsize", + "", supportedCheck, initPrograms, test, caseDef); } else { addFunctionCaseWithPrograms(computeGroupARB.get(), op + "_" + subgroups::getFormatNameForGLSL(format), "", supportedCheck, initPrograms, test, caseDef); + caseDef.requiredSubgroupSize = DE_TRUE; + addFunctionCaseWithPrograms(computeGroupARB.get(), + op + "_" + subgroups::getFormatNameForGLSL(format) + "_requiredsubgroupsize", + "", supportedCheck, initPrograms, test, caseDef); } } { - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format, de::SharedPtr(new bool), DE_FALSE}; if (opTypeIndex < OPTYPE_LAST_NON_ARB) { addFunctionCaseWithPrograms(graphicGroup.get(), @@ -823,7 +883,7 @@ tcu::TestCaseGroup* createSubgroupsVoteTests(tcu::TestContext& testCtx) for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex) { - const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, de::SharedPtr(new bool), DE_FALSE}; if (opTypeIndex < OPTYPE_LAST_NON_ARB) { addFunctionCaseWithPrograms(framebufferGroup.get(), @@ -842,7 +902,7 @@ tcu::TestCaseGroup* createSubgroupsVoteTests(tcu::TestContext& testCtx) } } - const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_FRAGMENT_BIT, format, de::SharedPtr(new bool)}; + const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_FRAGMENT_BIT, format, de::SharedPtr(new bool), DE_FALSE}; if (opTypeIndex < OPTYPE_LAST_NON_ARB) { addFunctionCaseWithPrograms(fragHelperGroup.get(), diff --git a/external/vulkancts/mustpass/master/vk-default-no-waivers.txt b/external/vulkancts/mustpass/master/vk-default-no-waivers.txt index 5e4b526..56566d2 100644 --- a/external/vulkancts/mustpass/master/vk-default-no-waivers.txt +++ b/external/vulkancts/mustpass/master/vk-default-no-waivers.txt @@ -508168,9 +508168,13 @@ dEQP-VK.multiview.renderpass2.index.tesellation_shader.max_multi_view_view_count dEQP-VK.subgroups.builtin_var.graphics.subgroupsize dEQP-VK.subgroups.builtin_var.graphics.subgroupinvocationid dEQP-VK.subgroups.builtin_var.compute.subgroupsize_compute +dEQP-VK.subgroups.builtin_var.compute.subgroupsize_compute_requiredsubgroupsize dEQP-VK.subgroups.builtin_var.compute.subgroupinvocationid_compute +dEQP-VK.subgroups.builtin_var.compute.subgroupinvocationid_compute_requiredsubgroupsize dEQP-VK.subgroups.builtin_var.compute.numsubgroups +dEQP-VK.subgroups.builtin_var.compute.numsubgroups_requiredsubgroupsize dEQP-VK.subgroups.builtin_var.compute.subgroupid +dEQP-VK.subgroups.builtin_var.compute.subgroupid_requiredsubgroupsize dEQP-VK.subgroups.builtin_var.framebuffer.subgroupsize_vertex dEQP-VK.subgroups.builtin_var.framebuffer.subgroupsize_tess_eval dEQP-VK.subgroups.builtin_var.framebuffer.subgroupsize_tess_control @@ -508185,10 +508189,15 @@ dEQP-VK.subgroups.builtin_mask_var.graphics.subgroupgtmask dEQP-VK.subgroups.builtin_mask_var.graphics.subgrouplemask dEQP-VK.subgroups.builtin_mask_var.graphics.subgroupltmask dEQP-VK.subgroups.builtin_mask_var.compute.subgroupeqmask +dEQP-VK.subgroups.builtin_mask_var.compute.subgroupeqmask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.compute.subgroupgemask +dEQP-VK.subgroups.builtin_mask_var.compute.subgroupgemask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.compute.subgroupgtmask +dEQP-VK.subgroups.builtin_mask_var.compute.subgroupgtmask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.compute.subgrouplemask +dEQP-VK.subgroups.builtin_mask_var.compute.subgrouplemask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.compute.subgroupltmask +dEQP-VK.subgroups.builtin_mask_var.compute.subgroupltmask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.framebuffer.subgroupeqmask_vertex dEQP-VK.subgroups.builtin_mask_var.framebuffer.subgroupeqmask_tess_eval dEQP-VK.subgroups.builtin_mask_var.framebuffer.subgroupeqmask_tess_control @@ -508215,11 +508224,17 @@ dEQP-VK.subgroups.basic.graphics.subgroupmemorybarrier dEQP-VK.subgroups.basic.graphics.subgroupmemorybarrierbuffer dEQP-VK.subgroups.basic.graphics.subgroupmemorybarrierimage dEQP-VK.subgroups.basic.compute.subgroupelect +dEQP-VK.subgroups.basic.compute.subgroupelect_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupbarrier +dEQP-VK.subgroups.basic.compute.subgroupbarrier_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupmemorybarrier +dEQP-VK.subgroups.basic.compute.subgroupmemorybarrier_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupmemorybarrierbuffer +dEQP-VK.subgroups.basic.compute.subgroupmemorybarrierbuffer_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupmemorybarriershared +dEQP-VK.subgroups.basic.compute.subgroupmemorybarriershared_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupmemorybarrierimage +dEQP-VK.subgroups.basic.compute.subgroupmemorybarrierimage_requiredsubgroupsize dEQP-VK.subgroups.basic.framebuffer.subgroupelect_vertex dEQP-VK.subgroups.basic.framebuffer.subgroupelect_tess_eval dEQP-VK.subgroups.basic.framebuffer.subgroupelect_tess_control @@ -508295,55 +508310,105 @@ dEQP-VK.subgroups.vote.graphics.subgroupallequal_bvec2 dEQP-VK.subgroups.vote.graphics.subgroupallequal_bvec3 dEQP-VK.subgroups.vote.graphics.subgroupallequal_bvec4 dEQP-VK.subgroups.vote.compute.subgroupallequal_int8_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_int8_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uint8_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_int16_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_int16_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uint16_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_int +dEQP-VK.subgroups.vote.compute.subgroupallequal_int_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupall_uint +dEQP-VK.subgroups.vote.compute.subgroupall_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupany_uint +dEQP-VK.subgroups.vote.compute.subgroupany_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uint +dEQP-VK.subgroups.vote.compute.subgroupallequal_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_int64_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_int64_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uint64_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_float16_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_float16_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_float +dEQP-VK.subgroups.vote.compute.subgroupallequal_float_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_double +dEQP-VK.subgroups.vote.compute.subgroupallequal_double_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_bool +dEQP-VK.subgroups.vote.compute.subgroupallequal_bool_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec4_requiredsubgroupsize dEQP-VK.subgroups.vote.framebuffer.subgroupallequal_int8_t_vertex dEQP-VK.subgroups.vote.framebuffer.subgroupallequal_int8_t_tess_eval dEQP-VK.subgroups.vote.framebuffer.subgroupallequal_int8_t_tess_control @@ -508598,8 +508663,11 @@ dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.graphics.allinvocationsarb_uint dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.graphics.anyinvocationarb_uint dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.graphics.allinvocationsequalarb_bool dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.allinvocationsarb_uint +dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.allinvocationsarb_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.anyinvocationarb_uint +dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.anyinvocationarb_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.allinvocationsequalarb_bool +dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.allinvocationsequalarb_bool_requiredsubgroupsize dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.framebuffer.allinvocationsarb_uint_vertex dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.framebuffer.allinvocationsarb_uint_tess_eval dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.framebuffer.allinvocationsarb_uint_tess_control @@ -508617,12 +508685,14 @@ dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.frag_helper.anyinvocationarb_uin dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.frag_helper.allinvocationsequalarb_bool_fragment dEQP-VK.subgroups.ballot.graphics.graphic dEQP-VK.subgroups.ballot.compute.compute +dEQP-VK.subgroups.ballot.compute.compute_requiredsubgroupsize dEQP-VK.subgroups.ballot.framebuffer.tess_eval dEQP-VK.subgroups.ballot.framebuffer.tess_control dEQP-VK.subgroups.ballot.framebuffer.geometry dEQP-VK.subgroups.ballot.framebuffer.vertex dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.graphics.graphic dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.compute.compute +dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.compute.compute_requiredsubgroupsize dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.framebuffer.tess_eval dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.framebuffer.tess_control dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.framebuffer.geometry @@ -508772,149 +508842,293 @@ dEQP-VK.subgroups.ballot_broadcast.graphics.subgroupbroadcast_bvec4 dEQP-VK.subgroups.ballot_broadcast.graphics.subgroupbroadcast_nonconst_bvec4 dEQP-VK.subgroups.ballot_broadcast.graphics.subgroupbroadcastfirst_bvec4 dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_float16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_float16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_float16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_float16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_float16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_float16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_float +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_float +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_float +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_double +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_double_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_double +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_double_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_double +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_double_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bool +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bool_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bool +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bool_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bool +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bool_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.framebuffer.subgroupbroadcast_int8_tvertex dEQP-VK.subgroups.ballot_broadcast.framebuffer.subgroupbroadcast_int8_ttess_eval dEQP-VK.subgroups.ballot_broadcast.framebuffer.subgroupbroadcast_int8_ttess_control @@ -509501,14 +509715,23 @@ dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.graphics.subgroupb dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.graphics.subgroupbroadcast_nonconst_float dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.graphics.subgroupbroadcastfirst_float dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_int +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_int +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_int +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_uint +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_uint +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_uint +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_float +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_float +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_float +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.framebuffer.subgroupbroadcast_intvertex dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.framebuffer.subgroupbroadcast_inttess_eval dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.framebuffer.subgroupbroadcast_inttess_control @@ -509553,12 +509776,19 @@ dEQP-VK.subgroups.ballot_other.graphics.subgroupballotexclusivebitcount dEQP-VK.subgroups.ballot_other.graphics.subgroupballotfindlsb dEQP-VK.subgroups.ballot_other.graphics.subgroupballotfindmsb dEQP-VK.subgroups.ballot_other.compute.subgroupinverseballot +dEQP-VK.subgroups.ballot_other.compute.subgroupinverseballot_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotbitextract +dEQP-VK.subgroups.ballot_other.compute.subgroupballotbitextract_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotbitcount +dEQP-VK.subgroups.ballot_other.compute.subgroupballotbitcount_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotinclusivebitcount +dEQP-VK.subgroups.ballot_other.compute.subgroupballotinclusivebitcount_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotexclusivebitcount +dEQP-VK.subgroups.ballot_other.compute.subgroupballotexclusivebitcount_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotfindlsb +dEQP-VK.subgroups.ballot_other.compute.subgroupballotfindlsb_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotfindmsb +dEQP-VK.subgroups.ballot_other.compute.subgroupballotfindmsb_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.framebuffer.subgroupinverseballot_vertex dEQP-VK.subgroups.ballot_other.framebuffer.subgroupinverseballot_tess_eval dEQP-VK.subgroups.ballot_other.framebuffer.subgroupinverseballot_tess_control @@ -510440,857 +510670,1709 @@ dEQP-VK.subgroups.arithmetic.graphics.subgroupexclusiveand_bvec4 dEQP-VK.subgroups.arithmetic.graphics.subgroupexclusiveor_bvec4 dEQP-VK.subgroups.arithmetic.graphics.subgroupexclusivexor_bvec4 dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_int +dEQP-VK.subgroups.arithmetic.compute.subgroupand_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_float +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_float +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_float +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_float +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_float +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_float +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_float +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_float +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_float +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_float +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_float +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_float +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_double +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_double +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_double +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_double +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_double +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_double +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_double +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_double +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_double +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_double +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_double +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_double +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupand_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.framebuffer.subgroupadd_int8_t_vertex dEQP-VK.subgroups.arithmetic.framebuffer.subgroupadd_int8_t_tess_eval dEQP-VK.subgroups.arithmetic.framebuffer.subgroupadd_int8_t_tess_control @@ -514984,289 +516066,573 @@ dEQP-VK.subgroups.clustered.graphics.subgroupclusteredand_bvec4 dEQP-VK.subgroups.clustered.graphics.subgroupclusteredor_bvec4 dEQP-VK.subgroups.clustered.graphics.subgroupclusteredxor_bvec4 dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_float16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_float16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_float16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_float16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_float +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_float_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_float +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_float_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_float +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_float_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_float +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_float_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_double +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_double_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_double +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_double_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_double +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_double_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_double +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_double_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bool +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bool_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bool +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bool_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bool +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bool_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.framebuffer.subgroupclusteredadd_int8_t_vertex dEQP-VK.subgroups.clustered.framebuffer.subgroupclusteredadd_int8_t_tess_eval dEQP-VK.subgroups.clustered.framebuffer.subgroupclusteredadd_int8_t_tess_control @@ -517256,857 +518622,1709 @@ dEQP-VK.subgroups.partitioned.graphics.subgroupexclusiveand_bvec4 dEQP-VK.subgroups.partitioned.graphics.subgroupexclusiveor_bvec4 dEQP-VK.subgroups.partitioned.graphics.subgroupexclusivexor_bvec4 dEQP-VK.subgroups.partitioned.compute.subgroupadd_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_int +dEQP-VK.subgroups.partitioned.compute.subgroupadd_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_int +dEQP-VK.subgroups.partitioned.compute.subgroupmul_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_int +dEQP-VK.subgroups.partitioned.compute.subgroupmin_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_int +dEQP-VK.subgroups.partitioned.compute.subgroupmax_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_int +dEQP-VK.subgroups.partitioned.compute.subgroupand_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_int +dEQP-VK.subgroups.partitioned.compute.subgroupor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_int +dEQP-VK.subgroups.partitioned.compute.subgroupxor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uint +dEQP-VK.subgroups.partitioned.compute.subgroupand_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_float +dEQP-VK.subgroups.partitioned.compute.subgroupadd_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_float +dEQP-VK.subgroups.partitioned.compute.subgroupmul_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_float +dEQP-VK.subgroups.partitioned.compute.subgroupmin_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_float +dEQP-VK.subgroups.partitioned.compute.subgroupmax_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_float +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_float +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_float +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_float +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_float +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_float +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_float +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_float +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_double +dEQP-VK.subgroups.partitioned.compute.subgroupadd_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_double +dEQP-VK.subgroups.partitioned.compute.subgroupmul_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_double +dEQP-VK.subgroups.partitioned.compute.subgroupmin_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_double +dEQP-VK.subgroups.partitioned.compute.subgroupmax_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_double +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_double +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_double +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_double +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_double +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_double +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_double +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_double +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_bool +dEQP-VK.subgroups.partitioned.compute.subgroupand_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupxor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bool +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bool +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.framebuffer.subgroupadd_int8_t_vertex dEQP-VK.subgroups.partitioned.framebuffer.subgroupadd_int8_t_tess_eval dEQP-VK.subgroups.partitioned.framebuffer.subgroupadd_int8_t_tess_control @@ -521708,197 +523926,389 @@ dEQP-VK.subgroups.shuffle.graphics.subgroupshufflexor_bvec4 dEQP-VK.subgroups.shuffle.graphics.subgroupshuffleup_bvec4 dEQP-VK.subgroups.shuffle.graphics.subgroupshuffledown_bvec4 dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_float16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_float16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_float16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_float16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_float16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_float16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_float16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_float16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_float +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_float_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_float +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_float_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_float +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_float_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_float +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_float_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_double +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_double_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_double +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_double_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_double +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_double_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_double +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_double_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bool +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bool_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bool +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bool_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bool +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bool_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bool +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bool_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.framebuffer.subgroupshuffle_int8_t_vertex dEQP-VK.subgroups.shuffle.framebuffer.subgroupshuffle_int8_t_tess_eval dEQP-VK.subgroups.shuffle.framebuffer.subgroupshuffle_int8_t_tess_control @@ -522908,245 +525318,485 @@ dEQP-VK.subgroups.quad.graphics.subgroupquadswaphorizontal_bvec4 dEQP-VK.subgroups.quad.graphics.subgroupquadswapvertical_bvec4 dEQP-VK.subgroups.quad.graphics.subgroupquadswapdiagonal_bvec4 dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_float +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_float +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_float +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_float +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_float +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_double +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_double +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_double +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_double +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_double +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bool +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bool +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bool +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bool +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bool +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.framebuffer.subgroupquadbroadcast_int8_t_vertex dEQP-VK.subgroups.quad.framebuffer.subgroupquadbroadcast_int8_t_tess_eval dEQP-VK.subgroups.quad.framebuffer.subgroupquadbroadcast_int8_t_tess_control @@ -524110,7 +526760,9 @@ dEQP-VK.subgroups.quad.framebuffer.subgroupquadswapdiagonal_bvec4_geometry dEQP-VK.subgroups.shape.graphics.clustered dEQP-VK.subgroups.shape.graphics.quad dEQP-VK.subgroups.shape.compute.clustered +dEQP-VK.subgroups.shape.compute.clustered_requiredsubgroupsize dEQP-VK.subgroups.shape.compute.quad +dEQP-VK.subgroups.shape.compute.quad_requiredsubgroupsize dEQP-VK.subgroups.shape.framebuffer.clustered_vertex dEQP-VK.subgroups.shape.framebuffer.clustered_tess_eval dEQP-VK.subgroups.shape.framebuffer.clustered_tess_control @@ -524125,10 +526777,15 @@ dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.graphics.gl_subgroupgtm dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.graphics.gl_subgrouplemaskarb dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.graphics.gl_subgroupltmaskarb dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupeqmaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupeqmaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupgemaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupgemaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupgtmaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupgtmaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgrouplemaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgrouplemaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupltmaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupltmaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupeqmaskarb_vertex dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupeqmaskarb_tess_eval dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupeqmaskarb_tess_control @@ -524149,6 +526806,32 @@ dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroup dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupltmaskarb_tess_eval dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupltmaskarb_tess_control dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupltmaskarb_geometry +dEQP-VK.subgroups.size_control.generic.subgroup_size_properties +dEQP-VK.subgroups.size_control.graphics.allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.graphics.required_subgroup_size_max +dEQP-VK.subgroups.size_control.graphics.required_subgroup_size_min +dEQP-VK.subgroups.size_control.compute.allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.compute.require_full_subgroups +dEQP-VK.subgroups.size_control.compute.require_full_subgroups_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.compute.required_subgroup_size_max +dEQP-VK.subgroups.size_control.compute.required_subgroup_size_min +dEQP-VK.subgroups.size_control.compute.required_subgroup_size_max_require_full_subgroups +dEQP-VK.subgroups.size_control.compute.required_subgroup_size_min_require_full_subgroups +dEQP-VK.subgroups.size_control.framebuffer.vertex_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.tess_eval_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.tess_control_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.geometry_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.fragment_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.vertex_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.vertex_required_subgroup_size_min +dEQP-VK.subgroups.size_control.framebuffer.tess_eval_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.tess_eval_required_subgroup_size_min +dEQP-VK.subgroups.size_control.framebuffer.tess_control_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.tess_control_required_subgroup_size_min +dEQP-VK.subgroups.size_control.framebuffer.geometry_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.geometry_required_subgroup_size_min +dEQP-VK.subgroups.size_control.framebuffer.fragment_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.fragment_required_subgroup_size_min dEQP-VK.ycbcr.format.g8b8g8r8_422_unorm.vertex_optimal dEQP-VK.ycbcr.format.g8b8g8r8_422_unorm.vertex_optimal_array dEQP-VK.ycbcr.format.g8b8g8r8_422_unorm.vertex_linear diff --git a/external/vulkancts/mustpass/master/vk-default.txt b/external/vulkancts/mustpass/master/vk-default.txt index fe5d6cd..b81c94d 100644 --- a/external/vulkancts/mustpass/master/vk-default.txt +++ b/external/vulkancts/mustpass/master/vk-default.txt @@ -508129,9 +508129,13 @@ dEQP-VK.multiview.renderpass2.index.tesellation_shader.max_multi_view_view_count dEQP-VK.subgroups.builtin_var.graphics.subgroupsize dEQP-VK.subgroups.builtin_var.graphics.subgroupinvocationid dEQP-VK.subgroups.builtin_var.compute.subgroupsize_compute +dEQP-VK.subgroups.builtin_var.compute.subgroupsize_compute_requiredsubgroupsize dEQP-VK.subgroups.builtin_var.compute.subgroupinvocationid_compute +dEQP-VK.subgroups.builtin_var.compute.subgroupinvocationid_compute_requiredsubgroupsize dEQP-VK.subgroups.builtin_var.compute.numsubgroups +dEQP-VK.subgroups.builtin_var.compute.numsubgroups_requiredsubgroupsize dEQP-VK.subgroups.builtin_var.compute.subgroupid +dEQP-VK.subgroups.builtin_var.compute.subgroupid_requiredsubgroupsize dEQP-VK.subgroups.builtin_var.framebuffer.subgroupsize_vertex dEQP-VK.subgroups.builtin_var.framebuffer.subgroupsize_tess_eval dEQP-VK.subgroups.builtin_var.framebuffer.subgroupsize_tess_control @@ -508146,10 +508150,15 @@ dEQP-VK.subgroups.builtin_mask_var.graphics.subgroupgtmask dEQP-VK.subgroups.builtin_mask_var.graphics.subgrouplemask dEQP-VK.subgroups.builtin_mask_var.graphics.subgroupltmask dEQP-VK.subgroups.builtin_mask_var.compute.subgroupeqmask +dEQP-VK.subgroups.builtin_mask_var.compute.subgroupeqmask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.compute.subgroupgemask +dEQP-VK.subgroups.builtin_mask_var.compute.subgroupgemask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.compute.subgroupgtmask +dEQP-VK.subgroups.builtin_mask_var.compute.subgroupgtmask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.compute.subgrouplemask +dEQP-VK.subgroups.builtin_mask_var.compute.subgrouplemask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.compute.subgroupltmask +dEQP-VK.subgroups.builtin_mask_var.compute.subgroupltmask_requiredsubgroupsize dEQP-VK.subgroups.builtin_mask_var.framebuffer.subgroupeqmask_vertex dEQP-VK.subgroups.builtin_mask_var.framebuffer.subgroupeqmask_tess_eval dEQP-VK.subgroups.builtin_mask_var.framebuffer.subgroupeqmask_tess_control @@ -508176,11 +508185,17 @@ dEQP-VK.subgroups.basic.graphics.subgroupmemorybarrier dEQP-VK.subgroups.basic.graphics.subgroupmemorybarrierbuffer dEQP-VK.subgroups.basic.graphics.subgroupmemorybarrierimage dEQP-VK.subgroups.basic.compute.subgroupelect +dEQP-VK.subgroups.basic.compute.subgroupelect_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupbarrier +dEQP-VK.subgroups.basic.compute.subgroupbarrier_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupmemorybarrier +dEQP-VK.subgroups.basic.compute.subgroupmemorybarrier_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupmemorybarrierbuffer +dEQP-VK.subgroups.basic.compute.subgroupmemorybarrierbuffer_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupmemorybarriershared +dEQP-VK.subgroups.basic.compute.subgroupmemorybarriershared_requiredsubgroupsize dEQP-VK.subgroups.basic.compute.subgroupmemorybarrierimage +dEQP-VK.subgroups.basic.compute.subgroupmemorybarrierimage_requiredsubgroupsize dEQP-VK.subgroups.basic.framebuffer.subgroupelect_vertex dEQP-VK.subgroups.basic.framebuffer.subgroupelect_tess_eval dEQP-VK.subgroups.basic.framebuffer.subgroupelect_tess_control @@ -508256,55 +508271,105 @@ dEQP-VK.subgroups.vote.graphics.subgroupallequal_bvec2 dEQP-VK.subgroups.vote.graphics.subgroupallequal_bvec3 dEQP-VK.subgroups.vote.graphics.subgroupallequal_bvec4 dEQP-VK.subgroups.vote.compute.subgroupallequal_int8_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_int8_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uint8_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_int16_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_int16_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uint16_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_int +dEQP-VK.subgroups.vote.compute.subgroupallequal_int_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_ivec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupall_uint +dEQP-VK.subgroups.vote.compute.subgroupall_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupany_uint +dEQP-VK.subgroups.vote.compute.subgroupany_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uint +dEQP-VK.subgroups.vote.compute.subgroupallequal_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_uvec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_int64_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_int64_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_uint64_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_float16_t +dEQP-VK.subgroups.vote.compute.subgroupallequal_float16_t_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_float +dEQP-VK.subgroups.vote.compute.subgroupallequal_float_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_vec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_vec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_vec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_vec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_vec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_vec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_double +dEQP-VK.subgroups.vote.compute.subgroupallequal_double_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_dvec4_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_bool +dEQP-VK.subgroups.vote.compute.subgroupallequal_bool_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec2 +dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec2_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec3 +dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec3_requiredsubgroupsize dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec4 +dEQP-VK.subgroups.vote.compute.subgroupallequal_bvec4_requiredsubgroupsize dEQP-VK.subgroups.vote.framebuffer.subgroupallequal_int8_t_vertex dEQP-VK.subgroups.vote.framebuffer.subgroupallequal_int8_t_tess_eval dEQP-VK.subgroups.vote.framebuffer.subgroupallequal_int8_t_tess_control @@ -508559,8 +508624,11 @@ dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.graphics.allinvocationsarb_uint dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.graphics.anyinvocationarb_uint dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.graphics.allinvocationsequalarb_bool dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.allinvocationsarb_uint +dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.allinvocationsarb_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.anyinvocationarb_uint +dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.anyinvocationarb_uint_requiredsubgroupsize dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.allinvocationsequalarb_bool +dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.compute.allinvocationsequalarb_bool_requiredsubgroupsize dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.framebuffer.allinvocationsarb_uint_vertex dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.framebuffer.allinvocationsarb_uint_tess_eval dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.framebuffer.allinvocationsarb_uint_tess_control @@ -508578,12 +508646,14 @@ dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.frag_helper.anyinvocationarb_uin dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.frag_helper.allinvocationsequalarb_bool_fragment dEQP-VK.subgroups.ballot.graphics.graphic dEQP-VK.subgroups.ballot.compute.compute +dEQP-VK.subgroups.ballot.compute.compute_requiredsubgroupsize dEQP-VK.subgroups.ballot.framebuffer.tess_eval dEQP-VK.subgroups.ballot.framebuffer.tess_control dEQP-VK.subgroups.ballot.framebuffer.geometry dEQP-VK.subgroups.ballot.framebuffer.vertex dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.graphics.graphic dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.compute.compute +dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.compute.compute_requiredsubgroupsize dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.framebuffer.tess_eval dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.framebuffer.tess_control dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.framebuffer.geometry @@ -508733,149 +508803,293 @@ dEQP-VK.subgroups.ballot_broadcast.graphics.subgroupbroadcast_bvec4 dEQP-VK.subgroups.ballot_broadcast.graphics.subgroupbroadcast_nonconst_bvec4 dEQP-VK.subgroups.ballot_broadcast.graphics.subgroupbroadcastfirst_bvec4 dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint8_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_ivec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_ivec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_ivec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_int64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_int64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_int64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint64_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_float16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_float16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_float16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_float16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_float16_t +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_float16_t_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_float +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_float +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_float +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_vec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_double +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_double_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_double +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_double_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_double +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_double_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_dvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_dvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bool +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bool_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bool +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bool_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bool +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bool_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec2 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec2_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec3 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec3_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_nonconst_bvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec4 +dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcastfirst_bvec4_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.framebuffer.subgroupbroadcast_int8_tvertex dEQP-VK.subgroups.ballot_broadcast.framebuffer.subgroupbroadcast_int8_ttess_eval dEQP-VK.subgroups.ballot_broadcast.framebuffer.subgroupbroadcast_int8_ttess_control @@ -509462,14 +509676,23 @@ dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.graphics.subgroupb dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.graphics.subgroupbroadcast_nonconst_float dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.graphics.subgroupbroadcastfirst_float dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_int +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_int +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_int +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_int_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_uint +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_uint +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_uint +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_uint_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_float +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_float +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcast_nonconst_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_float +dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.compute.subgroupbroadcastfirst_float_requiredsubgroupsize dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.framebuffer.subgroupbroadcast_intvertex dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.framebuffer.subgroupbroadcast_inttess_eval dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.framebuffer.subgroupbroadcast_inttess_control @@ -509514,12 +509737,19 @@ dEQP-VK.subgroups.ballot_other.graphics.subgroupballotexclusivebitcount dEQP-VK.subgroups.ballot_other.graphics.subgroupballotfindlsb dEQP-VK.subgroups.ballot_other.graphics.subgroupballotfindmsb dEQP-VK.subgroups.ballot_other.compute.subgroupinverseballot +dEQP-VK.subgroups.ballot_other.compute.subgroupinverseballot_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotbitextract +dEQP-VK.subgroups.ballot_other.compute.subgroupballotbitextract_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotbitcount +dEQP-VK.subgroups.ballot_other.compute.subgroupballotbitcount_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotinclusivebitcount +dEQP-VK.subgroups.ballot_other.compute.subgroupballotinclusivebitcount_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotexclusivebitcount +dEQP-VK.subgroups.ballot_other.compute.subgroupballotexclusivebitcount_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotfindlsb +dEQP-VK.subgroups.ballot_other.compute.subgroupballotfindlsb_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.compute.subgroupballotfindmsb +dEQP-VK.subgroups.ballot_other.compute.subgroupballotfindmsb_requiredsubgroupSize dEQP-VK.subgroups.ballot_other.framebuffer.subgroupinverseballot_vertex dEQP-VK.subgroups.ballot_other.framebuffer.subgroupinverseballot_tess_eval dEQP-VK.subgroups.ballot_other.framebuffer.subgroupinverseballot_tess_control @@ -510401,857 +510631,1709 @@ dEQP-VK.subgroups.arithmetic.graphics.subgroupexclusiveand_bvec4 dEQP-VK.subgroups.arithmetic.graphics.subgroupexclusiveor_bvec4 dEQP-VK.subgroups.arithmetic.graphics.subgroupexclusivexor_bvec4 dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint8_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_int +dEQP-VK.subgroups.arithmetic.compute.subgroupand_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint64_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_float16_t +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_float +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_float +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_float +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_float +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_float +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_float +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_float +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_float +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_float +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_float +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_float +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_float +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_float_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_vec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_double +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_double +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_double +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_double +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_double +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_double +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_double +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_double +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_double +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_double +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_double +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_double +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_double_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupmax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivemax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivemax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupand_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bool +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bool_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec2 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec3 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupxor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusiveor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupinclusivexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusiveor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec4 +dEQP-VK.subgroups.arithmetic.compute.subgroupexclusivexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.arithmetic.framebuffer.subgroupadd_int8_t_vertex dEQP-VK.subgroups.arithmetic.framebuffer.subgroupadd_int8_t_tess_eval dEQP-VK.subgroups.arithmetic.framebuffer.subgroupadd_int8_t_tess_control @@ -514945,289 +516027,573 @@ dEQP-VK.subgroups.clustered.graphics.subgroupclusteredand_bvec4 dEQP-VK.subgroups.clustered.graphics.subgroupclusteredor_bvec4 dEQP-VK.subgroups.clustered.graphics.subgroupclusteredxor_bvec4 dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint8_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint64_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_float16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_float16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_float16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_float16_t +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_float +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_float_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_float +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_float_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_float +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_float_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_float +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_float_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_vec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_double +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_double_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_double +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_double_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_double +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_double_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_double +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_double_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bool +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bool_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bool +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bool_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bool +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bool_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec2 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec3 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec4 +dEQP-VK.subgroups.clustered.compute.subgroupclusteredxor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.clustered.framebuffer.subgroupclusteredadd_int8_t_vertex dEQP-VK.subgroups.clustered.framebuffer.subgroupclusteredadd_int8_t_tess_eval dEQP-VK.subgroups.clustered.framebuffer.subgroupclusteredadd_int8_t_tess_control @@ -517217,857 +518583,1709 @@ dEQP-VK.subgroups.partitioned.graphics.subgroupexclusiveand_bvec4 dEQP-VK.subgroups.partitioned.graphics.subgroupexclusiveor_bvec4 dEQP-VK.subgroups.partitioned.graphics.subgroupexclusivexor_bvec4 dEQP-VK.subgroups.partitioned.compute.subgroupadd_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint8_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_int +dEQP-VK.subgroups.partitioned.compute.subgroupadd_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_int +dEQP-VK.subgroups.partitioned.compute.subgroupmul_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_int +dEQP-VK.subgroups.partitioned.compute.subgroupmin_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_int +dEQP-VK.subgroups.partitioned.compute.subgroupmax_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_int +dEQP-VK.subgroups.partitioned.compute.subgroupand_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_int +dEQP-VK.subgroups.partitioned.compute.subgroupor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_int +dEQP-VK.subgroups.partitioned.compute.subgroupxor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uint +dEQP-VK.subgroups.partitioned.compute.subgroupand_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupxor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint64_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupmax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_float16_t +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_float16_t_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_float +dEQP-VK.subgroups.partitioned.compute.subgroupadd_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_float +dEQP-VK.subgroups.partitioned.compute.subgroupmul_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_float +dEQP-VK.subgroups.partitioned.compute.subgroupmin_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_float +dEQP-VK.subgroups.partitioned.compute.subgroupmax_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_float +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_float +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_float +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_float +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_float +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_float +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_float +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_float +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_float_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_vec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_double +dEQP-VK.subgroups.partitioned.compute.subgroupadd_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_double +dEQP-VK.subgroups.partitioned.compute.subgroupmul_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_double +dEQP-VK.subgroups.partitioned.compute.subgroupmin_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_double +dEQP-VK.subgroups.partitioned.compute.subgroupmax_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_double +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_double +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_double +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_double +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_double +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_double +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_double +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_double +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_double_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupmax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivemax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveadd_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemul_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemin_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivemax_dvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_bool +dEQP-VK.subgroups.partitioned.compute.subgroupand_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupxor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bool +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bool +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bool +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bool_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec2 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec3 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupxor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusiveor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupinclusivexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveand_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusiveor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec4 +dEQP-VK.subgroups.partitioned.compute.subgroupexclusivexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.partitioned.framebuffer.subgroupadd_int8_t_vertex dEQP-VK.subgroups.partitioned.framebuffer.subgroupadd_int8_t_tess_eval dEQP-VK.subgroups.partitioned.framebuffer.subgroupadd_int8_t_tess_control @@ -521669,197 +523887,389 @@ dEQP-VK.subgroups.shuffle.graphics.subgroupshufflexor_bvec4 dEQP-VK.subgroups.shuffle.graphics.subgroupshuffleup_bvec4 dEQP-VK.subgroups.shuffle.graphics.subgroupshuffledown_bvec4 dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint8_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_ivec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_ivec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_ivec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_ivec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_int64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_int64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_int64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_int64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint64_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_float16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_float16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_float16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_float16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_float16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_float16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_float16_t +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_float16_t_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_float +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_float_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_float +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_float_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_float +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_float_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_float +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_float_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_vec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_double +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_double_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_double +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_double_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_double +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_double_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_double +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_double_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_dvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_dvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_dvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_dvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bool +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bool_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bool +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bool_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bool +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bool_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bool +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bool_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec2 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec2_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec3 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec3_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffle_bvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshufflexor_bvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffleup_bvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec4 +dEQP-VK.subgroups.shuffle.compute.subgroupshuffledown_bvec4_requiredsubgroupsize dEQP-VK.subgroups.shuffle.framebuffer.subgroupshuffle_int8_t_vertex dEQP-VK.subgroups.shuffle.framebuffer.subgroupshuffle_int8_t_tess_eval dEQP-VK.subgroups.shuffle.framebuffer.subgroupshuffle_int8_t_tess_control @@ -522869,245 +525279,485 @@ dEQP-VK.subgroups.quad.graphics.subgroupquadswaphorizontal_bvec4 dEQP-VK.subgroups.quad.graphics.subgroupquadswapvertical_bvec4 dEQP-VK.subgroups.quad.graphics.subgroupquadswapdiagonal_bvec4 dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint8_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint8_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u8vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_ivec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_int64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_i64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint64_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_uint64_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_u64vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_float16_t +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_float16_t_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_f16vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_float +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_float +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_float +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_float +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_float +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_float_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_vec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_double +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_double +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_double +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_double +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_double +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_double_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_dvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bool +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bool +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bool +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bool +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bool +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bool_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec2 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec2_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec3 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec3_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadbroadcast_nonconst_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswaphorizontal_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapvertical_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec4 +dEQP-VK.subgroups.quad.compute.subgroupquadswapdiagonal_bvec4_requiredsubgroupsize dEQP-VK.subgroups.quad.framebuffer.subgroupquadbroadcast_int8_t_vertex dEQP-VK.subgroups.quad.framebuffer.subgroupquadbroadcast_int8_t_tess_eval dEQP-VK.subgroups.quad.framebuffer.subgroupquadbroadcast_int8_t_tess_control @@ -524071,7 +526721,9 @@ dEQP-VK.subgroups.quad.framebuffer.subgroupquadswapdiagonal_bvec4_geometry dEQP-VK.subgroups.shape.graphics.clustered dEQP-VK.subgroups.shape.graphics.quad dEQP-VK.subgroups.shape.compute.clustered +dEQP-VK.subgroups.shape.compute.clustered_requiredsubgroupsize dEQP-VK.subgroups.shape.compute.quad +dEQP-VK.subgroups.shape.compute.quad_requiredsubgroupsize dEQP-VK.subgroups.shape.framebuffer.clustered_vertex dEQP-VK.subgroups.shape.framebuffer.clustered_tess_eval dEQP-VK.subgroups.shape.framebuffer.clustered_tess_control @@ -524086,10 +526738,15 @@ dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.graphics.gl_subgroupgtm dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.graphics.gl_subgrouplemaskarb dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.graphics.gl_subgroupltmaskarb dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupeqmaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupeqmaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupgemaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupgemaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupgtmaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupgtmaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgrouplemaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgrouplemaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupltmaskarb +dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.compute.gl_subgroupltmaskarb_requiredsubgroupsize dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupeqmaskarb_vertex dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupeqmaskarb_tess_eval dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupeqmaskarb_tess_control @@ -524110,6 +526767,32 @@ dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroup dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupltmaskarb_tess_eval dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupltmaskarb_tess_control dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.framebuffer.gl_subgroupltmaskarb_geometry +dEQP-VK.subgroups.size_control.generic.subgroup_size_properties +dEQP-VK.subgroups.size_control.graphics.allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.graphics.required_subgroup_size_max +dEQP-VK.subgroups.size_control.graphics.required_subgroup_size_min +dEQP-VK.subgroups.size_control.compute.allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.compute.require_full_subgroups +dEQP-VK.subgroups.size_control.compute.require_full_subgroups_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.compute.required_subgroup_size_max +dEQP-VK.subgroups.size_control.compute.required_subgroup_size_min +dEQP-VK.subgroups.size_control.compute.required_subgroup_size_max_require_full_subgroups +dEQP-VK.subgroups.size_control.compute.required_subgroup_size_min_require_full_subgroups +dEQP-VK.subgroups.size_control.framebuffer.vertex_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.tess_eval_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.tess_control_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.geometry_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.fragment_allow_varying_subgroup_size +dEQP-VK.subgroups.size_control.framebuffer.vertex_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.vertex_required_subgroup_size_min +dEQP-VK.subgroups.size_control.framebuffer.tess_eval_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.tess_eval_required_subgroup_size_min +dEQP-VK.subgroups.size_control.framebuffer.tess_control_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.tess_control_required_subgroup_size_min +dEQP-VK.subgroups.size_control.framebuffer.geometry_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.geometry_required_subgroup_size_min +dEQP-VK.subgroups.size_control.framebuffer.fragment_required_subgroup_size_max +dEQP-VK.subgroups.size_control.framebuffer.fragment_required_subgroup_size_min dEQP-VK.ycbcr.format.g8b8g8r8_422_unorm.vertex_optimal dEQP-VK.ycbcr.format.g8b8g8r8_422_unorm.vertex_optimal_array dEQP-VK.ycbcr.format.g8b8g8r8_422_unorm.vertex_linear