New tests for VK_NV_shader_subgroup_partitioned
authorJeff Bolz <jbolz@nvidia.com>
Sat, 17 Mar 2018 17:30:36 +0000 (12:30 -0500)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Mon, 28 May 2018 11:08:15 +0000 (07:08 -0400)
Forked from subgroup arithmetic tests, they are mostly the same but with different shaders

New Tests: dEQP-VK.subgroups.partitioned.*
Components: Vulkan

Change-Id: I74e4f9cf716cf0d7293e4259dedf116af750347a

25 files changed:
AndroidGen.mk
android/cts/master/vk-master.txt
external/fetch_sources.py [changed mode: 0644->0755]
external/vulkancts/framework/vulkan/vkBasicTypes.inl
external/vulkancts/framework/vulkan/vkStrUtilImpl.inl
external/vulkancts/modules/vulkan/subgroups/CMakeLists.txt [changed mode: 0644->0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsArithmeticTests.cpp [changed mode: 0644->0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotBroadcastTests.cpp [changed mode: 0644->0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotOtherTests.cpp [changed mode: 0644->0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotTests.cpp [changed mode: 0644->0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBasicTests.cpp [changed mode: 0644->0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBuiltinMaskVarTests.cpp [changed mode: 0644->0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBuiltinVarTests.cpp [changed mode: 0644->0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsClusteredTests.cpp [changed mode: 0644->0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsPartitionedTests.cpp [new file with mode: 0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsPartitionedTests.hpp [new file with mode: 0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsQuadTests.cpp [changed mode: 0644->0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShapeTests.cpp [changed mode: 0644->0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShuffleTests.cpp [changed mode: 0644->0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTests.cpp [changed mode: 0644->0755]
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTestsUtils.cpp
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsVoteTests.cpp [changed mode: 0644->0755]
external/vulkancts/mustpass/1.1.2/vk-default-no-waivers.txt
external/vulkancts/mustpass/1.1.2/vk-default.txt
external/vulkancts/scripts/src/vulkan.h.in [changed mode: 0644->0755]

index 184ad89..1b680c4 100644 (file)
@@ -277,6 +277,7 @@ LOCAL_SRC_FILES := \
        external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBuiltinMaskVarTests.cpp \
        external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBuiltinVarTests.cpp \
        external/vulkancts/modules/vulkan/subgroups/vktSubgroupsClusteredTests.cpp \
+       external/vulkancts/modules/vulkan/subgroups/vktSubgroupsPartitionedTests.cpp \
        external/vulkancts/modules/vulkan/subgroups/vktSubgroupsQuadTests.cpp \
        external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShapeTests.cpp \
        external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShuffleTests.cpp \
index 932d815..655f10a 100755 (executable)
@@ -301280,6 +301280,1806 @@ dEQP-VK.subgroups.clustered.subgroupclusteredxor_bvec4_vertex_framebuffer
 dEQP-VK.subgroups.clustered.subgroupclusteredxor_bvec4_tess_eval_framebuffer
 dEQP-VK.subgroups.clustered.subgroupclusteredxor_bvec4_tess_control_framebuffer
 dEQP-VK.subgroups.clustered.subgroupclusteredxor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_int_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_int_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_int_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_int_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_int_compute
+dEQP-VK.subgroups.partitioned.subgroupand_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupand_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_float_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_float_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_float_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_float_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_double_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_double_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_double_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_double_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupand_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_geometry_framebuffer
 dEQP-VK.subgroups.shuffle.subgroupshuffle_int_graphic
 dEQP-VK.subgroups.shuffle.subgroupshuffle_int_compute
 dEQP-VK.subgroups.shuffle.subgroupshuffle_int_vertex_framebuffer
old mode 100644 (file)
new mode 100755 (executable)
index 4704c95..711bbbe
@@ -257,12 +257,12 @@ PACKAGES = [
        GitRepo(
                "https://github.com/KhronosGroup/glslang.git",
                None,
-               "6.2.2596",
+               "ed834895ea68aaa4a6d4975be17751a25899acde",
                "glslang"),
        GitRepo(
                "https://github.com/KhronosGroup/SPIRV-Headers.git",
                None,
-               "b13b3be4cc38eb0b2f4b1d296f3fa41b27cefc5e",
+               "757bcc0fd53fc81897db309a35c85dcdbbe1e466",
                "spirv-headers"),
 ]
 
index 6826386..43bdcf4 100644 (file)
@@ -1588,6 +1588,7 @@ enum VkSubgroupFeatureFlagBits
        VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT        = 0x00000020,
        VK_SUBGROUP_FEATURE_CLUSTERED_BIT                       = 0x00000040,
        VK_SUBGROUP_FEATURE_QUAD_BIT                            = 0x00000080,
+       VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV          = 0x00000100,
 };
 typedef deUint32 VkSubgroupFeatureFlags;
 
index a95090c..932b56e 100644 (file)
@@ -1828,6 +1828,7 @@ tcu::Format::Bitfield<32> getSubgroupFeatureFlagsStr (VkSubgroupFeatureFlags val
                tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT,  "VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT"),
                tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_CLUSTERED_BIT,                 "VK_SUBGROUP_FEATURE_CLUSTERED_BIT"),
                tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_QUAD_BIT,                              "VK_SUBGROUP_FEATURE_QUAD_BIT"),
+               tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV,    "VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
old mode 100644 (file)
new mode 100755 (executable)
index 6bfb8fc..261be78
@@ -21,6 +21,8 @@ set(DEQP_VK_SUBGROUPS_SRCS
   vktSubgroupsArithmeticTests.hpp
   vktSubgroupsClusteredTests.cpp
   vktSubgroupsClusteredTests.hpp
+  vktSubgroupsPartitionedTests.cpp
+  vktSubgroupsPartitionedTests.hpp
   vktSubgroupsShuffleTests.cpp
   vktSubgroupsShuffleTests.hpp
   vktSubgroupsQuadTests.cpp
old mode 100644 (file)
new mode 100755 (executable)
index 08eaf23..e740ae7
@@ -860,7 +860,7 @@ void initPrograms(SourceCollections& programCollection, CaseDefinition caseDef)
        }
 }
 
-void supportedCheck (Context& context, const CaseDefinition& caseDef)
+void supportedCheck (Context& context, CaseDefinition caseDef)
 {
        if (!subgroups::isSubgroupSupported(context))
                TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
@@ -879,8 +879,6 @@ void supportedCheck (Context& context, const CaseDefinition& caseDef)
 
 tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck (context, caseDef);
-
        if (!subgroups::areSubgroupOperationsSupportedForStage(
                                context, caseDef.shaderStage))
        {
@@ -935,8 +933,6 @@ bool checkShaderStages (Context& context, const CaseDefinition& caseDef)
 
 tcu::TestStatus test(Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck (context, caseDef);
-
        if (VK_SHADER_STAGE_COMPUTE_BIT == caseDef.shaderStage)
        {
                if(!checkShaderStages(context,caseDef))
@@ -1090,7 +1086,7 @@ tcu::TestCaseGroup* createSubgroupsArithmeticTests(tcu::TestContext& testCtx)
                                                                                        de::toLower(op) + "_" +
                                                                                        subgroups::getFormatNameForGLSL(format) +
                                                                                        "_" + getShaderStageName(caseDef.shaderStage),
-                                                                                       "", initPrograms, test, caseDef);
+                                                                                       "", supportedCheck, initPrograms, test, caseDef);
                        }
 
                        {
@@ -1099,7 +1095,7 @@ tcu::TestCaseGroup* createSubgroupsArithmeticTests(tcu::TestContext& testCtx)
                                                                                        de::toLower(op) + "_" +
                                                                                        subgroups::getFormatNameForGLSL(format) +
                                                                                        "_graphic",
-                                                                                       "", initPrograms, test, caseDef);
+                                                                                       "", supportedCheck, initPrograms, test, caseDef);
                        }
 
                        for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex)
@@ -1107,7 +1103,7 @@ tcu::TestCaseGroup* createSubgroupsArithmeticTests(tcu::TestContext& testCtx)
                                const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format};
                                addFunctionCaseWithPrograms(group.get(), de::toLower(op) + "_" + subgroups::getFormatNameForGLSL(format) +
                                                                                        "_" + getShaderStageName(caseDef.shaderStage) + "_framebuffer", "",
-                                                                                       initFrameBufferPrograms, noSSBOtest, caseDef);
+                                                                                       supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
                        }
                }
        }
old mode 100644 (file)
new mode 100755 (executable)
index c15dbdd..08e177c
@@ -465,7 +465,7 @@ void initPrograms(SourceCollections& programCollection, CaseDefinition caseDef)
        }
 }
 
-void supportedCheck (Context& context, const CaseDefinition& caseDef)
+void supportedCheck (Context& context, CaseDefinition caseDef)
 {
        if (!subgroups::isSubgroupSupported(context))
                TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
@@ -484,8 +484,6 @@ void supportedCheck (Context& context, const CaseDefinition& caseDef)
 
 tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck(context, caseDef);
-
        if (!subgroups::areSubgroupOperationsSupportedForStage(
                        context, caseDef.shaderStage))
        {
@@ -522,8 +520,6 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 
 tcu::TestStatus test(Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck(context, caseDef);
-
        if (VK_SHADER_STAGE_COMPUTE_BIT == caseDef.shaderStage)
        {
                if (!subgroups::areSubgroupOperationsSupportedForStage(context, caseDef.shaderStage))
@@ -625,19 +621,19 @@ tcu::TestCaseGroup* createSubgroupsBallotBroadcastTests(tcu::TestContext& testCt
 
                        {
                                CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format};
-                               addFunctionCaseWithPrograms(group.get(), name + getShaderStageName(caseDef.shaderStage), "", initPrograms, test, caseDef);
+                               addFunctionCaseWithPrograms(group.get(), name + getShaderStageName(caseDef.shaderStage), "", supportedCheck, initPrograms, test, caseDef);
                        }
 
                        {
                                const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format};
-                               addFunctionCaseWithPrograms(group.get(), name + "graphic" , "", initPrograms, test, caseDef);
+                               addFunctionCaseWithPrograms(group.get(), name + "graphic" , "", supportedCheck, initPrograms, test, caseDef);
                        }
 
                        for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex)
                        {
                                const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format};
                                addFunctionCaseWithPrograms(group.get(), name + getShaderStageName(caseDef.shaderStage) + "_framebuffer", "",
-                                                       initFrameBufferPrograms, noSSBOtest, caseDef);
+                                                       supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
                        }
                }
        }
old mode 100644 (file)
new mode 100755 (executable)
index 0924086..97609e8
@@ -523,8 +523,9 @@ void initPrograms(SourceCollections& programCollection, CaseDefinition caseDef)
        }
 }
 
