Test SPV_KHR_subgroup_vote support in assembler, disassembler
authorDavid Neto <dneto@google.com>
Thu, 26 Jan 2017 23:26:20 +0000 (18:26 -0500)
committerDavid Neto <dneto@google.com>
Wed, 8 Mar 2017 22:11:22 +0000 (17:11 -0500)
test/text_to_binary.extension_test.cpp

index 44c9b1b..1813318 100644 (file)
@@ -168,4 +168,24 @@ INSTANTIATE_TEST_CASE_P(
                              {1, SpvDecorationBuiltIn, SpvBuiltInDrawIndex})},
         })), );
 
+// SPV_KHR_subgroup_vote
+
+INSTANTIATE_TEST_CASE_P(
+    SPV_KHR_subgroup_vote, ExtensionRoundTripTest,
+    // We'll get coverage over operand tables by trying the universal
+    // environments, and at least one specific environment.
+    Combine(
+        Values(SPV_ENV_UNIVERSAL_1_0, SPV_ENV_UNIVERSAL_1_1,
+               SPV_ENV_VULKAN_1_0),
+        ValuesIn(std::vector<AssemblyCase>{
+            {"OpCapability SubgroupVoteKHR\n",
+             MakeInstruction(SpvOpCapability, {SpvCapabilitySubgroupVoteKHR})},
+            {"%2 = OpSubgroupAnyKHR %1 %3\n",
+             MakeInstruction(SpvOpSubgroupAnyKHR, {1, 2, 3})},
+            {"%2 = OpSubgroupAllKHR %1 %3\n",
+             MakeInstruction(SpvOpSubgroupAllKHR, {1, 2, 3})},
+            {"%2 = OpSubgroupAllEqualKHR %1 %3\n",
+             MakeInstruction(SpvOpSubgroupAllEqualKHR, {1, 2, 3})},
+        })), );
+
 }  // anonymous namespace