Add MultiViewport capability, new in 1.0.3
authorDavid Neto <dneto@google.com>
Wed, 17 Feb 2016 17:12:45 +0000 (12:12 -0500)
committerDavid Neto <dneto@google.com>
Wed, 17 Feb 2016 20:29:05 +0000 (15:29 -0500)
Fix typos in previous tests with MultiViewport.

source/operand.cpp
source/spirv_definition.h
test/OperandCapabilities.cpp
test/Validate.Capability.cpp

index 00ea7d1..7a2c075 100644 (file)
@@ -1002,6 +1002,7 @@ static const spv_operand_desc_t capabilityInfoEntries[] = {
     CASE_CAP(GeometryStreams, Geometry),
     CASE_CAP(StorageImageReadWithoutFormat, Shader),
     CASE_CAP(StorageImageWriteWithoutFormat, Shader),
+    CASE_CAP(MultiViewport, Geometry),
 };
 // clang-format on
 #undef CASE
index d7424dc..65d2d54 100644 (file)
@@ -46,7 +46,7 @@ typedef uint64_t spv_capability_mask_t;
 // Min/max capability IDs.
 enum {
   kCapabilitiesMinValue = SpvCapabilityMatrix,
-  kCapabilitiesMaxValue = SpvCapabilityStorageImageWriteWithoutFormat
+  kCapabilitiesMaxValue = SpvCapabilityMultiViewport
 };
 
 // Applies f to every capability present in a mask.
index 428552e..22fbad7 100644 (file)
@@ -613,6 +613,7 @@ INSTANTIATE_TEST_CASE_P(
         CASE1(CAPABILITY, CapabilityGeometryStreams, Geometry),
         CASE1(CAPABILITY, CapabilityStorageImageReadWithoutFormat, Shader),
         CASE1(CAPABILITY, CapabilityStorageImageWriteWithoutFormat, Shader),
+        CASE1(CAPABILITY, CapabilityMultiViewport, Geometry),
     }));
 
 #undef CASE0
index 512d0d7..fe7b61a 100644 (file)
@@ -124,7 +124,8 @@ const vector<string>& AllCapabilities() {
     "TransformFeedback",
     "GeometryStreams",
     "StorageImageReadWithoutFormat",
-    "StorageImageWriteWithoutFormat"};
+    "StorageImageWriteWithoutFormat",
+    "MultiViewport"};
   return *r;
 }
 
@@ -165,7 +166,8 @@ const vector<string>& MatrixDependencies() {
   "TransformFeedback",
   "GeometryStreams",
   "StorageImageReadWithoutFormat",
-  "StorageImageWriteWithoutFormat"};
+  "StorageImageWriteWithoutFormat",
+  "MultiViewport"};
   return *r;
 }
 
@@ -205,7 +207,8 @@ const vector<string>& ShaderDependencies() {
   "TransformFeedback",
   "GeometryStreams",
   "StorageImageReadWithoutFormat",
-  "StorageImageWriteWithoutFormat"};
+  "StorageImageWriteWithoutFormat",
+  "MultiViewport"};
   return *r;
 }
 
@@ -221,7 +224,7 @@ const vector<string>& GeometryDependencies() {
   "Geometry",
   "GeometryPointSize",
   "GeometryStreams",
-  "MultiviewPort"};
+  "MultiViewport"};
   return *r;
 }
 
@@ -231,7 +234,8 @@ const vector<string>& GeometryTessellationDependencies() {
   "TessellationPointSize",
   "Geometry",
   "GeometryPointSize",
-  "GeometryStreams"};
+  "GeometryStreams",
+  "MultiViewport"};
   return *r;
 }
 
@@ -508,7 +512,7 @@ make_pair("OpDecorate %intt BuiltIn InstanceId\n",                ShaderDependen
 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 @@ TEST_P(ValidateCapability, Capability) {
   }
 
   CompileSuccessfully(ss.str());
-  ASSERT_EQ(res, ValidateInstructions());
+  ASSERT_EQ(res, ValidateInstructions()) << ss.str();
 }
 
 }  // namespace anonymous