-void supportedCheck (Context& context)
+void supportedCheck (Context& context, CaseDefinition caseDef)
 {
+       DE_UNREF(caseDef);
        if (!subgroups::isSubgroupSupported(context))
                TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
 
@@ -536,8 +537,6 @@ void supportedCheck (Context& context)
 
 tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck(context);
-
        if (!subgroups::areSubgroupOperationsSupportedForStage(
                        context, caseDef.shaderStage))
        {
@@ -566,8 +565,6 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 
 tcu::TestStatus test (Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck(context);
-
        if (VK_SHADER_STAGE_COMPUTE_BIT == caseDef.shaderStage)
        {
                if (!subgroups::areSubgroupOperationsSupportedForStage(context, caseDef.shaderStage))
@@ -632,18 +629,18 @@ tcu::TestCaseGroup* createSubgroupsBallotOtherTests(tcu::TestContext& testCtx)
                const string    op              = de::toLower(getOpTypeName(opTypeIndex));
                {
                        const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT};
-                       addFunctionCaseWithPrograms(group.get(),  op + "_" + getShaderStageName(caseDef.shaderStage), "", initPrograms, test, caseDef);
+                       addFunctionCaseWithPrograms(group.get(),  op + "_" + getShaderStageName(caseDef.shaderStage), "", supportedCheck, initPrograms, test, caseDef);
                }
 
                {
                        const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS};
-                       addFunctionCaseWithPrograms(group.get(),  op + "_graphic", "", initPrograms, test, caseDef);
+                       addFunctionCaseWithPrograms(group.get(),  op + "_graphic", "", supportedCheck, initPrograms, test, caseDef);
                }
 
                for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex)
                {
                        const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex]};
-                       addFunctionCaseWithPrograms(group.get(), op + "_" + getShaderStageName(caseDef.shaderStage) + "_framebuffer", "", initFrameBufferPrograms, noSSBOtest, caseDef);
+                       addFunctionCaseWithPrograms(group.get(), op + "_" + getShaderStageName(caseDef.shaderStage) + "_framebuffer", "", supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
                }
        }
 
old mode 100644 (file)
new mode 100755 (executable)
index d808582..24066ca
@@ -936,8 +936,9 @@ void initPrograms(SourceCollections& programCollection, CaseDefinition caseDef)
        }
 }
 
-void supportedCheck (Context& context)
+void supportedCheck (Context& context, CaseDefinition caseDef)
 {
+       DE_UNREF(caseDef);
        if (!subgroups::isSubgroupSupported(context))
                TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
 
@@ -949,8 +950,6 @@ void supportedCheck (Context& context)
 
 tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck(context);
-
        if (!subgroups::areSubgroupOperationsSupportedForStage(
                        context, caseDef.shaderStage))
        {
@@ -986,8 +985,6 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 
 tcu::TestStatus test(Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck(context);
-
        if (VK_SHADER_STAGE_COMPUTE_BIT == caseDef.shaderStage)
        {
                if (!subgroups::areSubgroupOperationsSupportedForStage(context, caseDef.shaderStage))
@@ -1060,19 +1057,19 @@ tcu::TestCaseGroup* createSubgroupsBallotTests(tcu::TestContext& testCtx)
 
        {
                const CaseDefinition caseDef = {VK_SHADER_STAGE_COMPUTE_BIT};
-               addFunctionCaseWithPrograms(group.get(), getShaderStageName(caseDef.shaderStage), "", initPrograms, test, caseDef);
+               addFunctionCaseWithPrograms(group.get(), getShaderStageName(caseDef.shaderStage), "", supportedCheck, initPrograms, test, caseDef);
        }
 
        {
                        const CaseDefinition caseDef = {VK_SHADER_STAGE_ALL_GRAPHICS};
-                       addFunctionCaseWithPrograms(group.get(), "graphic", "", initPrograms, test, caseDef);
+                       addFunctionCaseWithPrograms(group.get(), "graphic", "", supportedCheck, initPrograms, test, caseDef);
        }
 
        for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex)
        {
                const CaseDefinition caseDef = {stages[stageIndex]};
                addFunctionCaseWithPrograms(group.get(), getShaderStageName(caseDef.shaderStage)+"_framebuffer", "",
-                                       initFrameBufferPrograms, noSSBOtest, caseDef);
+                                       supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
        }
 
        return group.release();
old mode 100644 (file)
new mode 100755 (executable)
index c157e04..1f24abd
@@ -1880,11 +1880,15 @@ void initPrograms(SourceCollections& programCollection, CaseDefinition caseDef)
        }
 }
 
-tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
+void supportedCheck (Context& context, CaseDefinition caseDef)
 {
+       DE_UNREF(caseDef);
        if (!subgroups::isSubgroupSupported(context))
                TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
+}
 
+tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
+{
        if (!subgroups::areSubgroupOperationsSupportedForStage(
                                context, caseDef.shaderStage))
        {
@@ -1966,9 +1970,6 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 
 tcu::TestStatus test(Context& context, const CaseDefinition caseDef)
 {
-       if (!subgroups::isSubgroupSupported(context))
-               TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
-
        if (!subgroups::isSubgroupFeatureSupportedForDevice(context, VK_SUBGROUP_FEATURE_BASIC_BIT))
        {
                return tcu::TestStatus::fail(
@@ -2160,7 +2161,7 @@ tcu::TestCaseGroup* createSubgroupsBasicTests(tcu::TestContext& testCtx)
                        const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT};
                        addFunctionCaseWithPrograms(group.get(),
                                                                                op + "_" + getShaderStageName(caseDef.shaderStage), "",
-                                                                               initPrograms, test, caseDef);
+                                                                               supportedCheck, initPrograms, test, caseDef);
                }
 
                if (OPTYPE_SUBGROUP_MEMORY_BARRIER_SHARED == opTypeIndex)
@@ -2173,7 +2174,7 @@ tcu::TestCaseGroup* createSubgroupsBasicTests(tcu::TestContext& testCtx)
                        const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS};
                        addFunctionCaseWithPrograms(group.get(),
                                                                                op + "_graphic", "",
-                                                                               initPrograms, test, caseDef);
+                                                                               supportedCheck, initPrograms, test, caseDef);
                }
 
                if (OPTYPE_ELECT == opTypeIndex)
@@ -2183,7 +2184,7 @@ tcu::TestCaseGroup* createSubgroupsBasicTests(tcu::TestContext& testCtx)
                                const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex]};
                                addFunctionCaseWithPrograms(group.get(),
                                                        op + "_" + getShaderStageName(caseDef.shaderStage)+"_framebuffer", "",
-                                                       initFrameBufferPrograms, noSSBOtest, caseDef);
+                                                       supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
                        }
                }
                else
@@ -2193,7 +2194,7 @@ tcu::TestCaseGroup* createSubgroupsBasicTests(tcu::TestContext& testCtx)
                                const CaseDefinition caseDefFrag = {opTypeIndex, stages[stageIndex]};
                                addFunctionCaseWithPrograms(group.get(),
                                                        op + "_" + getShaderStageName(caseDefFrag.shaderStage)+"_framebuffer", "",
-                                                       initFrameBufferPrograms, noSSBOtest, caseDefFrag);
+                                                       supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDefFrag);
                        }
                }
 
old mode 100644 (file)
new mode 100755 (executable)
index 92f9de6..9d716f4
@@ -1390,11 +1390,15 @@ void initPrograms(SourceCollections& programCollection, CaseDefinition caseDef)
        }
 }
 
-tcu::TestStatus noSSBOtest(Context& context, const CaseDefinition caseDef)
+void supportedCheck (Context& context, CaseDefinition caseDef)
 {
+       DE_UNREF(caseDef);
        if (!subgroups::isSubgroupSupported(context))
                TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
+}
 
+tcu::TestStatus noSSBOtest(Context& context, const CaseDefinition caseDef)
+{
        if (!areSubgroupOperationsSupportedForStage(
                                context, caseDef.shaderStage))
        {
@@ -1426,9 +1430,6 @@ tcu::TestStatus noSSBOtest(Context& context, const CaseDefinition caseDef)
 
 tcu::TestStatus test(Context& context, const CaseDefinition caseDef)
 {
-       if (!subgroups::isSubgroupSupported(context))
-               TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
-
        if (!subgroups::isSubgroupFeatureSupportedForDevice(context, VK_SUBGROUP_FEATURE_BALLOT_BIT))
        {
                TCU_THROW(NotSupportedError, "Device does not support subgroup ballot operations");
@@ -1505,7 +1506,7 @@ tcu::TestCaseGroup* createSubgroupsBuiltinMaskVarTests(tcu::TestContext& testCtx
                        const CaseDefinition caseDef = {"gl_" + var, VK_SHADER_STAGE_ALL_GRAPHICS};
                        addFunctionCaseWithPrograms(group.get(),
                                                                                varLower + "_graphic" , "",
-                                                                               initPrograms, test, caseDef);
+                                                                               supportedCheck, initPrograms, test, caseDef);
                }
 
                {
@@ -1513,7 +1514,7 @@ tcu::TestCaseGroup* createSubgroupsBuiltinMaskVarTests(tcu::TestContext& testCtx
                        addFunctionCaseWithPrograms(group.get(),
                                                                                varLower + "_" +
                                                                                getShaderStageName(caseDef.shaderStage), "",
-                                                                               initPrograms, test, caseDef);
+                                                                               supportedCheck, initPrograms, test, caseDef);
                }
 
                for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex)
@@ -1522,7 +1523,7 @@ tcu::TestCaseGroup* createSubgroupsBuiltinMaskVarTests(tcu::TestContext& testCtx
                        addFunctionCaseWithPrograms(group.get(),
                                                varLower + "_" +
                                                getShaderStageName(caseDef.shaderStage)+"_framebuffer", "",
-                                               initFrameBufferPrograms, noSSBOtest, caseDef);
+                                               supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
                }
        }
 
old mode 100644 (file)
new mode 100755 (executable)
index 55ed775..2946f69
@@ -1510,11 +1510,15 @@ void initPrograms(SourceCollections& programCollection, CaseDefinition caseDef)
        }
 }
 
-tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
+void supportedCheck (Context& context, CaseDefinition caseDef)
 {
+       DE_UNREF(caseDef);
        if (!subgroups::isSubgroupSupported(context))
                TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
+}
 
+tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
+{
        if (!areSubgroupOperationsSupportedForStage(
                                context, caseDef.shaderStage))
        {
@@ -1596,9 +1600,6 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 
 tcu::TestStatus test(Context& context, const CaseDefinition caseDef)
 {
-       if (!subgroups::isSubgroupSupported(context))
-               TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
-
        if (VK_SHADER_STAGE_COMPUTE_BIT == caseDef.shaderStage)
        {
                if (!areSubgroupOperationsSupportedForStage(context, caseDef.shaderStage))
@@ -1709,14 +1710,14 @@ tcu::TestCaseGroup* createSubgroupsBuiltinVarTests(tcu::TestContext& testCtx)
 
                        addFunctionCaseWithPrograms(group.get(),
                                                                                varLower + "_graphic", "",
-                                                                               initPrograms, test, caseDef);
+                                                                               supportedCheck, initPrograms, test, caseDef);
                }
 
                {
                        const CaseDefinition caseDef = {"gl_" + var, VK_SHADER_STAGE_COMPUTE_BIT};
                        addFunctionCaseWithPrograms(group.get(),
                                                varLower + "_" + getShaderStageName(caseDef.shaderStage), "",
-                                               initPrograms, test, caseDef);
+                                               supportedCheck, initPrograms, test, caseDef);
                }
 
                for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex)
@@ -1724,7 +1725,7 @@ tcu::TestCaseGroup* createSubgroupsBuiltinVarTests(tcu::TestContext& testCtx)
                        const CaseDefinition caseDef = {"gl_" + var, stages[stageIndex]};
                        addFunctionCaseWithPrograms(group.get(),
                                                varLower + "_" + getShaderStageName(caseDef.shaderStage)+"_framebuffer", "",
-                                               initFrameBufferPrograms, noSSBOtest, caseDef);
+                                               supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
                }
        }
 
@@ -1736,7 +1737,7 @@ tcu::TestCaseGroup* createSubgroupsBuiltinVarTests(tcu::TestContext& testCtx)
 
                addFunctionCaseWithPrograms(group.get(), de::toLower(var) +
                                                                        "_" + getShaderStageName(caseDef.shaderStage), "",
-                                                                       initPrograms, test, caseDef);
+                                                                       supportedCheck, initPrograms, test, caseDef);
        }
 
        return group.release();
old mode 100644 (file)
new mode 100755 (executable)
index d46c78a..5231b76
@@ -737,7 +737,7 @@ void initPrograms(SourceCollections& programCollection, CaseDefinition caseDef)
        }
 }
 
-void supportedCheck (Context& context, const CaseDefinition& caseDef)
+void supportedCheck (Context& context, CaseDefinition caseDef)
 {
        if (!subgroups::isSubgroupSupported(context))
                TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
@@ -754,8 +754,6 @@ void supportedCheck (Context& context, const CaseDefinition& caseDef)
 
 tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck (context, caseDef);
-
        if (!subgroups::areSubgroupOperationsSupportedForStage(
                                context, caseDef.shaderStage))
        {
@@ -792,8 +790,6 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 
 tcu::TestStatus test(Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck (context, caseDef);
-
        if (VK_SHADER_STAGE_COMPUTE_BIT == caseDef.shaderStage)
        {
                if (!subgroups::areSubgroupOperationsSupportedForStage(context, caseDef.shaderStage))
@@ -939,20 +935,20 @@ tcu::TestCaseGroup* createSubgroupsClusteredTests(tcu::TestContext& testCtx)
                        {
                                const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format};
                                addFunctionCaseWithPrograms(group.get(), name+"_" + getShaderStageName(caseDef.shaderStage),
-                                                                               "", initPrograms, test, caseDef);
+                                                                               "", supportedCheck, initPrograms, test, caseDef);
                        }
 
                        {
                                const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format};
                                addFunctionCaseWithPrograms(group.get(), name+"_graphic",
-                                                                               "", initPrograms, test, caseDef);
+                                                                               "", supportedCheck, initPrograms, test, caseDef);
                        }
 
                        for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex)
                        {
                                const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format};
                                addFunctionCaseWithPrograms(group.get(), name +"_" + getShaderStageName(caseDef.shaderStage) + "_framebuffer", "",
-                                                                                       initFrameBufferPrograms, noSSBOtest, caseDef);
+                                                                                       supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
                        }
                }
        }
diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsPartitionedTests.cpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsPartitionedTests.cpp
new file mode 100755 (executable)
index 0000000..621905e
--- /dev/null
@@ -0,0 +1,1047 @@
+/*------------------------------------------------------------------------
+ * Vulkan Conformance Tests
+ * ------------------------
+ *
+ * Copyright (c) 2017 The Khronos Group Inc.
+ * Copyright (c) 2017 Codeplay Software Ltd.
+ * Copyright (c) 2018 NVIDIA 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 Subgroups Tests
+ */ /*--------------------------------------------------------------------*/
+
+#include "vktSubgroupsPartitionedTests.hpp"
+#include "vktSubgroupsTestsUtils.hpp"
+
+#include <string>
+#include <vector>
+
+using namespace tcu;
+using namespace std;
+using namespace vk;
+using namespace vkt;
+
+namespace
+{
+enum OpType
+{
+       OPTYPE_ADD = 0,
+       OPTYPE_MUL,
+       OPTYPE_MIN,
+       OPTYPE_MAX,
+       OPTYPE_AND,
+       OPTYPE_OR,
+       OPTYPE_XOR,
+       OPTYPE_INCLUSIVE_ADD,
+       OPTYPE_INCLUSIVE_MUL,
+       OPTYPE_INCLUSIVE_MIN,
+       OPTYPE_INCLUSIVE_MAX,
+       OPTYPE_INCLUSIVE_AND,
+       OPTYPE_INCLUSIVE_OR,
+       OPTYPE_INCLUSIVE_XOR,
+       OPTYPE_EXCLUSIVE_ADD,
+       OPTYPE_EXCLUSIVE_MUL,
+       OPTYPE_EXCLUSIVE_MIN,
+       OPTYPE_EXCLUSIVE_MAX,
+       OPTYPE_EXCLUSIVE_AND,
+       OPTYPE_EXCLUSIVE_OR,
+       OPTYPE_EXCLUSIVE_XOR,
+       OPTYPE_LAST
+};
+
+static bool checkVertexPipelineStages(std::vector<const void*> datas,
+                                                                         deUint32 width, deUint32)
+{
+       const deUint32* data =
+               reinterpret_cast<const deUint32*>(datas[0]);
+       for (deUint32 x = 0; x < width; ++x)
+       {
+               deUint32 val = data[x];
+
+               if (0xFFFFFF != val)
+               {
+                       return false;
+               }
+       }
+
+       return true;
+}
+
+static bool checkCompute(std::vector<const void*> datas,
+                                                const deUint32 numWorkgroups[3], const deUint32 localSize[3],
+                                                deUint32)
+{
+       const deUint32* data =
+               reinterpret_cast<const deUint32*>(datas[0]);
+
+       for (deUint32 nX = 0; nX < numWorkgroups[0]; ++nX)
+       {
+               for (deUint32 nY = 0; nY < numWorkgroups[1]; ++nY)
+               {
+                       for (deUint32 nZ = 0; nZ < numWorkgroups[2]; ++nZ)
+                       {
+                               for (deUint32 lX = 0; lX < localSize[0]; ++lX)
+                               {
+                                       for (deUint32 lY = 0; lY < localSize[1]; ++lY)
+                                       {
+                                               for (deUint32 lZ = 0; lZ < localSize[2];
+                                                               ++lZ)
+                                               {
+                                                       const deUint32 globalInvocationX =
+                                                               nX * localSize[0] + lX;
+                                                       const deUint32 globalInvocationY =
+                                                               nY * localSize[1] + lY;
+                                                       const deUint32 globalInvocationZ =
+                                                               nZ * localSize[2] + lZ;
+
+                                                       const deUint32 globalSizeX =
+                                                               numWorkgroups[0] * localSize[0];
+                                                       const deUint32 globalSizeY =
+                                                               numWorkgroups[1] * localSize[1];
+
+                                                       const deUint32 offset =
+                                                               globalSizeX *
+                                                               ((globalSizeY *
+                                                                 globalInvocationZ) +
+                                                                globalInvocationY) +
+                                                               globalInvocationX;
+
+                                                       if (0xFFFFFF != data[offset])
+                                                       {
+                                                               return false;
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+               }
+       }
+
+       return true;
+}
+
+std::string getOpTypeName(int opType)
+{
+       switch (opType)
+       {
+               default:
+                       DE_FATAL("Unsupported op type");
+               case OPTYPE_ADD:
+                       return "subgroupAdd";
+               case OPTYPE_MUL:
+                       return "subgroupMul";
+               case OPTYPE_MIN:
+                       return "subgroupMin";
+               case OPTYPE_MAX:
+                       return "subgroupMax";
+               case OPTYPE_AND:
+                       return "subgroupAnd";
+               case OPTYPE_OR:
+                       return "subgroupOr";
+               case OPTYPE_XOR:
+                       return "subgroupXor";
+               case OPTYPE_INCLUSIVE_ADD:
+                       return "subgroupInclusiveAdd";
+               case OPTYPE_INCLUSIVE_MUL:
+                       return "subgroupInclusiveMul";
+               case OPTYPE_INCLUSIVE_MIN:
+                       return "subgroupInclusiveMin";
+               case OPTYPE_INCLUSIVE_MAX:
+                       return "subgroupInclusiveMax";
+               case OPTYPE_INCLUSIVE_AND:
+                       return "subgroupInclusiveAnd";
+               case OPTYPE_INCLUSIVE_OR:
+                       return "subgroupInclusiveOr";
+               case OPTYPE_INCLUSIVE_XOR:
+                       return "subgroupInclusiveXor";
+               case OPTYPE_EXCLUSIVE_ADD:
+                       return "subgroupExclusiveAdd";
+               case OPTYPE_EXCLUSIVE_MUL:
+                       return "subgroupExclusiveMul";
+               case OPTYPE_EXCLUSIVE_MIN:
+                       return "subgroupExclusiveMin";
+               case OPTYPE_EXCLUSIVE_MAX:
+                       return "subgroupExclusiveMax";
+               case OPTYPE_EXCLUSIVE_AND:
+                       return "subgroupExclusiveAnd";
+               case OPTYPE_EXCLUSIVE_OR:
+                       return "subgroupExclusiveOr";
+               case OPTYPE_EXCLUSIVE_XOR:
+                       return "subgroupExclusiveXor";
+       }
+}
+
+std::string getOpTypeNamePartitioned(int opType)
+{
+       switch (opType)
+       {
+               default:
+                       DE_FATAL("Unsupported op type");
+               case OPTYPE_ADD:
+                       return "subgroupPartitionedAddNV";
+               case OPTYPE_MUL:
+                       return "subgroupPartitionedMulNV";
+               case OPTYPE_MIN:
+                       return "subgroupPartitionedMinNV";
+               case OPTYPE_MAX:
+                       return "subgroupPartitionedMaxNV";
+               case OPTYPE_AND:
+                       return "subgroupPartitionedAndNV";
+               case OPTYPE_OR:
+                       return "subgroupPartitionedOrNV";
+               case OPTYPE_XOR:
+                       return "subgroupPartitionedXorNV";
+               case OPTYPE_INCLUSIVE_ADD:
+                       return "subgroupPartitionedInclusiveAddNV";
+               case OPTYPE_INCLUSIVE_MUL:
+                       return "subgroupPartitionedInclusiveMulNV";
+               case OPTYPE_INCLUSIVE_MIN:
+                       return "subgroupPartitionedInclusiveMinNV";
+               case OPTYPE_INCLUSIVE_MAX:
+                       return "subgroupPartitionedInclusiveMaxNV";
+               case OPTYPE_INCLUSIVE_AND:
+                       return "subgroupPartitionedInclusiveAndNV";
+               case OPTYPE_INCLUSIVE_OR:
+                       return "subgroupPartitionedInclusiveOrNV";
+               case OPTYPE_INCLUSIVE_XOR:
+                       return "subgroupPartitionedInclusiveXorNV";
+               case OPTYPE_EXCLUSIVE_ADD:
+                       return "subgroupPartitionedExclusiveAddNV";
+               case OPTYPE_EXCLUSIVE_MUL:
+                       return "subgroupPartitionedExclusiveMulNV";
+               case OPTYPE_EXCLUSIVE_MIN:
+                       return "subgroupPartitionedExclusiveMinNV";
+               case OPTYPE_EXCLUSIVE_MAX:
+                       return "subgroupPartitionedExclusiveMaxNV";
+               case OPTYPE_EXCLUSIVE_AND:
+                       return "subgroupPartitionedExclusiveAndNV";
+               case OPTYPE_EXCLUSIVE_OR:
+                       return "subgroupPartitionedExclusiveOrNV";
+               case OPTYPE_EXCLUSIVE_XOR:
+                       return "subgroupPartitionedExclusiveXorNV";
+       }
+}
+
+std::string getIdentity(int opType, vk::VkFormat format)
+{
+       bool isFloat = false;
+       bool isInt = false;
+       bool isUnsigned = false;
+
+       switch (format)
+       {
+               default:
+                       DE_FATAL("Unhandled format!");
+               case VK_FORMAT_R32_SINT:
+               case VK_FORMAT_R32G32_SINT:
+               case VK_FORMAT_R32G32B32_SINT:
+               case VK_FORMAT_R32G32B32A32_SINT:
+                       isInt = true;
+                       break;
+               case VK_FORMAT_R32_UINT:
+               case VK_FORMAT_R32G32_UINT:
+               case VK_FORMAT_R32G32B32_UINT:
+               case VK_FORMAT_R32G32B32A32_UINT:
+                       isUnsigned = true;
+                       break;
+               case VK_FORMAT_R32_SFLOAT:
+               case VK_FORMAT_R32G32_SFLOAT:
+               case VK_FORMAT_R32G32B32_SFLOAT:
+               case VK_FORMAT_R32G32B32A32_SFLOAT:
+               case VK_FORMAT_R64_SFLOAT:
+               case VK_FORMAT_R64G64_SFLOAT:
+               case VK_FORMAT_R64G64B64_SFLOAT:
+               case VK_FORMAT_R64G64B64A64_SFLOAT:
+                       isFloat = true;
+                       break;
+               case VK_FORMAT_R8_USCALED:
+               case VK_FORMAT_R8G8_USCALED:
+               case VK_FORMAT_R8G8B8_USCALED:
+               case VK_FORMAT_R8G8B8A8_USCALED:
+                       break; // bool types are not anything
+       }
+
+       switch (opType)
+       {
+               default:
+                       DE_FATAL("Unsupported op type");
+               case OPTYPE_ADD:
+               case OPTYPE_INCLUSIVE_ADD:
+               case OPTYPE_EXCLUSIVE_ADD:
+                       return subgroups::getFormatNameForGLSL(format) + "(0)";
+               case OPTYPE_MUL:
+               case OPTYPE_INCLUSIVE_MUL:
+               case OPTYPE_EXCLUSIVE_MUL:
+                       return subgroups::getFormatNameForGLSL(format) + "(1)";
+               case OPTYPE_MIN:
+               case OPTYPE_INCLUSIVE_MIN:
+               case OPTYPE_EXCLUSIVE_MIN:
+                       if (isFloat)
+                       {
+                               return subgroups::getFormatNameForGLSL(format) + "(intBitsToFloat(0x7f800000))";
+                       }
+                       else if (isInt)
+                       {
+                               return subgroups::getFormatNameForGLSL(format) + "(0x7fffffff)";
+                       }
+                       else if (isUnsigned)
+                       {
+                               return subgroups::getFormatNameForGLSL(format) + "(0xffffffffu)";
+                       }
+                       else
+                       {
+                               DE_FATAL("Unhandled case");
+                       }
+               case OPTYPE_MAX:
+               case OPTYPE_INCLUSIVE_MAX:
+               case OPTYPE_EXCLUSIVE_MAX:
+                       if (isFloat)
+                       {
+                               return subgroups::getFormatNameForGLSL(format) + "(intBitsToFloat(0xff800000))";
+                       }
+                       else if (isInt)
+                       {
+                               return subgroups::getFormatNameForGLSL(format) + "(0x80000000)";
+                       }
+                       else if (isUnsigned)
+                       {
+                               return subgroups::getFormatNameForGLSL(format) + "(0)";
+                       }
+                       else
+                       {
+                               DE_FATAL("Unhandled case");
+                       }
+               case OPTYPE_AND:
+               case OPTYPE_INCLUSIVE_AND:
+               case OPTYPE_EXCLUSIVE_AND:
+                       return subgroups::getFormatNameForGLSL(format) + "(~0)";
+               case OPTYPE_OR:
+               case OPTYPE_INCLUSIVE_OR:
+               case OPTYPE_EXCLUSIVE_OR:
+                       return subgroups::getFormatNameForGLSL(format) + "(0)";
+               case OPTYPE_XOR:
+               case OPTYPE_INCLUSIVE_XOR:
+               case OPTYPE_EXCLUSIVE_XOR:
+                       return subgroups::getFormatNameForGLSL(format) + "(0)";
+       }
+}
+
+std::string getCompare(int opType, vk::VkFormat format, std::string lhs, std::string rhs)
+{
+       std::string formatName = subgroups::getFormatNameForGLSL(format);
+       switch (format)
+       {
+               default:
+                       return "all(equal(" + lhs + ", " + rhs + "))";
+               case VK_FORMAT_R8_USCALED:
+               case VK_FORMAT_R32_UINT:
+               case VK_FORMAT_R32_SINT:
+                       return "(" + lhs + " == " + rhs + ")";
+               case VK_FORMAT_R32_SFLOAT:
+               case VK_FORMAT_R64_SFLOAT:
+                       switch (opType)
+                       {
+                               default:
+                                       return "(abs(" + lhs + " - " + rhs + ") < 0.00001)";
+                               case OPTYPE_MIN:
+                               case OPTYPE_INCLUSIVE_MIN:
+                               case OPTYPE_EXCLUSIVE_MIN:
+                               case OPTYPE_MAX:
+                               case OPTYPE_INCLUSIVE_MAX:
+                               case OPTYPE_EXCLUSIVE_MAX:
+                                       return "(" + lhs + " == " + rhs + ")";
+                       }
+               case VK_FORMAT_R32G32_SFLOAT:
+               case VK_FORMAT_R32G32B32_SFLOAT:
+               case VK_FORMAT_R32G32B32A32_SFLOAT:
+               case VK_FORMAT_R64G64_SFLOAT:
+               case VK_FORMAT_R64G64B64_SFLOAT:
+               case VK_FORMAT_R64G64B64A64_SFLOAT:
+                       switch (opType)
+                       {
+                               default:
+                                       return "all(lessThan(abs(" + lhs + " - " + rhs + "), " + formatName + "(0.00001)))";
+                               case OPTYPE_MIN:
+                               case OPTYPE_INCLUSIVE_MIN:
+                               case OPTYPE_EXCLUSIVE_MIN:
+                               case OPTYPE_MAX:
+                               case OPTYPE_INCLUSIVE_MAX:
+                               case OPTYPE_EXCLUSIVE_MAX:
+                                       return "all(equal(" + lhs + ", " + rhs + "))";
+                       }
+       }
+}
+
+struct CaseDefinition
+{
+       int                                     opType;
+       VkShaderStageFlags      shaderStage;
+       VkFormat                        format;
+};
+
+string getTestString(const CaseDefinition &caseDef)
+{
+    // NOTE: tempResult can't have anything in bits 31:24 to avoid int->float
+    // conversion overflow in framebuffer tests.
+    string fmt = subgroups::getFormatNameForGLSL(caseDef.format);
+       string bdy =
+               "  uint tempResult = 0;\n"
+               "  uint id = gl_SubgroupInvocationID;\n";
+
+    // Test the case where the partition has a single subset with all invocations in it.
+    // This should generate the same result as the non-partitioned function.
+    bdy +=
+        "  uvec4 allBallot = mask;\n"
+        "  " + fmt + " allResult = " + getOpTypeNamePartitioned(caseDef.opType) + "(data[gl_SubgroupInvocationID], allBallot);\n"
+        "  " + fmt + " refResult = " + getOpTypeName(caseDef.opType) + "(data[gl_SubgroupInvocationID]);\n"
+        "  if (" + getCompare(caseDef.opType, caseDef.format, "allResult", "refResult") + ") {\n"
+        "      tempResult |= 0x1;\n"
+        "  }\n";
+
+    // The definition of a partition doesn't forbid bits corresponding to inactive
+    // invocations being in the subset with active invocations. In other words, test that
+    // bits corresponding to inactive invocations are ignored.
+    bdy +=
+           "  if (0 == (gl_SubgroupInvocationID % 2)) {\n"
+        "    " + fmt + " allResult = " + getOpTypeNamePartitioned(caseDef.opType) + "(data[gl_SubgroupInvocationID], allBallot);\n"
+        "    " + fmt + " refResult = " + getOpTypeName(caseDef.opType) + "(data[gl_SubgroupInvocationID]);\n"
+        "    if (" + getCompare(caseDef.opType, caseDef.format, "allResult", "refResult") + ") {\n"
+        "        tempResult |= 0x2;\n"
+        "    }\n"
+        "  } else {\n"
+        "    tempResult |= 0x2;\n"
+        "  }\n";
+
+    // Test the case where the partition has each invocation in a unique subset. For
+    // exclusive ops, the result is identity. For reduce/inclusive, it's the original value.
+    string expectedSelfResult = "data[gl_SubgroupInvocationID]";
+    if (caseDef.opType >= OPTYPE_EXCLUSIVE_ADD &&
+        caseDef.opType <= OPTYPE_EXCLUSIVE_XOR) {
+        expectedSelfResult = getIdentity(caseDef.opType, caseDef.format);
+    }
+
+    bdy +=
+        "  uvec4 selfBallot = subgroupPartitionNV(gl_SubgroupInvocationID);\n"
+        "  " + fmt + " selfResult = " + getOpTypeNamePartitioned(caseDef.opType) + "(data[gl_SubgroupInvocationID], selfBallot);\n"
+        "  if (" + getCompare(caseDef.opType, caseDef.format, "selfResult", expectedSelfResult) + ") {\n"
+        "      tempResult |= 0x4;\n"
+        "  }\n";
+
+    // Test "random" partitions based on a hash of the invocation id.
+    // This "hash" function produces interesting/randomish partitions.
+    static const char *idhash = "((id%N)+(id%(N+1))-(id%2)+(id/2))%((N+1)/2)";
+
+    bdy +=
+               "  for (uint N = 1; N < 16; ++N) {\n"
+               "    " + fmt + " idhashFmt = " + fmt + "(" + idhash + ");\n"
+               "    uvec4 partitionBallot = subgroupPartitionNV(idhashFmt) & mask;\n"
+               "    " + fmt + " partitionedResult = " + getOpTypeNamePartitioned(caseDef.opType) + "(data[gl_SubgroupInvocationID], partitionBallot);\n"
+               "      for (uint i = 0; i < N; ++i) {\n"
+               "        " + fmt + " iFmt = " + fmt + "(i);\n"
+        "        if (" + getCompare(caseDef.opType, caseDef.format, "idhashFmt", "iFmt") + ") {\n"
+        "          " + fmt + " subsetResult = " + getOpTypeName(caseDef.opType) + "(data[gl_SubgroupInvocationID]);\n"
+        "          tempResult |= " + getCompare(caseDef.opType, caseDef.format, "partitionedResult", "subsetResult") + " ? (0x4 << N) : 0;\n"
+        "        }\n"
+        "      }\n"
+        "  }\n"
+        // tests in flow control:
+               "  if (1 == (gl_SubgroupInvocationID % 2)) {\n"
+        "    for (uint N = 1; N < 7; ++N) {\n"
+               "      " + fmt + " idhashFmt = " + fmt + "(" + idhash + ");\n"
+               "      uvec4 partitionBallot = subgroupPartitionNV(idhashFmt) & mask;\n"
+        "      " + fmt + " partitionedResult = " + getOpTypeNamePartitioned(caseDef.opType) + "(data[gl_SubgroupInvocationID], partitionBallot);\n"
+        "        for (uint i = 0; i < N; ++i) {\n"
+               "          " + fmt + " iFmt = " + fmt + "(i);\n"
+        "          if (" + getCompare(caseDef.opType, caseDef.format, "idhashFmt", "iFmt") + ") {\n"
+        "            " + fmt + " subsetResult = " + getOpTypeName(caseDef.opType) + "(data[gl_SubgroupInvocationID]);\n"
+        "            tempResult |= " + getCompare(caseDef.opType, caseDef.format, "partitionedResult", "subsetResult") + " ? (0x20000 << N) : 0;\n"
+        "          }\n"
+        "        }\n"
+        "    }\n"
+        "  } else {\n"
+        "    tempResult |= 0xFC0000;\n"
+        "  }\n"
+        ;
+
+    return bdy;
+}
+
+void initFrameBufferPrograms (SourceCollections& programCollection, CaseDefinition caseDef)
+{
+       const vk::ShaderBuildOptions    buildOptions    (vk::SPIRV_VERSION_1_3, 0u);
+       std::ostringstream                              bdy;
+
+       subgroups::setFragmentShaderFrameBuffer(programCollection);
+
+       if (VK_SHADER_STAGE_VERTEX_BIT != caseDef.shaderStage)
+               subgroups::setVertexShaderFrameBuffer(programCollection);
+
+       bdy << getTestString(caseDef);
+
+       if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage)
+       {
+               std::ostringstream vertexSrc;
+               vertexSrc << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450)<<"\n"
+                       << "#extension GL_NV_shader_subgroup_partitioned: enable\n"
+                       << "#extension GL_KHR_shader_subgroup_arithmetic: enable\n"
+                       << "#extension GL_KHR_shader_subgroup_ballot: enable\n"
+                       << "layout(location = 0) in highp vec4 in_position;\n"
+                       << "layout(location = 0) out float out_color;\n"
+                       << "layout(set = 0, binding = 0) uniform Buffer1\n"
+                       << "{\n"
+                       << "  " << subgroups::getFormatNameForGLSL(caseDef.format) << " data[" << subgroups::maxSupportedSubgroupSize() << "];\n"
+                       << "};\n"
+                       << "\n"
+                       << "void main (void)\n"
+                       << "{\n"
+                       << "  uvec4 mask = subgroupBallot(true);\n"
+                       << bdy.str()
+                       << "  out_color = float(tempResult);\n"
+                       << "  gl_Position = in_position;\n"
+                       << "  gl_PointSize = 1.0f;\n"
+                       << "}\n";
+               programCollection.glslSources.add("vert")
+                       << glu::VertexSource(vertexSrc.str()) << buildOptions;
+       }
+       else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage)
+       {
+               std::ostringstream geometry;
+
+               geometry << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450)<<"\n"
+                       << "#extension GL_NV_shader_subgroup_partitioned: enable\n"
+                       << "#extension GL_KHR_shader_subgroup_arithmetic: enable\n"
+                       << "#extension GL_KHR_shader_subgroup_ballot: enable\n"
+                       << "layout(points) in;\n"
+                       << "layout(points, max_vertices = 1) out;\n"
+                       << "layout(location = 0) out float out_color;\n"
+                       << "layout(set = 0, binding = 0) uniform Buffer\n"
+                       << "{\n"
+                       << "  " << subgroups::getFormatNameForGLSL(caseDef.format) << " data[" << subgroups::maxSupportedSubgroupSize() << "];\n"
+                       << "};\n"
+                       << "\n"
+                       << "void main (void)\n"
+                       << "{\n"
+                       << "  uvec4 mask = subgroupBallot(true);\n"
+                       << bdy.str()
+                       << "  out_color = float(tempResult);\n"
+                       << "  gl_Position = gl_in[0].gl_Position;\n"
+                       << "  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_NV_shader_subgroup_partitioned: enable\n"
+                       << "#extension GL_KHR_shader_subgroup_arithmetic: enable\n"
+                       << "#extension GL_KHR_shader_subgroup_ballot: enable\n"
+                       << "layout(vertices = 2) out;\n"
+                       << "layout(location = 0) out float out_color[];\n"
+                       << "layout(set = 0, binding = 0) uniform Buffer1\n"
+                       << "{\n"
+                       << "  " << subgroups::getFormatNameForGLSL(caseDef.format) << " data[" << subgroups::maxSupportedSubgroupSize() << "];\n"
+                       << "};\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"
+                       << "  uvec4 mask = subgroupBallot(true);\n"
+                       << bdy.str()
+                       << "  out_color[gl_InvocationID] = float(tempResult);"
+                       << "  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_NV_shader_subgroup_partitioned: enable\n"
+                       << "#extension GL_KHR_shader_subgroup_arithmetic: enable\n"
+                       << "#extension GL_KHR_shader_subgroup_ballot: enable\n"
+                       << "layout(isolines, equal_spacing, ccw ) in;\n"
+                       << "layout(location = 0) out float out_color;\n"
+                       << "layout(set = 0, binding = 0) uniform Buffer1\n"
+                       << "{\n"
+                       << "  " << subgroups::getFormatNameForGLSL(caseDef.format) << " data[" << subgroups::maxSupportedSubgroupSize() << "];\n"
+                       << "};\n"
+                       << "\n"
+                       << "void main (void)\n"
+                       << "{\n"
+                       << "  uvec4 mask = subgroupBallot(true);\n"
+                       << bdy.str()
+                       << "  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
+       {
+               DE_FATAL("Unsupported shader stage");
+       }
+}
+
+void initPrograms(SourceCollections& programCollection, CaseDefinition caseDef)
+{
+       const string bdy = getTestString(caseDef);
+
+       if (VK_SHADER_STAGE_COMPUTE_BIT == caseDef.shaderStage)
+       {
+               std::ostringstream src;
+
+               src << "#version 450\n"
+                       << "#extension GL_NV_shader_subgroup_partitioned: enable\n"
+                       << "#extension GL_KHR_shader_subgroup_arithmetic: 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"
+                       << "  uint result[];\n"
+                       << "};\n"
+                       << "layout(set = 0, binding = 1, std430) buffer Buffer2\n"
+                       << "{\n"
+                       << "  " << subgroups::getFormatNameForGLSL(caseDef.format) << " data[];\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"
+                       << "  uvec4 mask = subgroupBallot(true);\n"
+                       << bdy
+                       << "  result[offset] = tempResult;\n"
+                       << "}\n";
+
+               programCollection.glslSources.add("comp")
+                               << glu::ComputeSource(src.str()) << vk::ShaderBuildOptions(vk::SPIRV_VERSION_1_3, 0u);
+       }
+       else
+       {
+               {
+                       const std::string vertex =
+                               "#version 450\n"
+                               "#extension GL_NV_shader_subgroup_partitioned: enable\n"
+                           "#extension GL_KHR_shader_subgroup_arithmetic: enable\n"
+                               "#extension GL_KHR_shader_subgroup_ballot: enable\n"
+                               "layout(set = 0, binding = 0, std430) buffer Buffer1\n"
+                               "{\n"
+                               "  uint result[];\n"
+                               "};\n"
+                               "layout(set = 0, binding = 4, std430) readonly buffer Buffer2\n"
+                               "{\n"
+                               "  " + subgroups::getFormatNameForGLSL(caseDef.format) + " data[];\n"
+                               "};\n"
+                               "\n"
+                               "void main (void)\n"
+                               "{\n"
+                               "  uvec4 mask = subgroupBallot(true);\n"
+                               + bdy+
+                               "  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";
+                       programCollection.glslSources.add("vert")
+                                       << glu::VertexSource(vertex) << vk::ShaderBuildOptions(vk::SPIRV_VERSION_1_3, 0u);
+               }
+
+               {
+                       const std::string tesc =
+                               "#version 450\n"
+                               "#extension GL_NV_shader_subgroup_partitioned: enable\n"
+                           "#extension GL_KHR_shader_subgroup_arithmetic: enable\n"
+                               "#extension GL_KHR_shader_subgroup_ballot: enable\n"
+                               "layout(vertices=1) out;\n"
+                               "layout(set = 0, binding = 1, std430) buffer Buffer1\n"
+                               "{\n"
+                               "  uint result[];\n"
+                               "};\n"
+                               "layout(set = 0, binding = 4, std430) readonly buffer Buffer2\n"
+                               "{\n"
+                               "  " + subgroups::getFormatNameForGLSL(caseDef.format) + " data[];\n"
+                               "};\n"
+                               "\n"
+                               "void main (void)\n"
+                               "{\n"
+                               "  uvec4 mask = subgroupBallot(true);\n"
+                               + bdy +
+                               "  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";
+                       programCollection.glslSources.add("tesc")
+                               << glu::TessellationControlSource(tesc) << vk::ShaderBuildOptions(vk::SPIRV_VERSION_1_3, 0u);
+               }
+
+               {
+                       const std::string tese =
+                               "#version 450\n"
+                               "#extension GL_NV_shader_subgroup_partitioned: enable\n"
+                           "#extension GL_KHR_shader_subgroup_arithmetic: enable\n"
+                               "#extension GL_KHR_shader_subgroup_ballot: enable\n"
+                               "layout(isolines) in;\n"
+                               "layout(set = 0, binding = 2, std430) buffer Buffer1\n"
+                               "{\n"
+                               "  uint result[];\n"
+                               "};\n"
+                               "layout(set = 0, binding = 4, std430) readonly buffer Buffer2\n"
+                               "{\n"
+                               "  " + subgroups::getFormatNameForGLSL(caseDef.format) + " data[];\n"
+                               "};\n"
+                               "\n"
+                               "void main (void)\n"
+                               "{\n"
+                               "  uvec4 mask = subgroupBallot(true);\n"
+                               + bdy +
+                               "  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";
+                       programCollection.glslSources.add("tese")
+                               << glu::TessellationEvaluationSource(tese) << vk::ShaderBuildOptions(vk::SPIRV_VERSION_1_3, 0u);
+               }
+
+               {
+                       const std::string geometry =
+                               "#version 450\n"
+                               "#extension GL_NV_shader_subgroup_partitioned: enable\n"
+                           "#extension GL_KHR_shader_subgroup_arithmetic: enable\n"
+                               "#extension GL_KHR_shader_subgroup_ballot: 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"
+                               "layout(set = 0, binding = 4, std430) readonly buffer Buffer2\n"
+                               "{\n"
+                               "  " + subgroups::getFormatNameForGLSL(caseDef.format) + " data[];\n"
+                               "};\n"
+                               "\n"
+                               "void main (void)\n"
+                               "{\n"
+                               "  uvec4 mask = subgroupBallot(true);\n"
+                                + bdy +
+                               "  result[gl_PrimitiveIDIn] = tempResult;\n"
+                               "  gl_Position = gl_in[0].gl_Position;\n"
+                               "  EmitVertex();\n"
+                               "  EndPrimitive();\n"
+                               "}\n";
+                       subgroups::addGeometryShadersFromTemplate(geometry, vk::ShaderBuildOptions(vk::SPIRV_VERSION_1_3, 0u),
+                                                                                                         programCollection.glslSources);
+               }
+
+               {
+                       const std::string fragment =
+                               "#version 450\n"
+                               "#extension GL_NV_shader_subgroup_partitioned: enable\n"
+                           "#extension GL_KHR_shader_subgroup_arithmetic: enable\n"
+                               "#extension GL_KHR_shader_subgroup_ballot: enable\n"
+                               "layout(location = 0) out uint result;\n"
+                               "layout(set = 0, binding = 4, std430) readonly buffer Buffer2\n"
+                               "{\n"
+                               "  " + subgroups::getFormatNameForGLSL(caseDef.format) + " data[];\n"
+                               "};\n"
+                               "void main (void)\n"
+                               "{\n"
+                               "  uvec4 mask = subgroupBallot(true);\n"
+                               + bdy +
+                               "  result = tempResult;\n"
+                               "}\n";
+                       programCollection.glslSources.add("fragment")
+                               << glu::FragmentSource(fragment)<< vk::ShaderBuildOptions(vk::SPIRV_VERSION_1_3, 0u);
+               }
+               subgroups::addNoSubgroupShader(programCollection);
+       }
+}
+
+void supportedCheck (Context& context, CaseDefinition caseDef)
+{
+       if (!subgroups::isSubgroupSupported(context))
+               TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
+
+       if (!subgroups::isSubgroupFeatureSupportedForDevice(context, VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV))
+       {
+               TCU_THROW(NotSupportedError, "Device does not support subgroup partitioned operations");
+       }
+
+       if (subgroups::isDoubleFormat(caseDef.format) &&
+                       !subgroups::isDoubleSupportedForDevice(context))
+       {
+               TCU_THROW(NotSupportedError, "Device does not support subgroup double operations");
+       }
+}
+
+tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
+{
+       if (!subgroups::areSubgroupOperationsSupportedForStage(
+                               context, caseDef.shaderStage))
+       {
+               if (subgroups::areSubgroupOperationsRequiredForStage(
+                                       caseDef.shaderStage))
+               {
+                       return tcu::TestStatus::fail(
+                                          "Shader stage " +
+                                          subgroups::getShaderStageName(caseDef.shaderStage) +
+                                          " is required to support subgroup operations!");
+               }
+               else
+               {
+                       TCU_THROW(NotSupportedError, "Device does not support subgroup operations for this stage");
+               }
+       }
+
+       subgroups::SSBOData inputData;
+       inputData.format = caseDef.format;
+       inputData.numElements = subgroups::maxSupportedSubgroupSize();
+       inputData.initializeType = subgroups::SSBOData::InitializeNonZero;
+
+       if (VK_SHADER_STAGE_VERTEX_BIT == caseDef.shaderStage)
+               return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages);
+       else if (VK_SHADER_STAGE_GEOMETRY_BIT == caseDef.shaderStage)
+               return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, 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);
+       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);
+       else
+               TCU_THROW(InternalError, "Unhandled shader stage");
+}
+
+bool checkShaderStages (Context& context, const CaseDefinition& caseDef)
+{
+       if (!subgroups::areSubgroupOperationsSupportedForStage(
+                               context, caseDef.shaderStage))
+       {
+               if (subgroups::areSubgroupOperationsRequiredForStage(
+                                       caseDef.shaderStage))
+               {
+                       return false;
+               }
+               else
+               {
+                       TCU_THROW(NotSupportedError, "Device does not support subgroup operations for this stage");
+               }
+       }
+       return true;
+}
+
+tcu::TestStatus test(Context& context, const CaseDefinition caseDef)
+{
+       if (VK_SHADER_STAGE_COMPUTE_BIT == caseDef.shaderStage)
+       {
+               if(!checkShaderStages(context,caseDef))
+               {
+                       return tcu::TestStatus::fail(
+                                                       "Shader stage " +
+                                                       subgroups::getShaderStageName(caseDef.shaderStage) +
+                                                       " is required to support subgroup operations!");
+               }
+               subgroups::SSBOData inputData;
+               inputData.format = caseDef.format;
+               inputData.numElements = subgroups::maxSupportedSubgroupSize();
+               inputData.initializeType = subgroups::SSBOData::InitializeNonZero;
+
+               return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, checkCompute);
+       }
+       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");
+
+               subgroups::SSBOData inputData;
+               inputData.format                        = caseDef.format;
+               inputData.numElements           = subgroups::maxSupportedSubgroupSize();
+               inputData.initializeType        = subgroups::SSBOData::InitializeNonZero;
+               inputData.binding                       = 4u;
+               inputData.stages                        = stages;
+
+               return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData,
+                                                                                1, checkVertexPipelineStages, stages);
+       }
+}
+}
+
+namespace vkt
+{
+namespace subgroups
+{
+tcu::TestCaseGroup* createSubgroupsPartitionedTests(tcu::TestContext& testCtx)
+{
+       de::MovePtr<tcu::TestCaseGroup> group(new tcu::TestCaseGroup(
+                       testCtx, "partitioned", "NV_shader_subgroup_partitioned category tests"));
+
+       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,
+       };
+
+       const VkFormat formats[] =
+       {
+               VK_FORMAT_R32_SINT, VK_FORMAT_R32G32_SINT, VK_FORMAT_R32G32B32_SINT,
+               VK_FORMAT_R32G32B32A32_SINT, VK_FORMAT_R32_UINT, VK_FORMAT_R32G32_UINT,
+               VK_FORMAT_R32G32B32_UINT, VK_FORMAT_R32G32B32A32_UINT,
+               VK_FORMAT_R32_SFLOAT, VK_FORMAT_R32G32_SFLOAT,
+               VK_FORMAT_R32G32B32_SFLOAT, VK_FORMAT_R32G32B32A32_SFLOAT,
+               VK_FORMAT_R64_SFLOAT, VK_FORMAT_R64G64_SFLOAT,
+               VK_FORMAT_R64G64B64_SFLOAT, VK_FORMAT_R64G64B64A64_SFLOAT,
+               VK_FORMAT_R8_USCALED, VK_FORMAT_R8G8_USCALED,
+               VK_FORMAT_R8G8B8_USCALED, VK_FORMAT_R8G8B8A8_USCALED,
+       };
+
+       for (int formatIndex = 0; formatIndex < DE_LENGTH_OF_ARRAY(formats); ++formatIndex)
+       {
+               const VkFormat format = formats[formatIndex];
+
+               for (int opTypeIndex = 0; opTypeIndex < OPTYPE_LAST; ++opTypeIndex)
+               {
+                       bool isBool = false;
+                       bool isFloat = false;
+
+                       switch (format)
+                       {
+                               default:
+                                       break;
+                               case VK_FORMAT_R32_SFLOAT:
+                               case VK_FORMAT_R32G32_SFLOAT:
+                               case VK_FORMAT_R32G32B32_SFLOAT:
+                               case VK_FORMAT_R32G32B32A32_SFLOAT:
+                               case VK_FORMAT_R64_SFLOAT:
+                               case VK_FORMAT_R64G64_SFLOAT:
+                               case VK_FORMAT_R64G64B64_SFLOAT:
+                               case VK_FORMAT_R64G64B64A64_SFLOAT:
+                                       isFloat = true;
+                                       break;
+                               case VK_FORMAT_R8_USCALED:
+                               case VK_FORMAT_R8G8_USCALED:
+                               case VK_FORMAT_R8G8B8_USCALED:
+                               case VK_FORMAT_R8G8B8A8_USCALED:
+                                       isBool = true;
+                                       break;
+                       }
+
+                       bool isBitwiseOp = false;
+
+                       switch (opTypeIndex)
+                       {
+                               default:
+                                       break;
+                               case OPTYPE_AND:
+                               case OPTYPE_INCLUSIVE_AND:
+                               case OPTYPE_EXCLUSIVE_AND:
+                               case OPTYPE_OR:
+                               case OPTYPE_INCLUSIVE_OR:
+                               case OPTYPE_EXCLUSIVE_OR:
+                               case OPTYPE_XOR:
+                               case OPTYPE_INCLUSIVE_XOR:
+                               case OPTYPE_EXCLUSIVE_XOR:
+                                       isBitwiseOp = true;
+                                       break;
+                       }
+
+                       if (isFloat && isBitwiseOp)
+                       {
+                               // Skip float with bitwise category.
+                               continue;
+                       }
+
+                       if (isBool && !isBitwiseOp)
+                       {
+                               // Skip bool when its not the bitwise category.
+                               continue;
+                       }
+                       std::string op = getOpTypeName(opTypeIndex);
+
+                       {
+                               const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format};
+                               addFunctionCaseWithPrograms(group.get(),
+                                                                                       de::toLower(op) + "_" +
+                                                                                       subgroups::getFormatNameForGLSL(format) +
+                                                                                       "_" + getShaderStageName(caseDef.shaderStage),
+                                                                                       "", supportedCheck, initPrograms, test, caseDef);
+                       }
+
+                       {
+                               const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format};
+                               addFunctionCaseWithPrograms(group.get(),
+                                                                                       de::toLower(op) + "_" +
+                                                                                       subgroups::getFormatNameForGLSL(format) +
+                                                                                       "_graphic",
+                                                                                       "", supportedCheck, initPrograms, test, caseDef);
+                       }
+
+                       for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex)
+                       {
+                               const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format};
+                               addFunctionCaseWithPrograms(group.get(), de::toLower(op) + "_" + subgroups::getFormatNameForGLSL(format) +
+                                                                                       "_" + getShaderStageName(caseDef.shaderStage) + "_framebuffer", "",
+                                                                                       supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
+                       }
+               }
+       }
+
+       return group.release();
+}
+
+} // subgroups
+} // vkt
+
diff --git a/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsPartitionedTests.hpp b/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsPartitionedTests.hpp
new file mode 100755 (executable)
index 0000000..c5e5dcf
--- /dev/null
@@ -0,0 +1,41 @@
+#ifndef _VKTSUBGROUPSPARTITIONEDTESTS_HPP
+#define _VKTSUBGROUPSPARTITIONEDTESTS_HPP
+/*------------------------------------------------------------------------
+ * Vulkan Conformance Tests
+ * ------------------------
+ *
+ * Copyright (c) 2017 The Khronos Group Inc.
+ * Copyright (c) 2017 Codeplay Software Ltd.
+ * Copyright (c) 2018 NVIDIA 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 Subgroups Tests
+ */ /*--------------------------------------------------------------------*/
+
+#include "tcuDefs.hpp"
+#include "vktTestCase.hpp"
+
+namespace vkt
+{
+namespace subgroups
+{
+
+tcu::TestCaseGroup* createSubgroupsPartitionedTests(tcu::TestContext& testCtx);
+
+} // subgroups
+} // vkt
+
+#endif // _VKTSUBGROUPSPARTITIONEDTESTS_HPP
old mode 100644 (file)
new mode 100755 (executable)
index bcb408f..c1e85aa
@@ -611,7 +611,7 @@ void initPrograms(SourceCollections& programCollection, CaseDefinition caseDef)
        }
 }
 
