SPV: Update SPV header to official Rev. 10 of 1.0, and fix the consequences of doing so.
diff --git a/SPIRV/GLSL.ext.NV.h b/SPIRV/GLSL.ext.NV.h
index e93c9f7..c01858b 100644
--- a/SPIRV/GLSL.ext.NV.h
+++ b/SPIRV/GLSL.ext.NV.h
@@ -38,46 +38,17 @@
 //SPV_NV_sample_mask_override_coverage
 const char* const E_SPV_NV_sample_mask_override_coverage = "SPV_NV_sample_mask_override_coverage";
 
-static const Decoration DecorationOverrideCoverageNV = static_cast<Decoration>(5248);
-
-
 //SPV_NV_geometry_shader_passthrough
 const char* const E_SPV_NV_geometry_shader_passthrough = "SPV_NV_geometry_shader_passthrough";
 
-static const Decoration DecorationPassthroughNV = static_cast<Decoration>(5250);
-
-static const Capability CapabilityGeometryShaderPassthroughNV = static_cast<Capability>(5251);
-
-
 //SPV_NV_viewport_array2
 const char* const E_SPV_NV_viewport_array2 = "SPV_NV_viewport_array2";
 const char* const E_ARB_shader_viewport_layer_array = "SPV_ARB_shader_viewport_layer_array";
 
-static const Decoration DecorationViewportRelativeNV = static_cast<Decoration>(5252);
-
-static const BuiltIn BuiltInViewportMaskNV = static_cast<BuiltIn>(5253);
-
-static const Capability CapabilityShaderViewportIndexLayerNV = static_cast<Capability>(5254);
-static const Capability CapabilityShaderViewportMaskNV       = static_cast<Capability>(5255);
-
-
 //SPV_NV_stereo_view_rendering
 const char* const E_SPV_NV_stereo_view_rendering = "SPV_NV_stereo_view_rendering";
 
-static const Decoration DecorationSecondaryViewportRelativeNV = static_cast<Decoration>(5256);
-
-static const BuiltIn BuiltInSecondaryPositionNV = static_cast<BuiltIn>(5257);
-static const BuiltIn BuiltInSecondaryViewportMaskNV = static_cast<BuiltIn>(5258);
-
-static const Capability CapabilityShaderStereoViewNV = static_cast<Capability>(5259);
-
-
 //SPV_NVX_multiview_per_view_attributes
 const char* const E_SPV_NVX_multiview_per_view_attributes = "SPV_NVX_multiview_per_view_attributes";
 
-static const BuiltIn BuiltInPositionPerViewNV = static_cast<BuiltIn>(5260);
-static const BuiltIn BuiltInViewportMaskPerViewNV = static_cast<BuiltIn>(5261);
-
-static const Capability CapabilityPerViewAttributesNV = static_cast<Capability>(5262);
-
 #endif  // #ifndef GLSLextNV_H
\ No newline at end of file
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index a7b0f05..ff23598 100755
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -631,12 +631,12 @@
     case glslang::EbvDeviceIndex:
         builder.addExtension(spv::E_SPV_KHR_device_group);
         builder.addCapability(spv::CapabilityDeviceGroup);
-        return spv::BuiltinDeviceIndex;
+        return spv::BuiltInDeviceIndex;
 
     case glslang::EbvViewIndex:
         builder.addExtension(spv::E_SPV_KHR_multiview);
         builder.addCapability(spv::CapabilityMultiView);
-        return spv::BuiltinViewIndex;
+        return spv::BuiltInViewIndex;
 
 #ifdef NV_EXTENSIONS
     case glslang::EbvViewportMaskNV:
diff --git a/SPIRV/doc.cpp b/SPIRV/doc.cpp
index 52af6a7..a99522b 100755
--- a/SPIRV/doc.cpp
+++ b/SPIRV/doc.cpp
@@ -344,8 +344,8 @@
     case 5253: return "ViewportMaskNV";
     case 5257: return "SecondaryPositionNV";
     case 5258: return "SecondaryViewportMaskNV";
-    case 5260: return "PositionPerViewNV";
-    case 5261: return "ViewportMaskPerViewNV";
+    case 5261: return "PositionPerViewNV";
+    case 5262: return "ViewportMaskPerViewNV";
 #endif
 
     case BuiltInCeiling:
