diff --git a/glslang/Include/Common.h b/glslang/Include/Common.h
index 5fe0f270552c6127394a796922843f60f8a49055..35eaa31048e84ed00bfbe780edcbe60e21648ada 100644
--- a/glslang/Include/Common.h
+++ b/glslang/Include/Common.h
@@ -67,19 +67,19 @@ std::string to_string(const T& val) {
 #endif
 
 #if defined(_MSC_VER) && _MSC_VER < 1800
-	#include <stdlib.h>
-	inline long long int strtoll (const char* str, char** endptr, int base)
-	{
-	  return _strtoi64(str, endptr, base);
-	}
-	inline unsigned long long int strtoull (const char* str, char** endptr, int base)
-	{
-	  return _strtoui64(str, endptr, base);
-	}
-	inline long long int atoll (const char* str)
-	{
-	  return strtoll(str, NULL, 10);
-	}
+    #include <stdlib.h>
+    inline long long int strtoll (const char* str, char** endptr, int base)
+    {
+        return _strtoi64(str, endptr, base);
+    }
+    inline unsigned long long int strtoull (const char* str, char** endptr, int base)
+    {
+        return _strtoui64(str, endptr, base);
+    }
+    inline long long int atoll (const char* str)
+    {
+        return strtoll(str, NULL, 10);
+    }
 #endif
 
 #if defined(_MSC_VER)
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index e9f9b0f1f0ac28110384142e7c47638b205a1601..ea5e30cb8e49d5f9e15b90bbe47bdf915c58c04f 100644
--- a/glslang/Include/revision.h
+++ b/glslang/Include/revision.h
@@ -1,3 +1,3 @@
 // This header is generated by the make-revision script.
 
-#define GLSLANG_PATCH_LEVEL 2689
+#define GLSLANG_PATCH_LEVEL 2691
diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp
index 56919ff245cfff21cbcccd0d9cc656a5d5fdb07d..51b643085392fe266e022882bb2024cec6897f78 100755
--- a/glslang/MachineIndependent/Versions.cpp
+++ b/glslang/MachineIndependent/Versions.cpp
@@ -892,12 +892,12 @@ void TParseVersions::explicitInt16Check(const TSourceLoc& loc, const char* op, b
 {
     if (! builtIn) {
 #if AMD_EXTENSIONS
-	const char* const extensions[3] = {E_GL_AMD_gpu_shader_int16,
-                                           E_GL_KHX_shader_explicit_arithmetic_types,
-                                           E_GL_KHX_shader_explicit_arithmetic_types_int16};
+        const char* const extensions[3] = {E_GL_AMD_gpu_shader_int16,
+                                            E_GL_KHX_shader_explicit_arithmetic_types,
+                                            E_GL_KHX_shader_explicit_arithmetic_types_int16};
 #else
         const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
-                                           E_GL_KHX_shader_explicit_arithmetic_types_int16};
+                                            E_GL_KHX_shader_explicit_arithmetic_types_int16};
 #endif
         requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, "explicit types");
         requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y
index 6e4592282be55ffdb5ab9515e8503e535715d8c5..e65483a82e391c8f7c80634880d50527c2cb28f5 100644
--- a/glslang/MachineIndependent/glslang.y
+++ b/glslang/MachineIndependent/glslang.y
@@ -1538,40 +1538,40 @@ type_specifier_nonarray
         $$.setVector(4);
     }
     | F32VEC2 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setVector(2);
+        parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setVector(2);
     }
     | F32VEC3 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setVector(3);
+        parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setVector(3);
     }
     | F32VEC4 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setVector(4);
+        parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setVector(4);
     }
     | F64VEC2 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setVector(2);
+        parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setVector(2);
     }
     | F64VEC3 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setVector(3);
+        parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setVector(3);
     }
     | F64VEC4 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setVector(4);