-void supportedCheck (Context& context, const CaseDefinition& caseDef)
+void supportedCheck (Context& context, CaseDefinition caseDef)
 {
        if (!subgroups::isSubgroupSupported(context))
                TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
@@ -629,8 +629,6 @@ void supportedCheck (Context& context, const CaseDefinition& caseDef)
 
 tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck (context, caseDef);
-
        if (!subgroups::areSubgroupOperationsSupportedForStage(
                                context, caseDef.shaderStage))
        {
@@ -668,8 +666,6 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 
 tcu::TestStatus test(Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck (context, caseDef);
-
        if (VK_SHADER_STAGE_COMPUTE_BIT == caseDef.shaderStage)
        {
                if (!subgroups::areSubgroupOperationsSupportedForStage(context, caseDef.shaderStage))
@@ -782,7 +778,7 @@ tcu::TestCaseGroup* createSubgroupsQuadTests(tcu::TestContext& testCtx)
 
                                {
                                        const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format, direction};
-                                       addFunctionCaseWithPrograms(group.get(), name.str()+"_"+ getShaderStageName(caseDef.shaderStage), "", initPrograms, test, caseDef);
+                                       addFunctionCaseWithPrograms(group.get(), name.str()+"_"+ getShaderStageName(caseDef.shaderStage), "", supportedCheck, initPrograms, test, caseDef);
                                }
 
                                {
@@ -793,13 +789,13 @@ tcu::TestCaseGroup* createSubgroupsQuadTests(tcu::TestContext& testCtx)
                                                format,
                                                direction
                                        };
-                                       addFunctionCaseWithPrograms(group.get(), name.str()+"_graphic", "", initPrograms, test, caseDef);
+                                       addFunctionCaseWithPrograms(group.get(), name.str()+"_graphic", "", supportedCheck, initPrograms, test, caseDef);
                                }
                                for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex)
                                {
                                        const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format, direction};
                                        addFunctionCaseWithPrograms(group.get(), name.str()+"_"+ getShaderStageName(caseDef.shaderStage)+"_framebuffer", "",
-                                                                                               initFrameBufferPrograms, noSSBOtest, caseDef);
+                                                                                               supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
                                }
 
                        }
