Add MultiViewport capability, new in 1.0.3

Fix typos in previous tests with MultiViewport.
diff --git a/source/operand.cpp b/source/operand.cpp
index 00ea7d1..7a2c075 100644
--- a/source/operand.cpp
+++ b/source/operand.cpp
@@ -1002,6 +1002,7 @@
     CASE_CAP(GeometryStreams, Geometry),
     CASE_CAP(StorageImageReadWithoutFormat, Shader),
     CASE_CAP(StorageImageWriteWithoutFormat, Shader),
+    CASE_CAP(MultiViewport, Geometry),
 };
 // clang-format on
 #undef CASE
diff --git a/source/spirv_definition.h b/source/spirv_definition.h
index d7424dc..65d2d54 100644
--- a/source/spirv_definition.h
+++ b/source/spirv_definition.h
@@ -46,7 +46,7 @@
 // Min/max capability IDs.
 enum {
   kCapabilitiesMinValue = SpvCapabilityMatrix,
-  kCapabilitiesMaxValue = SpvCapabilityStorageImageWriteWithoutFormat
+  kCapabilitiesMaxValue = SpvCapabilityMultiViewport
 };
 
 // Applies f to every capability present in a mask.
diff --git a/test/OperandCapabilities.cpp b/test/OperandCapabilities.cpp
index 428552e..22fbad7 100644
--- a/test/OperandCapabilities.cpp
+++ b/test/OperandCapabilities.cpp
@@ -613,6 +613,7 @@
         CASE1(CAPABILITY, CapabilityGeometryStreams, Geometry),
         CASE1(CAPABILITY, CapabilityStorageImageReadWithoutFormat, Shader),
         CASE1(CAPABILITY, CapabilityStorageImageWriteWithoutFormat, Shader),
+        CASE1(CAPABILITY, CapabilityMultiViewport, Geometry),
     }));
 
 #undef CASE0
diff --git a/test/Validate.Capability.cpp b/test/Validate.Capability.cpp
index 512d0d7..fe7b61a 100644
--- a/test/Validate.Capability.cpp
+++ b/test/Validate.Capability.cpp
@@ -124,7 +124,8 @@
     "TransformFeedback",
     "GeometryStreams",
     "StorageImageReadWithoutFormat",
-    "StorageImageWriteWithoutFormat"};
+    "StorageImageWriteWithoutFormat",
+    "MultiViewport"};
   return *r;
 }
 
@@ -165,7 +166,8 @@
   "TransformFeedback",
   "GeometryStreams",
   "StorageImageReadWithoutFormat",
-  "StorageImageWriteWithoutFormat"};
+  "StorageImageWriteWithoutFormat",
+  "MultiViewport"};
   return *r;
 }
 
@@ -205,7 +207,8 @@
   "TransformFeedback",
   "GeometryStreams",
   "StorageImageReadWithoutFormat",
-  "StorageImageWriteWithoutFormat"};
+  "StorageImageWriteWithoutFormat",
+  "MultiViewport"};
   return *r;
 }
 
@@ -221,7 +224,7 @@
   "Geometry",
   "GeometryPointSize",
   "GeometryStreams",
-  "MultiviewPort"};
+  "MultiViewport"};
   return *r;
 }
 
@@ -231,7 +234,8 @@
   "TessellationPointSize",
   "Geometry",
   "GeometryPointSize",
-  "GeometryStreams"};
+  "GeometryStreams",
+  "MultiViewport"};
   return *r;
 }
 
@@ -508,7 +512,7 @@
 make_pair("OpDecorate %intt BuiltIn PrimitiveId\n",               GeometryTessellationDependencies()),
 make_pair("OpDecorate %intt BuiltIn InvocationId\n",              GeometryTessellationDependencies()),
 make_pair("OpDecorate %intt BuiltIn Layer\n",                     GeometryDependencies()),
-make_pair("OpDecorate %intt BuiltIn ViewportIndex\n",             vector<string>{"MultiviewPort"}),
+make_pair("OpDecorate %intt BuiltIn ViewportIndex\n",             vector<string>{"MultiViewport"}),
 make_pair("OpDecorate %intt BuiltIn TessLevelOuter\n",            TessellationDependencies()),
 make_pair("OpDecorate %intt BuiltIn TessLevelInner\n",            TessellationDependencies()),
 make_pair("OpDecorate %intt BuiltIn TessCoord\n",                 TessellationDependencies()),
@@ -635,7 +639,7 @@
   }
 
   CompileSuccessfully(ss.str());
-  ASSERT_EQ(res, ValidateInstructions());
+  ASSERT_EQ(res, ValidateInstructions()) << ss.str();
 }
 
 }  // namespace anonymous