+        parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setVector(4);
     }
     | BVEC2 {
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
@@ -1604,40 +1604,40 @@ type_specifier_nonarray
         $$.setVector(4);
     }
     | I8VEC2 {
- 	   parseContext.explicitInt8Check($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- 	   $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
- 	   $$.basicType = EbtInt8;
- 	   $$.setVector(2);
+       parseContext.explicitInt8Check($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+       $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+       $$.basicType = EbtInt8;
+       $$.setVector(2);
     }
     | I8VEC3 {
- 	   parseContext.explicitInt8Check($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- 	   $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
- 	   $$.basicType = EbtInt8;
- 	   $$.setVector(3);
+       parseContext.explicitInt8Check($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+       $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+       $$.basicType = EbtInt8;
+       $$.setVector(3);
     }
     | I8VEC4 {
- 	   parseContext.explicitInt8Check($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- 	   $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
- 	   $$.basicType = EbtInt8;
- 	   $$.setVector(4);
+       parseContext.explicitInt8Check($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+       $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+       $$.basicType = EbtInt8;
+       $$.setVector(4);
     }
     | I16VEC2 {
- 	   parseContext.explicitInt16Check($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- 	   $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
- 	   $$.basicType = EbtInt16;
- 	   $$.setVector(2);
+       parseContext.explicitInt16Check($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+       $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+       $$.basicType = EbtInt16;
+       $$.setVector(2);
     }
     | I16VEC3 {
- 	   parseContext.explicitInt16Check($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- 	   $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
- 	   $$.basicType = EbtInt16;
- 	   $$.setVector(3);
+       parseContext.explicitInt16Check($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+       $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+       $$.basicType = EbtInt16;
+       $$.setVector(3);
     }
     | I16VEC4 {
- 	   parseContext.explicitInt16Check($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- 	   $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
- 	   $$.basicType = EbtInt16;
- 	   $$.setVector(4);
+       parseContext.explicitInt16Check($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+       $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+       $$.basicType = EbtInt16;
+       $$.setVector(4);
     }
     | I32VEC2 {
         parseContext.explicitInt32Check($1.loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
@@ -1970,148 +1970,148 @@ type_specifier_nonarray
         $$.setMatrix(4, 4);
     }
     | F32MAT2 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setMatrix(2, 2);
+        parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setMatrix(2, 2);
     }
     | F32MAT3 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setMatrix(3, 3);
+        parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setMatrix(3, 3);
     }
     | F32MAT4 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setMatrix(4, 4);
+        parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setMatrix(4, 4);
     }
     | F32MAT2X2 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setMatrix(2, 2);
+        parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setMatrix(2, 2);
     }
     | F32MAT2X3 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setMatrix(2, 3);
+        parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setMatrix(2, 3);
     }
     | F32MAT2X4 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setMatrix(2, 4);
+        parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setMatrix(2, 4);
     }
     | F32MAT3X2 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setMatrix(3, 2);
+        parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setMatrix(3, 2);
     }
     | F32MAT3X3 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setMatrix(3, 3);
+        parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setMatrix(3, 3);
     }
     | F32MAT3X4 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setMatrix(3, 4);
+        parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setMatrix(3, 4);
     }
     | F32MAT4X2 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setMatrix(4, 2);
+        parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setMatrix(4, 2);
     }
     | F32MAT4X3 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setMatrix(4, 3);
+        parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setMatrix(4, 3);
     }
     | F32MAT4X4 {
-    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtFloat;
-    	$$.setMatrix(4, 4);
+        parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+        $$.setMatrix(4, 4);
     }
     | F64MAT2 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setMatrix(2, 2);
+        parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setMatrix(2, 2);
     }
     | F64MAT3 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setMatrix(3, 3);
+        parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setMatrix(3, 3);
     }
     | F64MAT4 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setMatrix(4, 4);
+        parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setMatrix(4, 4);
     }
     | F64MAT2X2 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setMatrix(2, 2);
+        parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setMatrix(2, 2);
     }
     | F64MAT2X3 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setMatrix(2, 3);
+        parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setMatrix(2, 3);
     }
     | F64MAT2X4 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setMatrix(2, 4);
+        parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setMatrix(2, 4);
     }
     | F64MAT3X2 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setMatrix(3, 2);
+        parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setMatrix(3, 2);
     }
     | F64MAT3X3 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setMatrix(3, 3);
+        parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setMatrix(3, 3);
     }
     | F64MAT3X4 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setMatrix(3, 4);
+        parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setMatrix(3, 4);
     }
     | F64MAT4X2 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setMatrix(4, 2);
+        parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setMatrix(4, 2);
     }
     | F64MAT4X3 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setMatrix(4, 3);