old mode 100644 (file)
new mode 100755 (executable)
index bb3195e..dcabc30
@@ -489,7 +489,7 @@ void initPrograms(SourceCollections& programCollection, CaseDefinition caseDef)
        }
 }
 
-void supportedCheck (Context& context, const CaseDefinition& caseDef)
+void supportedCheck (Context& context, CaseDefinition caseDef)
 {
        if (!subgroups::isSubgroupSupported(context))
                TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
@@ -518,8 +518,6 @@ void supportedCheck (Context& context, const CaseDefinition& caseDef)
 
 tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck (context, caseDef);
-
        if (!subgroups::areSubgroupOperationsSupportedForStage(
                                context, caseDef.shaderStage))
        {
@@ -552,8 +550,6 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 
 tcu::TestStatus test(Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck (context, caseDef);
-
        if (!subgroups::isSubgroupFeatureSupportedForDevice(context, VK_SUBGROUP_FEATURE_BASIC_BIT))
        {
                return tcu::TestStatus::fail(
@@ -628,7 +624,7 @@ tcu::TestCaseGroup* createSubgroupsShapeTests(tcu::TestContext& testCtx)
                        const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT};
                        addFunctionCaseWithPrograms(group.get(),
                                                                        op + "_" + getShaderStageName(caseDef.shaderStage), "",
-                                                                       initPrograms, test, caseDef);
+                                                                       supportedCheck, initPrograms, test, caseDef);
                }
 
                {
@@ -639,14 +635,14 @@ tcu::TestCaseGroup* createSubgroupsShapeTests(tcu::TestContext& testCtx)
                        };
                        addFunctionCaseWithPrograms(group.get(),
                                                                        op + "_graphic", "",
-                                                                       initPrograms, test, caseDef);
+                                                                       supportedCheck, initPrograms, test, caseDef);
                }
 
                for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex)
                {
                        const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex]};
                        addFunctionCaseWithPrograms(group.get(),op + "_" + getShaderStageName(caseDef.shaderStage) + "_framebuffer", "",
-                                                                               initFrameBufferPrograms, noSSBOtest, caseDef);
+                                                                               supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
                }
        }
 