@@ -838,7 +838,7 @@
     case 5254: return "ShaderViewportIndexLayerNV";
     case 5255: return "ShaderViewportMaskNV";
     case 5259: return "ShaderStereoViewNV";
-    case 5262: return "PerViewAttributesNV";
+    case 5260: return "PerViewAttributesNV";
 #endif
 
     case CapabilityCeiling:
diff --git a/SPIRV/spirv.hpp b/SPIRV/spirv.hpp
index 6bfd014..5580c40 100755
--- a/SPIRV/spirv.hpp
+++ b/SPIRV/spirv.hpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2016 The Khronos Group Inc.
+// Copyright (c) 2014-2017 The Khronos Group Inc.
 // 
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and/or associated documentation files (the "Materials"),
@@ -47,11 +47,11 @@
 typedef unsigned int Id;
 
 #define SPV_VERSION 0x10000
-#define SPV_REVISION 8
+#define SPV_REVISION 10
 
 static const unsigned int MagicNumber = 0x07230203;
 static const unsigned int Version = 0x00010000;
-static const unsigned int Revision = 8;
+static const unsigned int Revision = 10;
 static const unsigned int OpCodeMask = 0xffff;
 static const unsigned int WordCountShift = 16;
 
@@ -61,7 +61,6 @@
     SourceLanguageGLSL = 2,
     SourceLanguageOpenCL_C = 3,
     SourceLanguageOpenCL_CPP = 4,
-    SourceLanguageHLSL = 5,
     SourceLanguageMax = 0x7fffffff,
 };
 
@@ -375,6 +374,10 @@
     DecorationNoContraction = 42,
     DecorationInputAttachmentIndex = 43,
     DecorationAlignment = 44,
+    DecorationOverrideCoverageNV = 5248,
+    DecorationPassthroughNV = 5250,
+    DecorationViewportRelativeNV = 5252,
+    DecorationSecondaryViewportRelativeNV = 5256,
     DecorationMax = 0x7fffffff,
 };
 
@@ -428,8 +431,13 @@
     BuiltInBaseVertex = 4424,
     BuiltInBaseInstance = 4425,
     BuiltInDrawIndex = 4426,
-    BuiltinDeviceIndex = 4438,
-    BuiltinViewIndex = 4440,
+    BuiltInDeviceIndex = 4438,
+    BuiltInViewIndex = 4440,
+    BuiltInViewportMaskNV = 5253,
+    BuiltInSecondaryPositionNV = 5257,
+    BuiltInSecondaryViewportMaskNV = 5258,
+    BuiltInPositionPerViewNV = 5261,
+    BuiltInViewportMaskPerViewNV = 5262,
     BuiltInMax = 0x7fffffff,
 };
 
@@ -608,8 +616,18 @@
     CapabilitySubgroupBallotKHR = 4423,
     CapabilityDrawParameters = 4427,
     CapabilitySubgroupVoteKHR = 4431,
+    CapabilityStorageUniformBufferBlock16 = 4433,
+    CapabilityStorageUniform16 = 4434,
+    CapabilityStoragePushConstant16 = 4435,
+    CapabilityStorageInputOutput16 = 4436,
     CapabilityDeviceGroup = 4437,
     CapabilityMultiView = 4439,
+    CapabilitySampleMaskOverrideCoverageNV = 5249,
+    CapabilityGeometryShaderPassthroughNV = 5251,
+    CapabilityShaderViewportIndexLayerNV = 5254,
+    CapabilityShaderViewportMaskNV = 5255,
+    CapabilityShaderStereoViewNV = 5259,
+    CapabilityPerViewAttributesNV = 5260,
     CapabilityMax = 0x7fffffff,
 };
 
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index 0d3292b..76c6c5a 100644
--- a/glslang/Include/revision.h
+++ b/glslang/Include/revision.h
@@ -2,5 +2,5 @@
 // For the version, it uses the latest git tag followed by the number of commits.
 // For the date, it uses the current date (when then script is run).
 
-#define GLSLANG_REVISION "Overload400-PrecQual.1853"
+#define GLSLANG_REVISION "Overload400-PrecQual.1854"
 #define GLSLANG_DATE "27-Feb-2017"