+        parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setMatrix(4, 3);
     }
     | F64MAT4X4 {
-    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-    	$$.basicType = EbtDouble;
-    	$$.setMatrix(4, 4);
+        parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
+        $$.setMatrix(4, 4);
     }
     | ATOMIC_UINT {
         parseContext.vulkanRemoved($1.loc, "atomic counter types");
diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp
index 93115bb4df56f9bb9241554eba5e756686d4dfbf..38672d67d3aaa9b036f8c3ae770ba251187b131f 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp
+++ b/glslang/MachineIndependent/glslang_tab.cpp
@@ -6102,10 +6102,10 @@ yyreduce:
   case 206:
 #line 1540 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setVector(2);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(2);
     }
 #line 6111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6113,10 +6113,10 @@ yyreduce:
   case 207:
 #line 1546 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setVector(3);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(3);
     }
 #line 6122 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6124,10 +6124,10 @@ yyreduce:
   case 208:
 #line 1552 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setVector(4);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(4);
     }
 #line 6133 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6135,10 +6135,10 @@ yyreduce:
   case 209:
 #line 1558 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setVector(2);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setVector(2);
     }
 #line 6144 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6146,10 +6146,10 @@ yyreduce:
   case 210:
 #line 1564 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setVector(3);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setVector(3);
     }
 #line 6155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6157,10 +6157,10 @@ yyreduce:
   case 211:
 #line 1570 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setVector(4);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setVector(4);
     }
 #line 6166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6228,10 +6228,10 @@ yyreduce:
   case 218:
 #line 1606 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
- 	   parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- 	   (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
- 	   (yyval.interm.type).basicType = EbtInt8;
- 	   (yyval.interm.type).setVector(2);
+       parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+       (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+       (yyval.interm.type).basicType = EbtInt8;
+       (yyval.interm.type).setVector(2);
     }
 #line 6237 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6239,10 +6239,10 @@ yyreduce:
   case 219:
 #line 1612 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
- 	   parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- 	   (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
- 	   (yyval.interm.type).basicType = EbtInt8;
- 	   (yyval.interm.type).setVector(3);
+       parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+       (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+       (yyval.interm.type).basicType = EbtInt8;
+       (yyval.interm.type).setVector(3);
     }
 #line 6248 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6250,10 +6250,10 @@ yyreduce:
   case 220:
 #line 1618 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
- 	   parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- 	   (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
- 	   (yyval.interm.type).basicType = EbtInt8;
- 	   (yyval.interm.type).setVector(4);
+       parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+       (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+       (yyval.interm.type).basicType = EbtInt8;
+       (yyval.interm.type).setVector(4);
     }
 #line 6259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6261,10 +6261,10 @@ yyreduce:
   case 221:
 #line 1624 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
- 	   parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- 	   (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
- 	   (yyval.interm.type).basicType = EbtInt16;
- 	   (yyval.interm.type).setVector(2);
+       parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+       (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+       (yyval.interm.type).basicType = EbtInt16;
+       (yyval.interm.type).setVector(2);
     }
 #line 6270 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6272,10 +6272,10 @@ yyreduce:
   case 222:
 #line 1630 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
- 	   parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- 	   (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
- 	   (yyval.interm.type).basicType = EbtInt16;
- 	   (yyval.interm.type).setVector(3);
+       parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+       (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+       (yyval.interm.type).basicType = EbtInt16;
+       (yyval.interm.type).setVector(3);
     }
 #line 6281 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6283,10 +6283,10 @@ yyreduce:
   case 223:
 #line 1636 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
- 	   parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- 	   (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
- 	   (yyval.interm.type).basicType = EbtInt16;
- 	   (yyval.interm.type).setVector(4);
+       parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+       (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+       (yyval.interm.type).basicType = EbtInt16;
+       (yyval.interm.type).setVector(4);
     }
 #line 6292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6909,10 +6909,10 @@ yyreduce:
   case 281:
 #line 1972 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setMatrix(2, 2);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 2);
     }
 #line 6918 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6920,10 +6920,10 @@ yyreduce:
   case 282:
 #line 1978 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setMatrix(3, 3);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(3, 3);
     }
 #line 6929 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6931,10 +6931,10 @@ yyreduce:
   case 283:
 #line 1984 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setMatrix(4, 4);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(4, 4);
     }
 #line 6940 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6942,10 +6942,10 @@ yyreduce:
   case 284:
 #line 1990 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setMatrix(2, 2);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 2);
     }
 #line 6951 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6953,10 +6953,10 @@ yyreduce:
   case 285:
 #line 1996 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setMatrix(2, 3);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 3);
     }
 #line 6962 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6964,10 +6964,10 @@ yyreduce:
   case 286:
 #line 2002 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setMatrix(2, 4);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 4);
     }
 #line 6973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6975,10 +6975,10 @@ yyreduce:
   case 287:
 #line 2008 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setMatrix(3, 2);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(3, 2);
     }
 #line 6984 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6986,10 +6986,10 @@ yyreduce:
   case 288:
 #line 2014 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setMatrix(3, 3);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(3, 3);
     }
 #line 6995 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -6997,10 +6997,10 @@ yyreduce:
   case 289:
 #line 2020 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setMatrix(3, 4);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(3, 4);
     }
 #line 7006 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7008,10 +7008,10 @@ yyreduce:
   case 290:
 #line 2026 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setMatrix(4, 2);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(4, 2);
     }
 #line 7017 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7019,10 +7019,10 @@ yyreduce:
   case 291:
 #line 2032 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setMatrix(4, 3);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(4, 3);
     }
 #line 7028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7030,10 +7030,10 @@ yyreduce:
   case 292:
 #line 2038 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtFloat;
