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