old mode 100644 (file)
new mode 100755 (executable)
index 57d5b95..5041ff7
@@ -645,7 +645,7 @@ void initPrograms(SourceCollections& programCollection, CaseDefinition caseDef)
        }
 }
 
-void supportedCheck (Context& context, const CaseDefinition& caseDef)
+void supportedCheck (Context& context, CaseDefinition caseDef)
 {
        if (!subgroups::isSubgroupSupported(context))
                TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
@@ -674,8 +674,6 @@ void supportedCheck (Context& context, const CaseDefinition& caseDef)
 
 tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck (context, caseDef);
-
        if (!subgroups::areSubgroupOperationsSupportedForStage(
                                context, caseDef.shaderStage))
        {
@@ -717,9 +715,6 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 
 tcu::TestStatus test(Context& context, const CaseDefinition caseDef)
 {
-       if (!subgroups::isSubgroupSupported(context))
-               TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
-
        switch (caseDef.opType)
        {
                case OPTYPE_SHUFFLE:
@@ -855,20 +850,20 @@ tcu::TestCaseGroup* createSubgroupsShuffleTests(tcu::TestContext& testCtx)
                                        format
                                };
                                addFunctionCaseWithPrograms(group.get(), name + "_graphic", "",
-                                                                                       initPrograms, test, caseDef);
+                                                                                       supportedCheck, initPrograms, test, caseDef);
                        }
 
                        {
                                const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format};
                                addFunctionCaseWithPrograms(group.get(), name + "_" + getShaderStageName(caseDef.shaderStage), "",
-                                                                                       initPrograms, test, caseDef);
+                                                                                       supportedCheck, initPrograms, test, caseDef);
                        }
 
                        for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex)
                        {
                                const CaseDefinition caseDef = {opTypeIndex, stages[stageIndex], format};
                                addFunctionCaseWithPrograms(group.get(), name + "_" + getShaderStageName(caseDef.shaderStage) + "_framebuffer", "",
-                                                                                       initFrameBufferPrograms, noSSBOtest, caseDef);
+                                                                                       supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
                        }
                }
        }
