Test SPV_CAPABILITY_AS_MASK macro
authorDavid Neto <dneto@google.com>
Thu, 1 Oct 2015 17:46:38 +0000 (13:46 -0400)
committerDavid Neto <dneto@google.com>
Mon, 26 Oct 2015 16:55:33 +0000 (12:55 -0400)
test/OpcodeRequiresCapabilities.cpp

index 1d0ed67..97fe118 100644 (file)
@@ -65,6 +65,15 @@ TEST(OpcodeRequiresCapability, None) {
   ASSERT_EQ(0, spvOpcodeRequiresCapabilities(&entry));
 }
 
+/// Test SPV_CAPBILITY_AS_MASK
+
+TEST(CapabilityAsMaskMacro, Sample) {
+  EXPECT_EQ(uint64_t(1), SPV_CAPABILITY_AS_MASK(spv::CapabilityMatrix));
+  EXPECT_EQ(uint64_t(0x10000), SPV_CAPABILITY_AS_MASK(spv::CapabilityImageSRGBWrite));
+  EXPECT_EQ(uint64_t(0x100000000ULL), SPV_CAPABILITY_AS_MASK(spv::CapabilityClipDistance));
+  EXPECT_EQ(uint64_t(1) << 53, SPV_CAPABILITY_AS_MASK(spv::CapabilityTransformFeedback));
+};
+
 /// Capabilities required by an Opcode.
 struct ExpectedOpCodeCapabilities {
   spv::Op opcode;