-    	(yyval.interm.type).setMatrix(4, 4);
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(4, 4);
     }
 #line 7039 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7041,10 +7041,10 @@ yyreduce:
   case 293:
 #line 2044 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setMatrix(2, 2);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(2, 2);
     }
 #line 7050 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7052,10 +7052,10 @@ yyreduce:
   case 294:
 #line 2050 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setMatrix(3, 3);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(3, 3);
     }
 #line 7061 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7063,10 +7063,10 @@ yyreduce:
   case 295:
 #line 2056 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setMatrix(4, 4);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(4, 4);
     }
 #line 7072 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7074,10 +7074,10 @@ yyreduce:
   case 296:
 #line 2062 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setMatrix(2, 2);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(2, 2);
     }
 #line 7083 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7085,10 +7085,10 @@ yyreduce:
   case 297:
 #line 2068 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setMatrix(2, 3);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(2, 3);
     }
 #line 7094 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7096,10 +7096,10 @@ yyreduce:
   case 298:
 #line 2074 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setMatrix(2, 4);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(2, 4);
     }
 #line 7105 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7107,10 +7107,10 @@ yyreduce:
   case 299:
 #line 2080 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setMatrix(3, 2);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(3, 2);
     }
 #line 7116 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7118,10 +7118,10 @@ yyreduce:
   case 300:
 #line 2086 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setMatrix(3, 3);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(3, 3);
     }
 #line 7127 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7129,10 +7129,10 @@ yyreduce:
   case 301:
 #line 2092 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setMatrix(3, 4);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(3, 4);
     }
 #line 7138 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7140,10 +7140,10 @@ yyreduce:
   case 302:
 #line 2098 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setMatrix(4, 2);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(4, 2);
     }
 #line 7149 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7151,10 +7151,10 @@ yyreduce:
   case 303:
 #line 2104 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setMatrix(4, 3);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(4, 3);
     }
 #line 7160 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -7162,10 +7162,10 @@ yyreduce:
   case 304:
 #line 2110 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
-    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-    	(yyval.interm.type).basicType = EbtDouble;
-    	(yyval.interm.type).setMatrix(4, 4);
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(4, 4);
     }
 #line 7171 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h
index 529e42f2b99f4837d5fd0f422cfd3eaf5da35dee..911fc310cee25391d9cea95777eea76aff0ebc61 100644
--- a/glslang/Public/ShaderLang.h
+++ b/glslang/Public/ShaderLang.h
@@ -671,7 +671,7 @@ public:
     int getUniformBlockSize(int blockIndex) const;         // can be used for glGetActiveUniformBlockiv(UNIFORM_BLOCK_DATA_SIZE)
     int getUniformIndex(const char* name) const;           // can be used for glGetUniformIndices()
     int getUniformBinding(int index) const;                // returns the binding number
-	int getUniformBlockBinding(int index) const;           // returns the block binding number
+    int getUniformBlockBinding(int index) const;           // returns the block binding number
     int getUniformBlockIndex(int index) const;             // can be used for glGetActiveUniformsiv(GL_UNIFORM_BLOCK_INDEX)
     int getUniformBlockCounterIndex(int index) const;      // returns block index of associated counter.
     int getUniformType(int index) const;                   // can be used for glGetActiveUniformsiv(GL_UNIFORM_TYPE)
diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp
index c3090e51f97ef565e8a862f0beb38cbb5227032b..4783687919f13127342bee693afc5ff5025e9a3c 100755
--- a/hlsl/hlslParseHelper.cpp
+++ b/hlsl/hlslParseHelper.cpp
@@ -8629,7 +8629,7 @@ void HlslParseContext::declareBlock(const TSourceLoc& loc, TType& type, const TS
         return;
     }
 
-	// Save it in the AST for linker use.
+    // Save it in the AST for linker use.
     if (symbolTable.atGlobalLevel())
         trackLinkage(variable);
 }