old mode 100644 (file)
new mode 100755 (executable)
index 142811e..916f903
@@ -32,6 +32,7 @@
 #include "vktSubgroupsBallotOtherTests.hpp"
 #include "vktSubgroupsArithmeticTests.hpp"
 #include "vktSubgroupsClusteredTests.hpp"
+#include "vktSubgroupsPartitionedTests.hpp"
 #include "vktSubgroupsShuffleTests.hpp"
 #include "vktSubgroupsQuadTests.hpp"
 #include "vktSubgroupsShapeTests.hpp"
@@ -58,6 +59,7 @@ void createChildren(tcu::TestCaseGroup* subgroupsTests)
        subgroupsTests->addChild(createSubgroupsBallotOtherTests(testCtx));
        subgroupsTests->addChild(createSubgroupsArithmeticTests(testCtx));
        subgroupsTests->addChild(createSubgroupsClusteredTests(testCtx));
+       subgroupsTests->addChild(createSubgroupsPartitionedTests(testCtx));
        subgroupsTests->addChild(createSubgroupsShuffleTests(testCtx));
        subgroupsTests->addChild(createSubgroupsQuadTests(testCtx));
        subgroupsTests->addChild(createSubgroupsShapeTests(testCtx));
index 17f2003..c9f7af1 100644 (file)
@@ -1402,7 +1402,7 @@ void initializeMemory(Context& context, const Allocation& alloc, subgroups::SSBO
                        {
                                deUint32* ptr = reinterpret_cast<deUint32*>(alloc.getHostPtr());
 
-                               for (vk::VkDeviceSize k = 0; k < (size / 4); k++)
+                               for (vk::VkDeviceSize k = 0; k < (size / sizeof(deUint32)); k++)
                                {
                                        ptr[k] = rnd.getUint32();
                                }
@@ -1415,7 +1415,7 @@ void initializeMemory(Context& context, const Allocation& alloc, subgroups::SSBO
                        {
                                float* ptr = reinterpret_cast<float*>(alloc.getHostPtr());
 
-                               for (vk::VkDeviceSize k = 0; k < (size / 4); k++)
+                               for (vk::VkDeviceSize k = 0; k < (size / sizeof(float)); k++)
                                {
                                        ptr[k] = rnd.getFloat();
                                }
@@ -1428,7 +1428,7 @@ void initializeMemory(Context& context, const Allocation& alloc, subgroups::SSBO
                        {
                                double* ptr = reinterpret_cast<double*>(alloc.getHostPtr());
 
-                               for (vk::VkDeviceSize k = 0; k < (size / 4); k++)
+                               for (vk::VkDeviceSize k = 0; k < (size / sizeof(double)); k++)
                                {
                                        ptr[k] = rnd.getDouble();
                                }
old mode 100644 (file)
new mode 100755 (executable)
index 1e213be..6a768aa
@@ -696,7 +696,7 @@ void initPrograms(SourceCollections& programCollection, CaseDefinition caseDef)
        }
 }
 
-void supportedCheck (Context& context, const CaseDefinition& caseDef)
+void supportedCheck (Context& context, CaseDefinition caseDef)
 {
        if (!subgroups::isSubgroupSupported(context))
                TCU_THROW(NotSupportedError, "Subgroup operations are not supported");
@@ -715,8 +715,6 @@ void supportedCheck (Context& context, const CaseDefinition& caseDef)
 
 tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck (context, caseDef);
-
        if (!subgroups::areSubgroupOperationsSupportedForStage(
                                context, caseDef.shaderStage))
        {
@@ -756,8 +754,6 @@ tcu::TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
 
 tcu::TestStatus test(Context& context, const CaseDefinition caseDef)
 {
-       supportedCheck (context, caseDef);
-
        if (VK_SHADER_STAGE_COMPUTE_BIT == caseDef.shaderStage)
        {
                if (!subgroups::areSubgroupOperationsSupportedForStage(context, caseDef.shaderStage))
@@ -861,14 +857,14 @@ tcu::TestCaseGroup* createSubgroupsVoteTests(tcu::TestContext& testCtx)
                                const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_COMPUTE_BIT, format};
                                addFunctionCaseWithPrograms(group.get(),
                                                                                        op + "_" + subgroups::getFormatNameForGLSL(format) + "_" + getShaderStageName(caseDef.shaderStage),
-                                                                                       "", initPrograms, test, caseDef);
+                                                                                       "", supportedCheck, initPrograms, test, caseDef);
                        }
 
                        {
                                const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_ALL_GRAPHICS, format};
                                addFunctionCaseWithPrograms(group.get(),
                                                                                        op + "_" + subgroups::getFormatNameForGLSL(format) + "_graphic",
-                                                                                       "", initPrograms, test, caseDef);
+                                                                                       "", supportedCheck, initPrograms, test, caseDef);
                        }
 
                        for (int stageIndex = 0; stageIndex < DE_LENGTH_OF_ARRAY(stages); ++stageIndex)
@@ -878,7 +874,7 @@ tcu::TestCaseGroup* createSubgroupsVoteTests(tcu::TestContext& testCtx)
                                                        op + "_" +
                                                        subgroups::getFormatNameForGLSL(format)
                                                        + "_" + getShaderStageName(caseDef.shaderStage)+"_framebuffer", "",
-                                                       initFrameBufferPrograms, noSSBOtest, caseDef);
+                                                       supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
                        }
 
                        const CaseDefinition caseDef = {opTypeIndex, VK_SHADER_STAGE_FRAGMENT_BIT, format};
@@ -886,7 +882,7 @@ tcu::TestCaseGroup* createSubgroupsVoteTests(tcu::TestContext& testCtx)
                                                op + "_" +
                                                subgroups::getFormatNameForGLSL(format)
                                                + "_" + getShaderStageName(caseDef.shaderStage)+"_frag_helper", "",
-                                               initFrameBufferPrograms, noSSBOtest, caseDef);
+                                               supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
                }
        }
 
index c6f6fec..b49ada7 100644 (file)
@@ -301608,6 +301608,1806 @@ dEQP-VK.subgroups.clustered.subgroupclusteredxor_bvec4_vertex_framebuffer
 dEQP-VK.subgroups.clustered.subgroupclusteredxor_bvec4_tess_eval_framebuffer
 dEQP-VK.subgroups.clustered.subgroupclusteredxor_bvec4_tess_control_framebuffer
 dEQP-VK.subgroups.clustered.subgroupclusteredxor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_int_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_int_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_int_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_int_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_int_compute
+dEQP-VK.subgroups.partitioned.subgroupand_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupand_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_float_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_float_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_float_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_float_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_double_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_double_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_double_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_double_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupand_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_geometry_framebuffer
 dEQP-VK.subgroups.shuffle.subgroupshuffle_int_graphic
 dEQP-VK.subgroups.shuffle.subgroupshuffle_int_compute
 dEQP-VK.subgroups.shuffle.subgroupshuffle_int_vertex_framebuffer
index 7b52a00..31dd9d8 100644 (file)
@@ -301569,6 +301569,1806 @@ dEQP-VK.subgroups.clustered.subgroupclusteredxor_bvec4_vertex_framebuffer
 dEQP-VK.subgroups.clustered.subgroupclusteredxor_bvec4_tess_eval_framebuffer
 dEQP-VK.subgroups.clustered.subgroupclusteredxor_bvec4_tess_control_framebuffer
 dEQP-VK.subgroups.clustered.subgroupclusteredxor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_int_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_int_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_int_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_int_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_int_compute
+dEQP-VK.subgroups.partitioned.subgroupand_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_int_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_ivec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupand_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uint_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_uvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_float_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_float_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_float_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_float_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_float_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_vec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_double_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_double_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_double_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_double_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_double_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupadd_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmul_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmin_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupmax_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveadd_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemul_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemin_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivemax_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveadd_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemul_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemin_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivemax_dvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupand_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bool_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec2_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec3_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupand_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupxor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveand_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusiveor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupinclusivexor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveand_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusiveor_bvec4_geometry_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_compute
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_graphic
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_vertex_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_tess_eval_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_tess_control_framebuffer
+dEQP-VK.subgroups.partitioned.subgroupexclusivexor_bvec4_geometry_framebuffer
 dEQP-VK.subgroups.shuffle.subgroupshuffle_int_graphic
 dEQP-VK.subgroups.shuffle.subgroupshuffle_int_compute
 dEQP-VK.subgroups.shuffle.subgroupshuffle_int_vertex_framebuffer
old mode 100644 (file)
new mode 100755 (executable)
index 883c6cf..14e0444
@@ -3597,6 +3597,7 @@ typedef enum VkSubgroupFeatureFlagBits {
     VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
     VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
     VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
+    VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
     VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkSubgroupFeatureFlagBits;
 typedef VkFlags VkSubgroupFeatureFlags;
@@ -7583,6 +7584,10 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID(
     struct AHardwareBuffer**                    pBuffer);
 #endif
 
+#define VK_NV_shader_subgroup_partitioned 1
+#define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
+#define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
+
 #ifdef __cplusplus
 }
 #endif